day17 -python 类
一 类的基本语法与结构
一般形式 ,首字母大写
class ClassName (bases): #bases基类,写父类的名称,继承,如果没有继承,则不填
data = value #定义数据属性 ,类属性
def method(self,...): #定义方法属性,第一个参数必须为self
self.member = value #实例属性
:
class语句类似def,是可执行代码,直到运行class语句后类才会存在
二 创建类对象,类对象使用,访问类属性 方法
1 创建类对象
class FirstClass():
data = "hello class"
def printdata(self):
print (self.data) #从类中继承data方法
ins1 = FirstClass() #实例化类 ,创建类的新实例并将对象分配给局部变量ins1
print(ins1.data) #调用类的属性 ,返回一个字符串 。运行结果:hello class
print(ins1.printdata()) #调用类的方法 ,返回一个函数对象 运行结果:hello class
ins1.data = "test" #重新赋值,运行结果:test
创建带有特定初始状态的自定义实例,为此类定义可能包含一个名为__init__()的特殊方法
def __init__(self):
self.data = []
例子
class Complex():
def __init__(self,realpart,imagpart):
self.r = realpart
self.i = imagpart
x = Complex(3.0,-4.5)
print(x.r,x.i)




x = MyClass("tom"),直接传tom给who

析构函数不需要存在
2 实例对象
实例数据属性,数据属性=实例变量
比如上例中的。ins1.data()
实例方法(函数),一个类中所有是函数对象的属性都是定义了其实例的相应方法
如上例中 ins1.printdata()
三 全局变量与局部变量定义及使用
全局变量:直接使用
实例变量:指定变量名称及实例自身进行引用
self.变量名
局部变量:方法内部创建的变量,可直接使用
类这是 (静态变量):通过指定变量名与类名进行引用 类名.变量名

四 继承
class SubClassName(ParentClass1,[ParentClass2...])
可以继承多个
#继承
class PClass(): #定义一个父类
gender = "male"
def __init__(self,who):
self.name = who
class CClass(PClass): #定义继承类,继承PClass
def display(self):
print(self.gender,self.name)
x = CClass("Tom") #实例化类,并赋值
print(x.name,x.gender)
浙公网安备 33010602011771号