python類函數定義
A. python如何在類外定義成員函數
類的外面可以抄定類的屬性值。按理也可以定義類外定義函數。一定可以。比如
class a:
pass
def hello(self,name):
print "Hello %s"%name
a.hello=hello
a().hello("somebody")
這個代碼測試通過。
B. python中的類定義
C++的事先規劃數據和函數,其中實例數據部分,其實是在構造函數執行時執行,同理版,你也可以把你權的python的實例數據構造放在python的類構造函數__init__函數的最開始那部分,這樣就比較清晰了.其執行也接近C++的類定義。至於其它的類對象成員數據屬性也可以集中放置在類的最開始.類實例函數本身就比較清晰,靜態函數也可以集中處理。
C. python中的函數參數為自定義類對象,如何強
函數參數有直接變數(如int、char、double等)類型、指針類型和引用類型。
如果參數是變數,傳遞方內式容是傳值,就是將實參的值復制(復制,意味著空間消耗和時間消耗)到「棧」空間中。
如果參數是指針,傳遞方式是傳址,需將指針復制(同樣也消耗空間和時間,對於數組而言,只需存儲數組首地址)到「棧」空間中。
如果是引用,則既不是傳值,也不是傳址,主調函數和被調函數共享參數的存放地址,與全局變數共享方式相同。
對於拷貝(復制)構造函數而言,類對象通常需要較多的存儲空間,如果按值傳遞,必然會較大消耗「棧」空間,也需要較多的時間實施復制過程。因為復制構造函數不會修改參數的內容,也不會修改參數的屬性,所以構造函數的參數應該是常量引用傳遞,如
ClassName(const ClassName &obj)
D. python 類的定義
首先初始化時確定是否接收一個parent參數(這個參數名沒什麼意義,想怎麼取怎麼取)
如果沒有在這個Icon類初始化的時候同時給參數,那麼parent就為None,因為繼承了QtGui.QWidget類,所以在初始化的時候,先調用QtGui.QWidget.__init__(self, parent)這個QtGui.QWidget的初始化方法,這個parent參數是QtGui.QWidget需要的吧
E. python中如何定義類
一、類定義:
class <類名>:
<語句>
類實例化後,可以使用其屬性,實際上,創建一個類之後,可以通過類名訪問其屬性
如果直接使用類名修改其屬性,那麼將直接影響到已經實例化的對象
類的私有屬性:
__private_attrs兩個下劃線開頭,聲明該屬性為私有,不能在類地外部被使用或直接訪問
在類內部的方法中使用時self.__private_attrs
類的方法
在類地內部,使用def關鍵字可以為類定義一個方法,與一般函數定義不同,類方法必須包含參數self,且為第一個參數
私有的類方法
__private_method兩個下劃線開頭,聲明該方法為私有方法,不能在類地外部調用
在類的內部調用slef.__private_methods
類的專有方法:
__init__構造函數,在生成對象時調用
__del__析構函數,釋放對象時使用
__repr__列印,轉換
__setitem__按照索引賦值
__getitem__按照索引獲取值
__len__獲得長度
__cmp__比較運算
__call__函數調用
__add__加運算
__sub__減運算
__mul__乘運算
__div__除運算
__mod__求余運算
__pow__稱方
示例:
[python]view plain
#類定義
classpeople:
F. Python如何調用自定義類中的函數
定義一個函數只給了函數一個名稱,指定了函數里包含的參數,和代碼塊結構。版這個函數的基本結構完成權以後,你可以通過另一個函數調用執行,也可以直接從Python提示符執行。
如下實例調用了printme()函數:
復制代碼 代碼如下:#!/usr/bin/python
# Function definition is here
def printme( str ):
"列印任何傳入的字元串"
print str;
return;
# Now you can call printme function
printme("我要調用用戶自定義函數!");
printme("再次調用同一函數");
#以上實例輸出結果:
#我要調用用戶自定義函數!
#再次調用同一函數
G. python在定義類的時候,如何把類函數傳遞給另一個變數,如下
別在類的定義時將類名賦值,調用時才可以。
class fun:
print "hi,world"
def __init__(self, params):
fun2 = fun
fun2
如果想用switch,python中慣用字典來實現d = {key1:value1,key2:value2},通過判斷內d[key1]的值,來選擇分支。容