1樓:育知同創教育
self是需要在類中使用的,你如果不加,你在這個類成員函式就是靜態方法,無法直接呼叫類中的方法以及成員,需要構造一個類例項,self免去了你自己構造類例項。
python3 中定義類函式引數中加 self 和不加的區別在哪
2樓:天天不看
class a:
def fun():
pass
# 這種就是靜態函bai數du,一般用zhi裝飾器 @staticmethod 修飾
class b:
def fun1(self):
pass
# 這種就是成員函式,
類例項可以dao
直接呼叫
@clas**ethod
def fun():
pass
# 這種是類函式,要求第一個參數列示類( cls )。也就是說,除了裝飾器 @clas**ethod 外,還要求它的定義如 def fun(cls,...)。
這是通過類直接呼叫的,如 a1.fun(...)
昨天也碰到了相同的問題,我在 notebook 裡面有些:
python3 中定義類函式引數中加 self 和不加的區別在哪
3樓:匿名使用者
self是需要在類中使用的,你如果不加,你在這個類成員函式就是靜態方法,無法直接呼叫類中的方法以及成員,需要構造一個類例項,self免去了你自己構造類例項。
python的類中引用成員變數必須加self嗎
4樓:汲城濮昊昊
類(class)初始化之後會得到例項(instance)。
self就是用於代表初始化的到的例項。
明確地寫一個self引數,使得類的方法(method)和普通的函式(function)本質上沒有差異,所有的輸入引數都顯示地傳遞到方法/函式當中。
當然作為類的方法,作用的對
python 方法中變數加self和不加的區別
5樓:氐彰詭祕褂
如果加self,一個類中各個函式可以通過這個self聯絡起來,(在類函式裡也加self)
python之為什麼類中函式的變數宣告要加self
6樓:
lass a:
def go(self):
self.one= 'sdf'
def go1(self):
print self.one
a = a()
a.go()
a.go1()
sdf==加了self,以後,這個變數就變成了全域性變數,在類中的其他函式中也可以呼叫。
python中的類中屬性元素加self.和不加self.的區別
7樓:尐二瓜
在類中,self只能在函式中使用,表示的是例項屬性,就是每個例項可以設定不值,而不相互影響。
如果在類級別使用沒有self的屬性,是類屬性,一般作為全域性變數來用的。
如果解決了您的問題請採納!
如果未解決請繼續追問!
8樓:小法
當你想讓這個變數成為這個類的子變數時
class lc():
def __init__(self):
self.a = 5
**alllc = lc()
print **alllc.如果不加self的話 , 那麼就不能 **alllc.a 這樣訪問了!
python3用read 函式讀取檔案兩次,就變成空字串了
python在讀取bai檔案的時候是根據游標位置du來讀取zhi的。讀一行 以後dao游標位置到了 下一行。內再來個容read又到了下一行。想要重新從頭開始讀的話用f.seek 0 將游標位置放到最前面。這樣再f.read 就是第一行的內容還有個方法是f.tell 告訴你當前游標的位置。你可以把檔案...
python3的format中s的用法
抄格式襲化字串型別數bai據 表示右對齊15個字du符,左側空zhi 白預設用空格填充 表示左對齊加dao 小數點一共8位的浮點型小數,保留小數點後兩位 中間的冒號,就是分隔兩個資料的分隔符 所以print format length 23.87501 這一句的執行結果是 網頁連結見此連結裡的5.8...
Python中函式在類的之下定義的呼叫問題
ball是一 個抄類,類定義 在 最前襲面 myball ball ball 生成 一個ball類的例項,myball是一個ball類例項myball.bounce 呼叫 類方法bounce python 在一個類中函式呼叫可以在函式定義之前嗎 兩種位置都試一下唄,程式設計需要有探索的勁兒,不然文件...