簡體   English   中英

如何引用在Python中的類下聲明的變量?

[英]How do I reference the variable declared under a class in Python?

我對Python相對較新,正在使用Python 2.7.x

我對Python中的名稱空間有疑問:

class Team():
    x = 2 
    def p(self):
        print x 

a = Team()
a.p()

當我運行代碼時,它說global x is not defined x不應該屬於Team對象嗎? 我的目標是創建一個Team類,其中x的默認值為2。

在Java中,它將類似於:

class Team()
{
    int x = 2;
}

a = new Team();

如果您想要實例屬性和默認值2:

class Team(object): # use object for new style classes 
    def __init__(self, x=2):
        self.x = x # use self to refer to the instance

    def p(self):
        print self.x # self.x 

a = Team()
a.p()
2

b = Team(4) # give b a different value for x
b.p()
4

類與實例屬性之間的區別

新舊樣式類

如果要將x作為類變量,只需嘗試以下方法:

class Team(object):
    x = 2 
    def __init__(self):
      pass

print Team.x
Team.x = 3
print Team.x

您無需實例即可獲取值,並且可以根據需要更改它。

如果要將num作為實例屬性,則必須使用self(在Java中是這樣的):

class Team(object):

  def __init__(self, num):
    self.num = num

  def get_num(self):
    return self.num

  def set_num(self, change_num):
    self.num = change_num

t1 = Team(2)
print t1.get_num()
t1.set_num(3)
print t1.get_num()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM