1、啥叫 printBB() takes 0 positional arguments but 1 was given?
就是说,如果 没有self的时候,那么就需要0个参数,但是bb就本身是一个参数,传进去就不对了
2、类对象后面加点什么意思例如C.
在类对象后面加点(.
)表示访问类的属性或方法。
3、类变量和实例变量
举个例子:
class Dog:
kind = 'canine'
tricks = []
#此时,这个tricks叫做类变量!类变量有一个特征就是实例之后都会有变量tricks
def __init__(self,name)
self.name = name
def add_trick(self,trick):
self.tricks.append(trick)
d = Dog('Fido')
e = Dog('Buddy')
print(d.kind)
print(e.kind)
d.add_trick('run')
print(e.tricks)
#结果是什么样的呢?
#canine
canine
['run']
解释一下:因为类变量tricks是共享的,所以即使是d调用了tricks,打印c还是会有‘run’这个字符串出现!
啥叫实例化变量呢?
class Dog:
kind = 'canine'
#此时,这个tricks叫做类变量!类变量有一个特征就是实例之后都会有变量tricks
def __init__(self,name)
self.name = name
self.tricks = []
def add_trick(self,trick):
self.tricks.append(trick)
d = Dog('Fido')
e = Dog('Buddy')
print(d.kind)
print(e.kind)
d.add_trick('run')
print(e.tricks)
#结果是什么样的呢?
#canine
canine
[]
这样,把tricks放到了def__init__(self,name)函数下面,就是实例化对象了 在调用d的时候 打印e.tricks就没用了 就不能共享了