Python 命名一般來(lái)說(shuō)有一下不成文的規(guī)則 :
成都創(chuàng)新互聯(lián)公司是專(zhuān)業(yè)的濟(jì)南網(wǎng)站建設(shè)公司,濟(jì)南接單;提供成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行濟(jì)南網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
模塊名一般使用全部小寫(xiě) 如 myphone
類(lèi)名第一個(gè)字母大寫(xiě),如果有多個(gè)單詞,每一個(gè)單詞的第一個(gè)字母大寫(xiě)如 : MyPhone
函數(shù)名 : 小寫(xiě), 如果有多個(gè)單詞用下劃線隔開(kāi) 如 my_phone
常量名字一般全大寫(xiě) : MYPHONE
記住兩個(gè)關(guān)鍵:
初學(xué)的你,還是太難理解?
你可以將生成器理解為一個(gè)盒子,你可以向這個(gè)盒子里隨意添加元素,當(dāng)你需要的時(shí)候,再取出來(lái)用。
請(qǐng)看下面的例子:
作用:惰性求值(一邊循環(huán)一邊計(jì)算的機(jī)制),節(jié)省性能
舉個(gè)例子:斐波那契數(shù)列(0,1,1,2,3,5...),打印斐波那契數(shù)列前50個(gè)元素
當(dāng):
時(shí),我們可以使用匿名函數(shù)。
初學(xué)的你,還是太難理解?
你想實(shí)現(xiàn)一個(gè)求x的平方的函數(shù),但是這個(gè)函數(shù)太簡(jiǎn)單,不值得專(zhuān)門(mén)def定義,同時(shí),你忘記了平方的英文如何拼寫(xiě),要是命名成 "pingfang",又顯得自己太low,于是乎,你可以不給這個(gè)函數(shù)起名字,還能實(shí)現(xiàn)它。這就是匿名函數(shù)lambda表達(dá)式。
比如:求一個(gè)數(shù)的平方
01 如果你是初學(xué)者,可以先不掌握生成器和匿名函數(shù),待學(xué)成python后,再行琢磨;
02 在實(shí)際工作中,生成器和匿名函數(shù)的使用頻次,相對(duì)較高,并且在面試中是高頻問(wèn)點(diǎn)。
首先十分不推薦這種做法, 會(huì)令程序難以維護(hù).
其次, 多個(gè)裝飾器是按照裝飾器的順序進(jìn)行執(zhí)行的.
如果你編寫(xiě)過(guò)裝飾器, 你就應(yīng)該知道, 其實(shí)裝飾器就是把函數(shù)的名字傳入進(jìn)去, 在執(zhí)行函數(shù)之前, 進(jìn)行一些提前的處理.
例如下面這段代碼, 自定義的裝飾器
def add_schedid(handler_func):
"""
@handler_func: 請(qǐng)求處理函數(shù)
"""
@functools.wraps(handler_func)
def wrapper(self, *args, **kwargs):
"""
wrapper
"""
# handler_func就是所裝飾的函數(shù),可以在這里做一些真正函數(shù)執(zhí)行前所需的處理,
handler_func(self, *args, **kwargs)
return wrapper
裝飾器本身就是一個(gè)函數(shù), 將所裝飾的函數(shù), 作為一個(gè)參數(shù)傳進(jìn)來(lái), 然后在執(zhí)行這個(gè)函數(shù)之前, 進(jìn)行一個(gè)處理,這就是裝飾器. 所以和正常函數(shù)執(zhí)行順序是一樣的..