面向对象编程2和3
str__和__repr
前者在print(类对象)的时候输出,一般给用户用
后者,在命令行中单独输入一个对象时会输出,一般开发人员测试用,当没有前者而print(对象)时,后者可以代替前者
class A:
pass
def __repr__(self):
return '<This is a class named A.>'
def __str__(self):
return '[This is a class named A.]'
In[7]: import demo
In[8]: a=demo.A()
In[10]: a
Out[10]: <This is a class named A.>
In[11]: print(a)
[This is a class named A.]
类的公共变量
所有类需要一个公共变量时,应该在类里定义且不加"self."
class Book:
count=0
def __init__(self,name):
self.name=name
Book.count+=1
book1=Book("C++")
print(Book.count)
book2=Book("Java")
print(Book.count)
book3=Book("Python")
print(book3.count)
输出