由于在args變量前有*前綴,所有多余的函數(shù)參數(shù)都會(huì)作為一個(gè)元組存儲(chǔ)在args中。如果使用的是**前綴,多余的參數(shù)則會(huì)被認(rèn)為是一個(gè)字典的鍵/值對(duì)。
*args接受元組
**args接受字典
def powersum(power, *args):
total = 0
for i in args:
total = pow(i, power)
return total
print (powersum(2, 1, 2, 3))
#14 1^2 2^2 3^2 = 14
def displaydic(**args):
for key,value in args.items():
print( "key:%s;value:%s" % (key, value))
displaydic(a="one", b="two", c="three")
#key:a;value:one
#key:c;value:three
#key:b;value:two復(fù)制代碼
17、lambda函數(shù)
lambda語(yǔ)句被用來(lái)創(chuàng)建新的函數(shù)對(duì)象,并在運(yùn)行時(shí)返回它們。lambda需要一個(gè)參數(shù),后面僅跟單個(gè)表達(dá)式作為函數(shù)體,而表達(dá)式的值被這個(gè)
新建的函數(shù)返回。 注意,print語(yǔ)句也不能用在lambda形式中,只能使用表達(dá)式。
func = lambda s: s * 3
print(func("Runsen ")) # Runsen Runsen Runsen
func2 = lambda a, b: a * b
print(func2(2, 3)) #6復(fù)制代碼
18、exec/eval
exec語(yǔ)句用來(lái)執(zhí)行儲(chǔ)存在字符串或文件中的Python語(yǔ)句
eval語(yǔ)句用來(lái)計(jì)算存儲(chǔ)在字符串中的有效Python表達(dá)式。
cmd = "print 'hello world'" exec cmd #hello world expression = "10 * 2 5" print(eval(expression)) #25復(fù)制代碼
exec還批量創(chuàng)建變量,這個(gè)大家可能忽視
for i in range(8):
exec('v' str(i) ' = ' str(i))
print('v' str(i) ':', eval('v' str(i)))
v0: 0
v1: 1
v2: 2
v3: 3
v4: 4
v5: 5
v6: 6
v7: 7
復(fù)制代碼
19、assert
assert語(yǔ)句用來(lái)斷言某個(gè)條件是真的,并且在它非真的時(shí)候引發(fā)一個(gè)錯(cuò)誤–AssertionError。
>>> assert True # 條件為 true 正常執(zhí)行 >>> assert False # 條件為 false 觸發(fā)異常 Traceback (most recent call last): File "<stdin>", line 1, in <module> AssertionError復(fù)制代碼
assert一般和try except連用
flag = True
assert flag == True
try:
assert flag == False
except AssertionError:
print ("failed")
else:
print ("pass")
failed復(fù)制代碼
20、repr
repr函數(shù)用來(lái)取得對(duì)象的規(guī)范字符串表示。
注意,在大多數(shù)時(shí)候有eval(repr(object)) == object。
可以通過(guò)定義類的__repr__方法來(lái)控制對(duì)象在被repr函數(shù)調(diào)用的時(shí)候返回的內(nèi)容。
arr = [1, 2, 3] print(arr) #[1, 2, 3] print(repr(arr)) #[1, 2, 3]復(fù)制代碼
其實(shí)Python就是這么簡(jiǎn)單,學(xué)Python就是看官方文檔,看demo,代碼跟做英語(yǔ)閱讀似的,多看官方文檔,然后調(diào)下第三方庫(kù),實(shí)現(xiàn)需求就行了。
相關(guān)免費(fèi)學(xué)習(xí)推薦:python視頻教程
更多關(guān)于云服務(wù)器,域名注冊(cè),虛擬主機(jī)的問(wèn)題,請(qǐng)?jiān)L問(wèn)西部數(shù)碼官網(wǎng):m.ps-sw.cn