導航:首頁 > 編程語言 > python父類

python父類

發布時間:2022-01-23 15:49:34

『壹』 請問python如何將一個子類對象賦值給父類對象

classF:
def__init__(self):
pass
deffun(self):
print"InF"

classS(F):
def__init__(self):
F.__init()
deffun(self):
print"InS"

f=S()
f.fun()

python本來就是動態類型的語言,所以本來就不需要像C#那樣的賦值,像上面的代碼即可以實現C#裡面的功能。

『貳』 python子類如何才能調用父類的方法

.直接寫類名調用
2.用 super(type, obj).method(arg)方法調用。
3.在類定義中調用本類的父類方法,可以直接 super().method(arg).
在代碼中調用對象的父類的方法的示例:

ob = B()super(B,ob).method(arg) #調用class B的父類class A的method。

初始化中調用父類初始化方法示例:class B(A):def __init__(self):super().__init__()

『叄』 python 子類怎麼調用父類方法

兩種方法解決:
- 第一種

class A:
def __init__(self):
self.namea="aaa"
def funca(self):
print "function a : %s"%self.namea
class B(A):
def __init__(self):
#這一行解決了問題
A.__init__(self)
self.nameb="bbb"
def funcb(self):
print "function b : %s"%self.nameb
b=B()
print b.nameb
b.funcb()
b.funca()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
第二種:
#父類需要繼承object對象
class A(object):
def __init__(self):
self.namea="aaa"
def funca(self):
print "function a : %s"%self.namea
class B(A):
def __init__(self):
#這一行解決問題
super(B,self).__init__()
self.nameb="bbb"
def funcb(self):
print "function b : %s"%self.nameb
b=B()
print b.nameb
b.funcb()
b.funca()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
PS:讓類A繼承自object類,這樣才能使用super函數,因為這是python的「新式類」支持的特性。當前的class和對象可以作為super函數的參數使用,調用函數返回的對象的任何方法都是調用超類的方法,而不是當前類的方法。

優劣:
- 方法一更直觀,方法二可以一次初始化所有超類
- super函數比在超類中直接調用未綁定方法更直觀,但是其最大的優點是如果子類繼承了多個父類,它只需要使用一次super函數就可以。然而如果沒有這個需求,直接使用A.init(self)更直觀一些。

『肆』 Python子類與父類的關系問題

  1. 不如貼代碼

  2. 可以去看下 MRO 的東西, 以及類/實例的屬性和__dict__的關系

  3. 屬性是怎麼查找的, getattr, __getattr__, __getattribute__ 這幾個是怎麼運行的...


另外你這個 method 是什麼我真的沒懂... 什麼叫 A類的類名...

『伍』 Python繼承父類parent的正確格式為

格式:

class 子類名(父類1,父類2)

類的繼承就是讓子類擁有父類的屬性和方法。

幾個注意:py支持多繼承

子類繼承的父類只能初始化一次,如果父類1和父類2有共同的父類或者祖先類,則類初始化的時候會失敗。

當父類具有相同方法時,會調用最先繼承的父類中的方法,如果要指定父類,則需要重寫此方法,並通過父類名.方法名來調用指定父類方法。

『陸』 python2.7怎麼查看類或對象的父類

In[1]:classa(list):
...:pass
...:

In[2]:a.__bases__
Out[2]:(list,)

In[3]:a.mro()
Out[3]:[__main__.a,list,object]

In[4]:

如果解決了您的問題請採納!
如果未解決請繼續追問

『柒』 Python中子類怎樣調用父類方法

你好,請看下面的例子和說明:
python中類的初始化方法是__init__(),因此父類子類的初始化方法都是這個,如果子類不實現這個函數,初始化時調用父類的初始化函數,如果子類實現這個函數,就覆蓋了父類的這個函數,既然繼承父類,就要在這個函數里顯式調用一下父類的__init__(),這跟C++,jAVA不一樣,他們是自動調用父類初始化函數的。
調用父類函數有以下方法:class A:def method(self, arg):pass

classB(A):
defmethod(self,arg):
#A.method(self,arg)#1
#super(B,self).method(arg)#2
super().method(arg)#3

1.直接寫類名調用
2.用super(type,obj).method(arg)方法調用。
3.在類定義中調用本類的父類方法,可以直接
super().method(arg).
在代碼中調用對象的父類的方法的示例:ob = B()super(B,ob).method(arg) #調用class B的父類class A的method。
初始化中調用父類初始化方法示例:
class B(A):

『捌』 python 中怎樣調用父類方法

子類調用父類函數有以下方法:
直接寫類名調用
用 super(type, obj).method(arg)方法調用。
在類定義中調用本類的父類方法,可以直接用super().method(arg)

1
2
3
4
5
6
7
8
9

class A:
def method(self, arg):
pass

class B(A):
def method(self, arg):
# A.method(self,arg) # 1
# super(B, self).method(arg) # 2
super().method(arg) # 3

『玖』 python 如何調用父類 的父類 的方法

閱讀全文

與python父類相關的資料

熱點內容
數控車床加工編程技術視頻 瀏覽:97
dns最好的伺服器是什麼 瀏覽:63
下載運行的app後台怎麼撤出來 瀏覽:98
網易我的世界怎麼加材質給伺服器 瀏覽:762
app舊版本不更新怎麼操作 瀏覽:370
如何編譯ddwrt 瀏覽:65
命令行讀文件 瀏覽:352
phpjson轉多維數組 瀏覽:912
linuxboot修復 瀏覽:845
程序在線編譯系統的設計與實現 瀏覽:722
電腦c盤記錄存在哪個文件夾 瀏覽:157
演算法分析與設計替換方法 瀏覽:850
老程序員丟失手機 瀏覽:274
新世紀日本語pdf 瀏覽:87
基於單片機的數字示波器 瀏覽:38
登qq伺服器連接中什麼意思 瀏覽:439
表格宏命令 瀏覽:994
肯德基app設定在哪裡 瀏覽:475
蘋果電腦文件夾怎麼添加列印機 瀏覽:703
pythonswagger 瀏覽:235