|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- class FrenchDeck:
- ranks = [str(n) for n in range(2, 11)] + list('JQKA') # 扑克牌从2开始是最小的,然后A是最后的
- suits = 'spades diamonds clubs hearts'.split() # 每张扑克牌有4种,黑桃,红心等
- def __init__(self):
- print(self.suits)
- print(suits)
复制代码
下面的print函数中,第二个会报错,但是第一个不会报错。我在init前不是定义了suits吗,为什么要加哥self才能调用呢?
print(suits)找的是主程序的suits,而不是类的属性。self.suits是类的实例化的属性。‘
- suits ='main'
- class FrenchDeck:
- ranks = [str(n) for n in range(2, 11)] + list('JQKA') # 扑克牌从2开始是最小的,然后A是最后的
- suits = 'spades diamonds clubs hearts'.split() # 每张扑克牌有4种,黑桃,红心等
- def __init__(self):
- print(self.suits)
- print(suits)
复制代码
- >>> a=FrenchDeck()
- ['spades', 'diamonds', 'clubs', 'hearts']
- main
复制代码
|
|