定義或呼叫類的attribute or method時,要加self。他們是類的「屬性」,例項化後可以通過object.attribute, object.method()的方法使用。
定義或呼叫類的區域性變數或方法的區域性變數時,不加self,如果是類的區域性變數,那麼在類內都可以訪問,但他不是類的屬性,所以不能以例項化(object.attribute)的方式訪問;如果是方法的區域性變數,那麼在方法內都可以訪問。
>>
>
class
aaa(
object):
...def
go(self):.
.. self.one =
'hello'..
.>>
>
class
bbb(
object):
...def
go(self):.
.. one =
'hello'..
.>>
> a1 = aaa(
)>>
> a1.go(
)>>
> a1.one
'hello'
>>
> a2 = aaa(
)>>
> a2.one
traceback (most recent call last)
: file ""
, line 1,in
attributeerror:
'aaa'
object has no attribute 'one'
>>
> a2.go(
)>>
> a2.one
'hello'
>>
> b1 = bbb(
)>>
> b1.go(
)>>
> b1.one
traceback (most recent call last)
: file ""
, line 1,in
attributeerror:
'bbb'
object has no attribute 'one'
>>
> bbb.one
traceback (most recent call last)
: file ""
, line 1,in
attributeerror:
type
object
'bbb' has no attribute 'one'
>>
>
class
bbb(
object):
...def
go(self):.
.. one =
'hello'..
.print one..
. self.another = one..
.>>
> b2 = bbb(
)>>
> b2.go(
)hello
>>
> b2.another
'hello'
>>
> b2.one
traceback (most recent call last)
: file ""
, line 1,in
attributeerror:
'bbb'
object has no attribute 'one'
reference: python 類中的變數 方法
一.python 類中的變數分為類變數,例項變數,self coding utf 8 class a object date 20201215 類變數 def init self self.name stephen 例項變數 def str self return self.date self.na...
Python中的類與變數
定義類 class student 居然有括號 name 定義變數 age 0 def print file self 定義函式,self 是必須的 print name self.name 引用變數也要加self print file 使用類的方法 例項化 student student stud...
python中的變數與常量
不管在python還是在其他語言,最終目的都是為了對資料進行處理。那麼這些資料儲存到 呢?實際上就是儲存在變數與常量當中.簡而言之,變數與常量都是用來儲存資料的容器。在建立的時候都會在記憶體中開闢一塊空間,用於儲存它的值。python中的變數不需要宣告型別 弱型別語言,動態語言 每個變數在使用前都必...