Python類直接呼叫成員變數後的輸出問題?

時間 2021-05-29 22:20:18

1樓:

我剛開始也被Python的這個屬性迷惑過,因為Python是無需事先宣告即可使用變數的

這麼理解吧,如果像題中這麼定義的List叫做類成員(下面例子中的population),那麼會在這個類的所有例項中共享,並且可以無需宣告直接呼叫如 class_name.member_name

題主想要的變數是在這裡稱為例項成員(下面例子中的name),確保想要呼叫的成員在建構函式內定義過即可

# Example

class

Person

:def

__init__

(self

,name

):self

.name

=name

# Instance member

Person

.population

=Person

.population+1

# Class member

population=0

# Class member, shared within the class domain

2樓:劉仙

這個變數是類物件Next的乙個變數,你每次改變的都是同乙個變數,當然會累加咯。

你的Next類又沒有改變。你每次都改變的同乙個東西,當然會這樣咯。

3樓:靈劍

因為你的List成員是類的成員,不是物件的成員,物件成員應該在__init__裡初始化。因為是類的成員所以所有例項操縱的是同乙個列表。

類的成員函式直接隱式使用成員變數還是傳遞成員變數作為引數?

第乙個方法都沒有使用類成員好吧 第乙個方法應該說是乙個工具吧,就是計算和的工具,建議單獨封裝成靜態類中的方法 PS 另外,看見有些回答說方案一是脫褲子放屁,個人倒是覺得這是脫褲子拉稀 很多回答認為方案 1 是脫褲子放屁。不過我以為這是乙個值得思考的問題。正如 XZiar 所言,這是個設計抉擇的問題,...

python問題,為什麼呼叫類的時候可以使用多個括號連寫?

1 首先要理解這個 call 方法,當類中定義了 call 方法後,類的例項物件可以帶括號呼叫。相當於x arguments is a shorthand for x.call arguments 2 add 1 是你類的例項物件。由於類中定義了方法 call 所以你的例項物件 add 1 2 是呼...

python 乙個類的函式如何呼叫另乙個類中函式的返回值?

我覺得大概有這麼幾種辦法。最簡單的一種是給subFrame的建構函式新增乙個引數 class subframe wx Frame def init self parent self parent parent class mainframe wx Frame def open subframe se...