Python 面向对象编程技术(二)
一、定义一个类
在Python程序中,把具有相同属性和方法的对象归为一个类,例如可以将人类、动物和植物看作是不同的“类”。在使用类之前必须先创建这个类,定义类的语法格式如下所示:
class ClassName:
语句
- class:是定义类的关键字
- ClassName:是这个类的名称,Python语言规定,类的首字母大写。
二、类的基本用法
在Python程序中,类只有被实例化后才能被使用。类的实例化跟函数调用类似,只要使用类名加小括号的形式就可以实例化一个类。类实例化以后会生成该类的一个实例。一个类可以实例化成多个实例,实例与实例之间不会相互影响,类实例化以后就可以直接使用了。
示例演示如下:
class Myclass: #定义类Myclass
"这是一个类"
myclass = Myclass #实例化类Myclass
print(myclass.__doc__) #显示属性值
print("显示类帮助信息")
help(myclass)
在上述代码中,首先定义了一个自定义类Myclass,在类体中只有一行类的说明信息,然后实例化该类,并调用类的属性来显示属性 ‘’__doc__的值,Python语言中的每个对象都会有一个 ‘’__doc__属性,该属性用于描述该对象的作用。在最后一行代码中用到Python的内置函数help(),功能是显示帮助信息。执行后会输出:
三、对象
在Python程序中,类实例化后就生成了一个对象。类对象可以支持两种操作,分别是属性引用和实例化。属性引用的方法和Python中所有属性引用的方法一致,都是使用“obj.name”格式。在类对象被创建后,类命名空间中所有的命名都是有效属性名。例如在下面的代码中,演示了实用类对象的基本过程:
class Myclass: #定义类Myclass
"一个简单的类实例"
i = 123456789 #设置变量i的初始值
def f(self): #定义类方法f()
return "你们好,我是蟹老板" #打印显示文本
x = Myclass() #实例化类Myclass
print(x.f()) #类Myclass中的方法f输出
print("我的财产有:",x.i,"元") #显示Myclass中的属性i的值
在上述代码中,创建了一个新的类实例并将该对象赋给局部变量x。x的初始值是一个空的Myclass对象,通过最后两行代码分别对x对象成员进行赋值。执行后输出: