类
1. 类
类定义格式如下:
class <类名>:
类体
类中除了定义函数,还可以包含其他语句。一个类中的函数定义通常有一个特殊的参数列表形式,以在类外调用这个函数。
2. 类对象
类支持两种操作:属性引用和实例化。
属性引用
调用类的属性:obj.name,name是类中定义的变量或函数的名字。
示例:
class Rectangle: #这是一个长方形的类
def __init__(self,length=10,width=5): #这是第一个函数,初始化的函数
self.l=length #这是两个属性
self.w=width
def show(self): #这是第二个函数
print("长度为:",self.l,"宽度为:",self.w)
xiao_a=Rectangle() #默认的长方形
xiao_b=Rectangle(100,20)
xiao_a.show()
xiao_b.show()
c=xiao_b.l
print(c)
类实例化
示例:
x = MyClass()
上面的示例,创建该类的新实例并将对象分配给本地变量x。
一个类可以定义一个名为init()的特殊方法。
示例:
def __init__(self, data):
self.data=23
当一个类定义了一个init()方法时,类会自动调用init()新创建的类实例。可以通过x=MyClass()
的方式获得。在这种情况下,赋予类实例化的参数被传递给init()。
示例:
>>> class ComplexClass:
... def __inis__(self, r, i):
... self.r = r
... self.i = i
... print(self.r + self.i)
...
...
... >>> x = ComplexClass(3, 6)
9
>>> x.r, x.i
(3, 6)
3. 实例对象
示例:
class Complex:
def __init__(self, r, i):
self.r = r
self.i = i
print(self.r + self.i)
x = Complex(3, 6)
x.counter = 1
while x.counter < 10:
print("hello",x.counter)
x.counter = x.counter * 2
print(x.counter)
del x.counter
运行结果:
9
hello 1
hello 2
hello 4
hello 8
16