類體內,所有函數外定義。
創(chuàng)新互聯始終堅持【策劃先行,效果至上】的經營理念,通過多達十載累計超上千家客戶的網站建設總結了一套系統(tǒng)有效的全網營銷推廣解決方案,現已廣泛運用于各行各業(yè)的客戶,其中包括:水處理設備等企業(yè),備受客戶稱譽。
所有實例對象共享。
只有通過類名調用時才能修改,通過實例調用時無法修改。
假設某類變量名為“name",如果用該類的某個實例x來為name賦值:x.name = 'xxx',實質是為該實例新定義了一個變量name。且之后無法再通過該實例調用類變量name了。因為使用實例調用某名為“xxx”變量時,若該實例沒有名為“xxx”的實例變量,則會去調用名為“xxx”的類變量;若有該名稱的實例變量,則該實例無法再直接調用該名稱對應的類變量。因此也不推薦通過實例來調用類變量。
即:通過類實例修改類變量的值時,實際是在定義新的與類變量同名的實例變量。
類體內,某函數(一般是__ init __ ())內定義。 “self.變量名”
因為是屬于某個具體實例的,因此不能通過類名訪問。
如果不在__ init __ () 中調用(該函數會在創(chuàng)建實例時自動調用一次),則只有調用該實例中定義目標實例變量的那個函數后,才能使用目標實例變量。因此最好在__ init __ () 中定義實例變量。
類體內,某函數內定義。
直接在函數內用“變量名=值”的方式進行定義。
函數執(zhí)行完畢后,該局部變量即被銷毀。
為了把類中的變量傳遞給類中的函數,我們需要用到3個特定格式
① 第一個格式 @classmethod 的中文意思就是“類方法”,@classmethod聲明了函數1是類方法,這樣才能允許函數1使用類屬性中的數據。
② 第二個格式 cls 的意思是class的縮寫。如果類方法函數1想使用類屬性(也就是類中的變量),就要寫上cls為函數1的第一個參數,也就是把這個類作為參數傳給自己,這樣就能被允許使用類中的數據。
③ 第三個格式是 cls.變量 。類方法想使用類屬性的時候,需要在這些變量名稱前加上cls. 這就好比類方法和類之間的約法三章,所以但凡有任何格式錯誤都會報錯。
如果缺①,即缺了“@classmethod”,類方法就不能直接利用類中的屬性,于是報錯
函數是組織好,可重復使用的,用來實現相關功能的代碼段
函數提高了代碼的重復利用率和應用的模塊性。
除Python自帶的函數之外,也可以自己創(chuàng)建函數,叫做自定義函數
語法:
函數代碼塊以 def 開頭
參數為 輸入值 ,放于函數名后口號里面,
函數內容以冒號:開始,函數體縮進, return 返回 輸出值
函數調用使用關鍵字參數來確定傳入的參數值,此時,如果多個函數則不需要按照指定順序。
在定義函數時,指定參數默認值。調用時如果不傳入參數,則使用默認值
不定長部分如果沒有指定參數,傳入是一個空元組
加了 兩個星號 ** 的參數會以字典的形式導入
/ 用來指明函數形參必須使用指定位置參數,不能使用關鍵字參數的形式。
3.8版本之后的才能使用
不使用 def 定義函數,沒有函數名
lamdba主體時一個表達式,而不是代碼塊,函數體比def簡單很多
定義在函數內部的為局部變量,僅能在函數內部使用
定義在函數外部的為全局變量,可在全局使用
模塊是將包含所有定義的函數和變量的文件,一般將同類功能的函數組和在一起稱為模塊。
模塊需要導入后,在調用相應函數進行使用
模塊導入的方法:
從模塊中導入一個指定的部分
把一個模塊的所有內容全都導入
(1)簡單數據類型變量無論是否與全局變量重名,僅在函數內部創(chuàng)建和使用,函數退出后變量被釋放,如有全局同名變量,其值不變。
(2)簡單數據類型變量在用global保留字聲明后,作為全局變量使用,函數退出后該變量保留且值被函數改變。
(3)對于組合數據類型的全局變量,如果在函數內部沒有被真實創(chuàng)建的同名變量,則函數內部可以直接使用并修改全局變量的值。
(4)如果函數內部真實創(chuàng)建了組合數據類型變量,無論是否有同名全局變量,函數僅對局部變量進行操作,函數退出后局部變量被釋放,全局變量值不變。
*《python語言程序設計基礎》.高等教育出版社
當前文章:python函數類變量 python函數變量類型分為
標題鏈接:http://chinadenli.net/article24/doohgce.html
成都網站建設公司_創(chuàng)新互聯,為您提供Google、外貿網站建設、全網營銷推廣、App開發(fā)、用戶體驗、定制網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯