Python类和对象
来自CloudWiki
类的定义
在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法。类是对现实世界中一些事物的封装,定义一个类可以采用下面的方式来定义:
class className: block
注意类名后面有个冒号,block要向右边缩进,在block块里面就可以定义属性和方法了
定义了一个Person类:
class Person: #定义了一个属性 nation = 'China' province = 'Shandong' #定义了一个方法 def printNation(self): print(self.nation)
在类中我们可以定义一些属性,如:
nation = 'China' province = 'Shandong'
创建实例对象
类定义好后就可以进行实例化操作,通过:
p=Person( )
这样就产生了一个Person的实例对象
实例对象是根据类的模版生成的一个内存实体,有确定的数据与内存地址。
__init__() 函数
上面的例子是最简单形式的类和对象,在实际应用程序中并不真正有用。
要理解类的含义,我们必须先了解内置的 __init__() 函数。
所有类都有一个名为 __init__() 的函数,它始终在启动类时执行。
使用 __init__() 函数将值赋给对象属性,或者在创建对象时需要执行的其他操作:
class Person: #属性 nation ='China' province = 'Shandong' #初始化函数 def __init__(self, nation, province): self.nation = nation self.province = province #方法 def printNation(self): print(self.nation) if __name__ == '__main__': '''p=Person() print(p.nation,p.province) p.printNation() ''' p = Person("China","Beijing") print(p.nation) print(p.province) p.printNation()
创建名为 Person 的类,使用 __init__() 函数为 name 和 age 赋值:
class Person: def __init__(self, name, age): self.name = name self.age = age p1 = Person("Bill", 63) print(p1.name) print(p1.age)
属性值的访问
通过下面的两钟方法来读取访问:
(1) 使用类的名称,例如Person.name,Person.age;
(2) 使用类的实例对象,例如 p=Person()是对象,那么为p.name,p.age;
例如:
class Person: #定义了一个属性 nation = 'China' province = 'Shandong' #定义了一个方法 def printNation(self): print(self.nation) if __name__ == '__main__': p=Person()#创建一个对象 #打印类的属性 print(Person.nation,Person.province) #Person.printNation() #打印对象p的属性 ,运行对象p的方法 print(p.nation,p.province) p.printNation() #对象的属性和方法 比较常用