總結(jié)和復(fù)習(xí)
函數(shù)
f(*list)可以把列表拆散當(dāng)成可變參數(shù)一個(gè)一個(gè)放進(jìn)去
def f(*args)
total = 0
for val in args:
total += val
return total
mylist = [1,3,5,10,20]
print(f(*mylist))#把列表拆散當(dāng)成可變參數(shù)一個(gè)一個(gè)放進(jìn)去
函數(shù)返回多值用元組
作用域 —— LEGB(局部,嵌套蛋叼,全局焊傅,內(nèi)置)
a = 100
def f():
global a
a = 200
b = 'hello'
def g():
nonlocal b
b = 'good
模塊
對函數(shù)的分類管理,函數(shù)的設(shè)計(jì)應(yīng)該遵守單一執(zhí)著原則
form import as(起別名)
字符串
內(nèi)置函數(shù)和對象里的方法的區(qū)別
str1 = 'asdfghjkl'
len(str1)
str1.upper()
內(nèi)存管理
棧 - 變量 - 地址 - 對象的引用
堆 - 真正的對象
id()
is
手機(jī)應(yīng)用突然閃退狈涮,多半是內(nèi)存泄漏惹的禍狐胎,一般是程序?qū)懙貌缓茫殉绦騿T拉出來打一頓就好了哈哈哈歌馍。
python用的自動內(nèi)存管理 - 垃圾回收
sys.getrefcount(list1)得到對象引用技術(shù)的值
import sys
list1 = [0]*10
list2 = list1
list3 = list2
print(sys.getsizeof(list1))
print(sys.getrefcount(list1))
del list2
del list3
del list1[0]
print(sys.getrefcount(list1))
列表
列表生成器和表達(dá)式可以嵌套
可以使用加法進(jìn)行添加
mylist = [x + y for x in 'ABCDE' for y in '1234567']
mylist = mylist+[20,30]
print(mylist)