Python初學者需要注意的問題

於念發表於2020-11-24

一、注意你的Python版本

Python官方網站為http://www.python.org/,當前最新版本為3.4.0 alpha,穩定版本為3.3.2,在3.0版本時,Python的語法改動較大,而網上的不少教程及語法針對的是1.0或者2.0版本的,這樣就造成不少初學者按照示例程式碼來寫,但編譯都無法通過的問題。

1、print()函式

舊的print函式用法為print ‘Hello’,而新的print函式對此改成了print(‘Hello’)並且不再相容之前版本。

如果在3.X版本上Python上使用舊的print語法,將出現“SyntaxError: invalid syntax”錯誤。

2、raw_input()與input()

Python3中用input()取代了raw_input(),當然這僅僅是重新命名,使用上並沒有不同;

3、比較符號,使用!=替換<>

4、repr函式

使用repr()函式替換``(注:反單引號,位於鍵盤1的左邊一個鍵),將一個object轉換為string,注意repr()與str()略有不同

5、exec()函式

exec用來執行儲存在字串或者檔案中的Python語句,與JavaScript中的eval()函式類似,新的exec用法為exec(‘print(“Hello”)’)

二、新手常遇到的問題

1、如何寫多行程式?

相信新手經常會遇到為何對著Python Shell發現程式沒法換行,一換行就認為是執行了。這是因為你使用的是Python Shell!你可以點選File->New Window或者Ctrl+N新開一個Python編輯器,這才是程式碼編輯器,盡情寫你的Python程式吧,執行時只需要儲存為字尾是.py的檔案,然後F5就可以在Python Shell顯示執行結果了。

2、如何執行.py檔案?

直接雙擊.py檔案即可,如果出現不能執行的問題,可能是你沒有正確環境變數,在環境變數裡找到Path,加上你Python的安裝路徑,比如C:\Python33;

3、and,or,not

一般的程式語言比較關係運算子都是&&、||以及!,但Python偏偏使用and、or和not來分別程式碼並且、或者和非,我驚呆了。

4、True和False

沒錯,的確是True,而不是true,Python的這一點也實在令人難以理解,Python語法體系中基本都是小寫的語法風格,為什麼到這裡要使用Pascal命名方式?

三、Python的資料結構

1、列表 List

宣告方式:list=[1,2.3,’x’,'Hello’],擁有方法:

list.append(x) 在列表尾部新增一項
list.extend(L) 用給定的列表將當前列表接長,append與extend區別見http://hi.baidu.com/wewe39/item/c2599557739ec9dcd48bacf6
list.insert(i,x) 在給定的位置上插入項
list.remove(x) 移除列表中的第一個值為x的項,注意x並非索引
list.pop([i]) 刪除給定位置的項並返回
list.index(x) 返回列表中第一個值為x的項索引值,沒有匹配項則產生一個錯誤
list.count(x) 返回列表中x出現的次數
list.sort() 排序
list.reserve() 倒序
遍歷示例:

numbers=[0,1,2,3,4,5,6,7,8,9]
for i in range(len(numbers)):
print(i)

2、元組 Tuple

宣告方式比較特殊:tuple=item1,item2,item3,例:

tuple=12,323.0,0.34,‘Hello’
for i in range(len(tuple)):#遍歷
print(tuple[i])

3、集合 Set

宣告方式:set={item1,item2,item3},例:

basket={'a’,‘b’,‘a’,‘c’,'c’,‘d’}

集合為無序不重複的元素集,上例宣告的結果將為

{‘d’, ‘a’, ‘b’, ‘c’}

遍歷方式:

basket={‘a’,‘b’,‘a’,‘c’,‘c’,‘d’}
for i in basket:
print(i)

4、字典 Dict

宣告示例:

tel={‘jack’:23423,‘sape’:234}

可使用下述方式進行賦值:

tel[‘guido’]=4127

結果為:{‘sape’: 234, ‘guido’: 4127, ‘jack’: 23423}

可使用items()方法取得鍵和對應的值,例:

for k,v in tel.items():
print(k,v)

遍歷方式:

tel={‘jack’:23423,‘sape’:234}
for key in tel:
print(key ,’:’ , tel[key])

相關文章