1,交換兩個變數的寫法:
普通:temp = a
a = b
b = temp
pythonic: a, b = b, a
2,類似的解包(unpacking)用法還可以實現多個返回值的函式
普通:def func(a,b):
result = [b, a]
return result
r = func(a, b)
x = r[0]
y = r[1]
pythonic的寫法:
def func(a, b):
return b, a
x, y = func(a, b)
3, 讀檔案,
f = open('filename.txt')
text = f.read()
print(text)
f.close()
pythonic 寫法:
with open('filename.txt')
for line in f:
print(line)
with的好處是即使出錯,也會幫你關閉檔案。
4,拼接字串,普通寫法:
letters = ['h', 'e', 'l', 'l', 'o']
s = ''
for l in letters:
s += l
print(s)
pythonic 寫法:
print(''.join(letters))
5, 關於前面遍歷列表的例子,如果你想帶上索引,可以這麼寫:
for i, elem in enumerate(lst):
print(i, elem)
for key, value in dct.items():
print(key, value)
6, 取出列表中大於0的元素,生成新列表。普通寫法:
new_lst =
for i in lst:
if i > 0:
pythonic寫法:
new_lst = [i for i in lst if i > 0]
這個被稱為「列表解析式」(list comprehension,中文翻譯說法有很多),可以說是非常 pythonic 的乙個用法了。
更進一步,如果資料量很大,而你對新列表僅僅是遍歷操作,並不需要乙個列表物件,可以採用生成器:
new_lst = (i for i in lst if i > 0)
for i in new_lst:
print(i)
7、判斷乙個值是否為true、是否為空列表、是否是none,普通寫法:
if x == true:
pass
if len(y) == 0:
pass
if z == none:
pass
pythonic 寫法:
if x:
pass
if not y:
pass
if z is none:
pass
8、根據鍵名獲取字典中對應的值,普通寫法:
value = dct[key]
這樣的問題在於,如果key
不存在,**就報錯跳出。於是你不得不增加更多的判斷。
pythonic 寫法:
value = dct.get(key, 0)
改用get
方法,不存在時會得到 none,或者指定的預設值(這裡是 0)。
總之學習之路漫長,多寫, 多看, 多搜
Python學習 語句 語法
注釋,不支援多行注釋 連線,當一行的程式太長時,可以使用連線符 反斜槓 1 使用if elif 和 else 進行標記 小於兩個的選擇 if 條件 語句段1 else 語句段2 大於兩個的選擇 if 條件1 語句段1 elif 條件2 語句段2 else 語句段3 2 使用while進行迴圈 whi...
Python學習 語法初步
注釋 1.注釋的寫法 行注釋 以 開頭,可以單獨寫 也可以在 後面寫 塊注釋 好幾行 或者內容,用 或者雙引號 變數變數命名規則 1.變數命名可以包含數字,大小寫字母,下劃線或者更多,最好別用前三種之外的內容 2.數字不可以打頭 3.一般在python中,以下劃線開頭的內容有特殊含義,不建議使用,4...
Python基礎學習 語法基礎
一 識別符號與關鍵字 識別符號就是變數 常量 函式 屬性 類 模組和包等由程式設計師指定的名字。構成識別符號的字元均有一定的規範,python語言中識別符號的命名規則如下 區分大小寫,myname 與 myname 是兩個不同的識別符號 首字元可以是下劃線 或字母,但不能是數字 除首字元外其他字元,...