python 學習語法有感

2021-09-04 10:53:59 字數 1917 閱讀 6226

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 是兩個不同的識別符號 首字元可以是下劃線 或字母,但不能是數字 除首字元外其他字元,...