我在Java不久前編碼,我記得class關鍵字如何能在班裏的任何方法裏面訪問,的Java類的變量和Python中
例,
int age
int xyz
public void abc(int aga,int xyz) {
this.age = age;
this.xyz = xyz;
}
現在在上面的代碼中, this.age
和this.xyz
引用了類變量。 這兩個變量是類變量,並已在方法abc
, 之外聲明,因此,這兩個變量可以在類中的任何位置訪問。
現在,如果我們談論的Python,
在Python中__init__
方法就是建構, 如果我宣佈__init__
內的任何變量,那又是訪問其類的任意位置, - 即使它的內部聲明一個方法 - 就像Java類變量一樣?
例如, 考慮以下代碼,
Class Main:
def __init__(self):
self._age = None
self._xyz = None
變量age
和xyz
在裏面__init__
聲明,我可以訪問他們在類Main
其它方法嗎? 我可能知道答案是肯定的,但爲什麼答案是肯定的? 這些變量是在一個方法內部聲明的,而不是聲明爲類變量,那麼他們怎樣才能被其他方法和其他類訪問。
你試過了嗎? –
是的,我試過了,這就是爲什麼我問。因爲在java中,這個變量是用來當我們訪問類變量,但在Python中沒有必要在上面的代碼中寫自己。在我的代碼中(我正在學習),變量age和xyz從未在類中聲明過(只在__init__中聲明),但是可以在其他類中訪問它們。 –
是的,你可以。只要將它引用爲'self._age' – karthikr