python知識筆記

2021-08-15 03:49:44 字數 2665 閱讀 3729

1 . 除了常規比較操作,以下值或返回true或false:

- 數字(0,0.0返回false)

- 資料型別none返回false

- 集合型別(list,tuple,dict,set)元素數量為0返回false

2 . python內建上述四種集合可用於迭代(for… in …),其中字典型別以key值返回,且和set一樣內容是亂序(可改用collections模組)。

3 . 只要類中有iternext函式,可以作為迭代器物件在for語句中使用。

# define a fib class

class

fib(object):

def__init__

(self, max):

self.max = max

self.n, self.a, self.b = 0, 0, 1

def__iter__

(self):

return self

def__next__

(self):

if self.n < self.max:

r = self.b

self.a, self.b = self.b, self.a + self.b

self.n = self.n + 1

return r

raise stopiteration()

# using fib object

for i in fib(5):

print(i)

yield關鍵字也可實現迭代效果。yield 語句每次執行時,立即返回結果給上層呼叫者,而當前的狀態仍然保留,以便迭代器下一次迴圈呼叫。

def

fib(max):

a,b=0,1

while max:

r=ba,b=b,a+b

max-=1

yield r

#using generator

for i in fib(5):

print(i)

4 . 三目運算子:python沒有類似 condition ? value1 : value2 三目操作符,不過python可以通過 if-else 的行內表示式完成類似的功能。

var=var1 if condition else var2
5 . 使用if __name__ == '__main__':的**稱為自呼叫,可用於單元測試等。

6 . 函式引數擺放位置:特定引數》預設引數》可變引數》關鍵字引數。可變引數以()和變數名組合,為可迭代的物件。關鍵字引數(*)在函式內部封裝成字典。

def

report

(name, *grades):

total_grade = 0

for grade in grades:

total_grade += grade

print(name, 'total grade is ', total_grade)

defportrait

(name, **kw):

print('name is', name)

for k,v in kw.items():

print(k, v)

9 . 高階函式

- zip

a=[1,2,3]

b=[4,5,6]

ab=zip(a,b)

print(list(ab))

for i,j in zip(a,b):

print(i/2,j*2)

'''[(1, 4), (2, 5), (3, 6)]

0.5 8

1.0 10

1.5 12

'''

fun= lambda x,y:x+y

x=int(input('x=')) #這裡要定義int整數,否則會預設為字串

y=int(input('y='))

print(fun(x,y)

def

fun(x,y):

return x+y

print(list(map(fun,[1],[2])))

print(list(map(fun,[1,2],[2,4])))

print(fun([1,2],[3,4]))

'''[3]

[3, 6]

[1, 2, 3, 4]

'''

10 . 深copy和淺拷貝

乙個物件的id值在cpython直譯器裡就代表它在記憶體中的位址,如id(var)

淺拷貝只是拷貝了最外圍的物件本身,內部的元素都只是拷貝了乙個引用而已。如copy.copy(var),深拷貝對外圍和內部元素都進行了拷貝物件本身,如copy.deepcopy(var)

11 . 正規表示式

python知識筆記 python筆記 基礎知識

輸入輸出 輸入 inputnum input 輸入乙個數字 輸出 print 列印你輸入的數字 inputnum 字串字串格式化 標記轉換說明符的開始 轉換標記 可選 左對齊 轉換之前要加上 號 正數之前保留空格 0位數不夠用0填充 最小字段寬度 可選 轉換後的字串至少應該具有指定的寬度 精度 可選...

python筆記 基礎知識

輸入 inputnum input 輸入乙個數字 輸出 print 列印你輸入的數字 inputnum 字串格式化 標記轉換說明符的開始 轉換標記 可選 左對齊 轉換之前要加上 號 正數之前保留空格 0位數不夠用0填充 最小字段寬度 可選 轉換後的字串至少應該具有指定的寬度 精度 可選 如果時實數,...

python基礎知識筆記

比如 想列印 i m a little girl 有兩種方法可以實現。1 使用轉義符號 對字串中的引號進行轉義 print i m a little girl 需要注意轉義符號 的位置 i m a little girl 2 使用print直接列印 print i m a little girl i...