1. python如何每次調用函數,實例化一個類
1、定義一個類。
2、定義一個函數,在函數此老內部創建類跡扒帆的實例對象。
3、在函數內部創建的類實例對象需要在函數外部使用,可以姿雹將該對象作為函數返回值返回。
2. python 類當函數如何實例化
可以把類當做參數傳入到函數里,在函數里進行實例化。如下所示。
把類A當做參數傳入get_instance_from_class。在get_instance_from_class中對A進行實例化,獲得其實例,並返回。
classA:
def__init__(self):
print"IamaAinstance."
defprint_myself(self):
print"printmyself."
defmain():
defget_instance_from_class(a):
returna()
a=get_instance_from_class(A)
a.print_myself()
if__name__=="__main__":
main()
3. python類的實例化問題
你沒有理解類變數和實例變數之間的關系。
第一個例子裡面init中append是對類變數的操作。因此實例談輪明對象newmen1/2並沒有自己的變數a,訪問的都桐嫌是類變數。
這時你如果顯示類變數,
print Men.a,newmen1.a,newmen2.a都是一樣的。指向同一變數。
第二個例子中的init生成了對象自己的變數a,注意'='! 當實例對象調用init時,每個實例對象都擁有了自己的變數a,你再也無法再通過實含告例對象來訪問到類變數了。事實上這種寫法是很不好的。
這時你可以再一次顯示類變數,
print Men.a,newmen1.a,newmen2
>> 0 1 2
如果你希望所有對象共用類變數,你可以寫
class Men:
a=0
def __init__(self,b):
Men.a=b
def sayHi(self):
print'Hello,my name is',Men.a
這樣反而清晰,不要把實例對象公有的變數用self來表示。只會把你自己搞暈。
4. python定義一個Dog類,實例化兩個小狗對象。類屬性有名字,顏色,體重。實現以下描述
程序寫給你
classdogClass():
def__init__(self,name,color,weight):
self.name=name
self.color=color
self.weight=weight
def__del__(self):
self.name=""
self.color=""
self.weight=""
defname(self):
returnself.name
defcolor(self):
returnself.color
defweight(self):
returnself.weight
a=dogClass("旺財","棕色","5斤")
b=dogClass("來福","黑色","8斤")
print("小狗名字叫",a.name,",顏色是",a.color,",體重",a.weight)
print("小狗名字叫",b.name,",顏色是",b.color,",體重",b.weight)
執行結果: