python的self之個人理解

2022-08-24 13:54:10 字數 1037 閱讀 9288

本文參考

python中的self一般用於類的方法中,當然乙個獨立的函式也可以加上self引數,但是如果沒有需要豈不是在給自己找麻煩,因為呼叫的時候還要傳進去乙個空引數(我以前都是這樣做的,慚愧)。

self在定義類的方法時是必須有的,雖然在呼叫時不必傳入相應的引數。當然self也可以換成其他的自己喜歡的詞,除非你不想讓別人讀取懂自己的程式

#

coding=utf-8

class

person:

def__init__

(self,name):

self.name=name

defsayhello(self):

print

'hello, my name is:

',self.name

p=person('

bill')

p.sayhello()

self指的是類例項物件本身而不是類本身。個人認為self的作用主要是標示公有成員變數的作用,我們知道,在c++中,可以用private或者public來定義類的乙個屬性,即類成員變數,這個變數可以被類中的所有方法使用。但是,python是一種動態語言,使用變數前不用定義或者宣告,那麼,如果我在類的乙個方法定義了乙個變數,這個變數就唯一的屬於這個方法,如果其他方法想用這個變數呢?不好意思,不能使用。而使用self則可以解決這個問題,self會告訴所有的方法:這個變數是我們共有的,可以隨便用喲

#

coding=utf-8

class

person:

def__init__

(self,name):

self.name=name

mame1=name #

name1只屬於_init_方法,sayhello不能使用

defsayhello(self):

print

'hello, my name is:

',self.name

p=person('

bill')

p.sayhello()

深入理解python之self

首先明確的是self只有在類的方法中才會有,獨立的函式或方法是不必帶有self的。self在定義類的方法時是必須有的,雖然在呼叫時不必傳入相應的引數。class person def init myname,name myname.name name defsayhello myname print...

關於Java nofity wait的個人理解

首先notify,wait的經典場景是生產者,消費者模型 importorg.slf4j.logger created by wcl on 17 9 17.public classconsumerimplementsrunnable public voidrun 消費 1,當前數量 name,con...

Python的類之self的重要性

1.首先看python如何定義類 class athlete def init self the code to initialize a person object.2.self的重要性 定義乙個類時,實際上是在定義乙個定製工廠函式,然後可以在 中使用這個工廠函式建立例項 a person pyt...