python常见错误及基本技巧
生活随笔
收集整理的這篇文章主要介紹了
python常见错误及基本技巧
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.2 Python Hello World
1.2.1 執(zhí)行 python 三種方式
1.2.1.1 文本模式
Python 代碼 保存在文件 中,解釋器對文件逐行解釋執(zhí)行,在終端中輸入解釋器名,
再輸入要執(zhí)行的文件名:
# 使用 python 2.x 以文本模式執(zhí)行 python 程序
$ python xxx.py
1.2.1.2 交互模式
直接在終端中運行解釋器,而不輸入要執(zhí)行的文件名。在 Python 交互模式 中 邊輸
入邊執(zhí)行 Python 代碼,會立即看到程序執(zhí)行結(jié)果。
然而交互模式適合于學(xué)習(xí)/驗證 Python 語法或者局部代碼,但是代碼不能保存,不
太適合運行太大的程序。
當(dāng)我們想要退出交互模式,可以輸出”exit()”.或者使用熱鍵”ctrl+d”來退出交互模
式。
如果我們使用交互模式 編程 python 程序,除了使用默認的 python shell 之外呢?我
們還可以使用一個功能更強大的交互式 shell,叫 IPython ,“I”代表 interactive 交互的
意思。
IPython 支持自動補全,自動縮進,支持 linux 命令,內(nèi)置了許多很有用的功能和函數(shù)。
Python 2.x 使用的解釋器是 ipython
Python 3.x 使用的解釋器是 ipython3
IPython 的安裝: sudo apt install ipython
1.2.1.1 Python IDE(繼承開發(fā)環(huán)境) - PyCharm
什么叫集成開發(fā)環(huán)境呢?
集成開發(fā)環(huán)境(IDE,Integrated Development Environment)—— 集成了開發(fā)軟
件需要的所有工具,一般包括以下工具:
? 圖形用戶界面;
? 代碼編輯器(支持 代碼補全/自動縮進);
? 編譯器/解釋器;
? 調(diào)試器(斷點/單步執(zhí)行)
? 其他... 1.2.2 Pycharm 簡單介紹
1.2.2.1 簡單介紹
PyCharm 是 Python 的一款非常優(yōu)秀的集成開發(fā)環(huán)境,PyCharm 除了具有一般
IDE 所必備功能外,還可以在 Windows、Linux、macOS 下使用。
PyCharm 適合開發(fā)大型項目,一個項目通常會包含 很多源文件,每個源文件的代碼
行數(shù)是有限的,通常在幾百行之內(nèi),每個源文件各司其職,共同完成復(fù)雜的業(yè)務(wù)功能。
1.2.2.2 快速體驗
文件導(dǎo)航區(qū)域 能夠 瀏覽/定位/打開 項目文件。
文件編輯區(qū)域 能夠 編輯 當(dāng)前打開的文件。
控制臺區(qū)域 能夠:輸出程序執(zhí)行內(nèi)容,跟蹤調(diào)試代碼的執(zhí)行。
1.2.3 Hello World 程序
1.2.3.1 Python 源程序的基本概念
Python 源程序就是一個特殊格式的文本文件,可以使用任意文本編輯軟件做 Python
的開發(fā)。
Python 程序的 文件擴展名 通常都是 .py。
1.2.3.2 演練步驟
1. 在 pycharm 中創(chuàng)建 01-HelloPython 項目
2. 在項目中創(chuàng)建 01-HelloPython.py 文件
3. 在 01-HelloPython 中輸入 python 代碼
4. 點擊執(zhí)行
1.2.4 演練擴展
1.2.4.1 關(guān)于 BUG
bug 原意為 臭蟲,在計算機領(lǐng)域,指導(dǎo)致程序不能正常執(zhí)行,或者執(zhí)行結(jié)果不是預(yù)期
的錯誤。BUG 是程序員在開發(fā)時非常常見的,初學(xué)者常見錯誤的原因包括:
? 手誤
? 對已經(jīng)學(xué)習(xí)過的知識理解還存在不足
? 對語言還有需要學(xué)習(xí)和提升的內(nèi)容
在學(xué)習(xí)語言時,不僅要 學(xué)會語言的語法,而且還要 學(xué)會如何認識錯誤和解決錯誤的方
法。
每一個程序員都是在不斷地修改錯誤中成長的。
1.2.4.2 手誤
1> 手誤,例如使用 pirnt("Hello world")
NameError: name 'pirnt' is not defined
名稱錯誤:'pirnt' 名字沒有定義
2> 將多條 print 寫在一行
SyntaxError: invalid syntax
語法錯誤:語法無效
1.2.4.3 縮進錯誤
IndentationError: unexpected indent
縮進錯誤:不期望出現(xiàn)的縮進
Python 是一個格式非常嚴(yán)格的程序設(shè)計語言,目前而言,大家記住每行代碼前面都不
要增加空格。
1.2.4.4 Python2.x 默認不支持中文
前市場上有兩個 Python 的版本并存著,分別是 Python 2.x 和 Python 3.x。
Python 2.x 默認不支持中文,具體原因,等到介紹字符編碼時給大家講解。
Python 2.x 的解釋器名稱是 python
Python 3.x 的解釋器名稱是 python3
python 程序中,中文支持:
如果在程序中用到了中文,比如:print('你好'),如果直接運行輸出會出錯:
SyntaxError: Non-ASCII character '\xe5' in file index.py on line 2, but
no encoding declared; see http://www.python.org/peps/pep-0263.html for
details
解決的辦法為:在程序的開頭寫入如下代碼,這就是中文注釋:
#coding=utf-8
注意:在 python 的語法規(guī)范中推薦使用的方式:
# -*- coding:utf-8 -*- 1.2.4.5 單詞列表
* error 錯誤
* name 名字
* defined 已經(jīng)定義
* syntax 語法
* invalid 無效
* Indentation 索引
* unexpected 意外的,不期望的
* character 字符
* line 行
* encoding 編碼
* declared 聲明
* details 細節(jié),詳細信息
* ASCII 一種字符編碼
1.2.4.6 多文件演練
1. 在我們新建的項目 01-HelloPython 項目中,新增一個程序 02-MyPython.py 文件
2. 在新文件中添加一句 print(“hello python2”)
3. 點擊執(zhí)行新建文件
1.2.5 程序執(zhí)行原理
1.2.5.1 計算機中的三大件
計算機中包含有較多的硬件,但是一個程序要運行,有 三個 核心的硬件,分別是:
CPU
中央處理器,是一塊超大規(guī)模的集成電路
負責(zé) 處理數(shù)據(jù)/計算
內(nèi)存
臨時 存儲數(shù)據(jù)(斷電之后,數(shù)據(jù)會消失)
速度快
空間小(單位價格高)
硬盤
永久 存儲數(shù)據(jù)
速度慢
空間大(單位價格低)
思考題:
? 計算機中哪一個硬件設(shè)備負責(zé)執(zhí)行程序?
CPU
? 內(nèi)存 的速度快還是硬盤的速度快?
內(nèi)存
? 我們的程序是安裝在內(nèi)存中的,還是安裝在硬盤中的?
硬盤
? 我買了一個內(nèi)存條,有 500G 的空間!!!,這句話對嗎?
不對,內(nèi)存條通常只有 4G / 8G / 16G / 32G
? 計算機關(guān)機之后,內(nèi)存中的數(shù)據(jù)都會消失,這句話對嗎?
正確
1.2.5.2 程序執(zhí)行原理
程序 運行之前,程序是保存在硬盤中的,當(dāng)要運行一個程序時,操作系統(tǒng)會首先讓 CPU
把程序復(fù)制到內(nèi)存中,CPU 執(zhí)行內(nèi)存中的程序代碼,程序要執(zhí)行,首先要被加載到內(nèi)存。
1.2.5.3 python 程序執(zhí)行原理
操作系統(tǒng)會首先讓 CPU 把 Python 解釋器 的程序復(fù)制到內(nèi)存中,Python 解釋器
根據(jù)語法規(guī)則,從上向下 讓 CPU 翻譯 Python 程序中的代碼,CPU 負責(zé)執(zhí)行翻譯完成
的代碼。
Python 的解釋器有多大?
執(zhí)行以下終端命令可以查看 Python 解釋器的大小
# 1. 確認解釋器所在位置
$ which python
# 2. 查看 python 文件大小(只是一個軟鏈接)
$ ls -lh /usr/bin/python
# 3. 查看具體文件大小
$ ls -lh /usr/bin/python2.7
提示:建立 軟鏈接 的目的,是為了方便使用者不用記住使用的解釋器是 哪一個具體版本。
1.2.5.4 程序的作用
程序就是 用來處理數(shù)據(jù) 的!
新聞軟件 提供的 新聞內(nèi)容、評論…… 是數(shù)據(jù)
電商軟件 提供的 商品信息、配送信息…… 是數(shù)據(jù)
運動類軟件 提供的 運動數(shù)據(jù)…… 是數(shù)據(jù)
地圖類軟件 提供的 地圖信息、定位信息、車輛信息…… 是數(shù)據(jù)
即時通訊軟件 提供的 聊天信息、好友信息…… 是數(shù)據(jù)
1.2.1 執(zhí)行 python 三種方式
1.2.1.1 文本模式
Python 代碼 保存在文件 中,解釋器對文件逐行解釋執(zhí)行,在終端中輸入解釋器名,
再輸入要執(zhí)行的文件名:
# 使用 python 2.x 以文本模式執(zhí)行 python 程序
$ python xxx.py
1.2.1.2 交互模式
直接在終端中運行解釋器,而不輸入要執(zhí)行的文件名。在 Python 交互模式 中 邊輸
入邊執(zhí)行 Python 代碼,會立即看到程序執(zhí)行結(jié)果。
然而交互模式適合于學(xué)習(xí)/驗證 Python 語法或者局部代碼,但是代碼不能保存,不
太適合運行太大的程序。
當(dāng)我們想要退出交互模式,可以輸出”exit()”.或者使用熱鍵”ctrl+d”來退出交互模
式。
如果我們使用交互模式 編程 python 程序,除了使用默認的 python shell 之外呢?我
們還可以使用一個功能更強大的交互式 shell,叫 IPython ,“I”代表 interactive 交互的
意思。
IPython 支持自動補全,自動縮進,支持 linux 命令,內(nèi)置了許多很有用的功能和函數(shù)。
Python 2.x 使用的解釋器是 ipython
Python 3.x 使用的解釋器是 ipython3
IPython 的安裝: sudo apt install ipython
1.2.1.1 Python IDE(繼承開發(fā)環(huán)境) - PyCharm
什么叫集成開發(fā)環(huán)境呢?
集成開發(fā)環(huán)境(IDE,Integrated Development Environment)—— 集成了開發(fā)軟
件需要的所有工具,一般包括以下工具:
? 圖形用戶界面;
? 代碼編輯器(支持 代碼補全/自動縮進);
? 編譯器/解釋器;
? 調(diào)試器(斷點/單步執(zhí)行)
? 其他... 1.2.2 Pycharm 簡單介紹
1.2.2.1 簡單介紹
PyCharm 是 Python 的一款非常優(yōu)秀的集成開發(fā)環(huán)境,PyCharm 除了具有一般
IDE 所必備功能外,還可以在 Windows、Linux、macOS 下使用。
PyCharm 適合開發(fā)大型項目,一個項目通常會包含 很多源文件,每個源文件的代碼
行數(shù)是有限的,通常在幾百行之內(nèi),每個源文件各司其職,共同完成復(fù)雜的業(yè)務(wù)功能。
1.2.2.2 快速體驗
文件導(dǎo)航區(qū)域 能夠 瀏覽/定位/打開 項目文件。
文件編輯區(qū)域 能夠 編輯 當(dāng)前打開的文件。
控制臺區(qū)域 能夠:輸出程序執(zhí)行內(nèi)容,跟蹤調(diào)試代碼的執(zhí)行。
1.2.3 Hello World 程序
1.2.3.1 Python 源程序的基本概念
Python 源程序就是一個特殊格式的文本文件,可以使用任意文本編輯軟件做 Python
的開發(fā)。
Python 程序的 文件擴展名 通常都是 .py。
1.2.3.2 演練步驟
1. 在 pycharm 中創(chuàng)建 01-HelloPython 項目
2. 在項目中創(chuàng)建 01-HelloPython.py 文件
3. 在 01-HelloPython 中輸入 python 代碼
4. 點擊執(zhí)行
1.2.4 演練擴展
1.2.4.1 關(guān)于 BUG
bug 原意為 臭蟲,在計算機領(lǐng)域,指導(dǎo)致程序不能正常執(zhí)行,或者執(zhí)行結(jié)果不是預(yù)期
的錯誤。BUG 是程序員在開發(fā)時非常常見的,初學(xué)者常見錯誤的原因包括:
? 手誤
? 對已經(jīng)學(xué)習(xí)過的知識理解還存在不足
? 對語言還有需要學(xué)習(xí)和提升的內(nèi)容
在學(xué)習(xí)語言時,不僅要 學(xué)會語言的語法,而且還要 學(xué)會如何認識錯誤和解決錯誤的方
法。
每一個程序員都是在不斷地修改錯誤中成長的。
1.2.4.2 手誤
1> 手誤,例如使用 pirnt("Hello world")
NameError: name 'pirnt' is not defined
名稱錯誤:'pirnt' 名字沒有定義
2> 將多條 print 寫在一行
SyntaxError: invalid syntax
語法錯誤:語法無效
1.2.4.3 縮進錯誤
IndentationError: unexpected indent
縮進錯誤:不期望出現(xiàn)的縮進
Python 是一個格式非常嚴(yán)格的程序設(shè)計語言,目前而言,大家記住每行代碼前面都不
要增加空格。
1.2.4.4 Python2.x 默認不支持中文
前市場上有兩個 Python 的版本并存著,分別是 Python 2.x 和 Python 3.x。
Python 2.x 默認不支持中文,具體原因,等到介紹字符編碼時給大家講解。
Python 2.x 的解釋器名稱是 python
Python 3.x 的解釋器名稱是 python3
python 程序中,中文支持:
如果在程序中用到了中文,比如:print('你好'),如果直接運行輸出會出錯:
SyntaxError: Non-ASCII character '\xe5' in file index.py on line 2, but
no encoding declared; see http://www.python.org/peps/pep-0263.html for
details
解決的辦法為:在程序的開頭寫入如下代碼,這就是中文注釋:
#coding=utf-8
注意:在 python 的語法規(guī)范中推薦使用的方式:
# -*- coding:utf-8 -*- 1.2.4.5 單詞列表
* error 錯誤
* name 名字
* defined 已經(jīng)定義
* syntax 語法
* invalid 無效
* Indentation 索引
* unexpected 意外的,不期望的
* character 字符
* line 行
* encoding 編碼
* declared 聲明
* details 細節(jié),詳細信息
* ASCII 一種字符編碼
1.2.4.6 多文件演練
1. 在我們新建的項目 01-HelloPython 項目中,新增一個程序 02-MyPython.py 文件
2. 在新文件中添加一句 print(“hello python2”)
3. 點擊執(zhí)行新建文件
1.2.5 程序執(zhí)行原理
1.2.5.1 計算機中的三大件
計算機中包含有較多的硬件,但是一個程序要運行,有 三個 核心的硬件,分別是:
CPU
中央處理器,是一塊超大規(guī)模的集成電路
負責(zé) 處理數(shù)據(jù)/計算
內(nèi)存
臨時 存儲數(shù)據(jù)(斷電之后,數(shù)據(jù)會消失)
速度快
空間小(單位價格高)
硬盤
永久 存儲數(shù)據(jù)
速度慢
空間大(單位價格低)
思考題:
? 計算機中哪一個硬件設(shè)備負責(zé)執(zhí)行程序?
CPU
? 內(nèi)存 的速度快還是硬盤的速度快?
內(nèi)存
? 我們的程序是安裝在內(nèi)存中的,還是安裝在硬盤中的?
硬盤
? 我買了一個內(nèi)存條,有 500G 的空間!!!,這句話對嗎?
不對,內(nèi)存條通常只有 4G / 8G / 16G / 32G
? 計算機關(guān)機之后,內(nèi)存中的數(shù)據(jù)都會消失,這句話對嗎?
正確
1.2.5.2 程序執(zhí)行原理
程序 運行之前,程序是保存在硬盤中的,當(dāng)要運行一個程序時,操作系統(tǒng)會首先讓 CPU
把程序復(fù)制到內(nèi)存中,CPU 執(zhí)行內(nèi)存中的程序代碼,程序要執(zhí)行,首先要被加載到內(nèi)存。
1.2.5.3 python 程序執(zhí)行原理
操作系統(tǒng)會首先讓 CPU 把 Python 解釋器 的程序復(fù)制到內(nèi)存中,Python 解釋器
根據(jù)語法規(guī)則,從上向下 讓 CPU 翻譯 Python 程序中的代碼,CPU 負責(zé)執(zhí)行翻譯完成
的代碼。
Python 的解釋器有多大?
執(zhí)行以下終端命令可以查看 Python 解釋器的大小
# 1. 確認解釋器所在位置
$ which python
# 2. 查看 python 文件大小(只是一個軟鏈接)
$ ls -lh /usr/bin/python
# 3. 查看具體文件大小
$ ls -lh /usr/bin/python2.7
提示:建立 軟鏈接 的目的,是為了方便使用者不用記住使用的解釋器是 哪一個具體版本。
1.2.5.4 程序的作用
程序就是 用來處理數(shù)據(jù) 的!
新聞軟件 提供的 新聞內(nèi)容、評論…… 是數(shù)據(jù)
電商軟件 提供的 商品信息、配送信息…… 是數(shù)據(jù)
運動類軟件 提供的 運動數(shù)據(jù)…… 是數(shù)據(jù)
地圖類軟件 提供的 地圖信息、定位信息、車輛信息…… 是數(shù)據(jù)
即時通訊軟件 提供的 聊天信息、好友信息…… 是數(shù)據(jù)
總結(jié)
以上是生活随笔為你收集整理的python常见错误及基本技巧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Crontab定时任务访问url实例
- 下一篇: python中的__slots__