python学习-类
类
1 类的定义
三要素: 类名、属性、方法
class 类名():
def __int__(self,参数):#初始化属性
def func1(self):
def func2(self):
...#定义方法
类名主要要有实际意义,驼峰命名之类的
1.1 类的属性
def __init__(self,要传递的参数) #初始化类的属性
#例如:
class party():
"""模拟一支队伍"""
def __init__(self,num,leader,member):
"""初始化队伍内部属性"""
self.num=num=num #成员数目
self.leader=leader #设置队长
self.leader=member #设置队员
注意self不能漏变量掉,把参数传进来后,再赋值给用self修饰的变量。这样类就相当于内部声明了一个变量。
假设变量名为num。
类内部使用这个变量用self.num
。
类外部使用这个变量用实例.num
。
实例就是用该类创建的一个对象。
1.2 类的方法
承接上文
class party():
"""模拟一支队伍"""
def __init__(self,num,leader,member):
"""初始化队伍内部属性"""
self.num=num=num #成员数目
self.leader=leader #设置队长
self.leader=member #设置队员
def print_party(self): #哪怕没有参数也要填入self
print(self.num,self.leader,self.memeber) #输出成员队伍信息
def set_leader(self,name):
self.leader=name #设置队长,用字符串赋值名字之类的
def set_member(self,names):
self.member=names #names可以是列表
这样我们可以通过实例.方法
的方式调用类内部的函数,也就是使用方法。
1.3 创建实例
采用类名(参数)
的方式。对于上面的party类:
party(3,"安洁莉娜",["铃兰","空弦"])#和一般函数一样的对应关系
不过这样创建的实例很快就被垃圾回收了,所以我们还需要一个变量去指向它
hua_shui=party(3,"安洁莉娜",["铃兰","空弦"])
这样我们就可以通过hua_shui.num
调用变量num,用hua_shui.print_party()
的方式调用函数。
- 实例名.变量名
- 实例名.函数(必要的参数)
1.4 权限
- 在类中函数外的位置定义的变量可以供该类的所有实例共用
- 类中定义的变量前面加双下划线表示该变量为类的私有变量,不可以在外部进行修改,只能在调用类的方法进行修改。按照对C++的印象粗略的解释,不够严谨。
2 类的组合与继承
2.1 简单的继承
class 子类型(父类名):
class hua_shui_party(party):
"""划水队"""
def __init__(self,num,leader,member)
"""初始化属性"""
super().__init__(num,leader,memeber) #声明继承父类的属性
- 自动继承父类的所有方法,并可以更具自己的需要添加属性或方法。如果继承父类的方法不能满足需求,还可以重写父类的方法,重写要求形参相同。
2.2 类的的组合
所谓类的组合就是把一个类的实例作为另一个类的属性,如
class Leader():
def __init__(self,a,b,c)
self.a=a
self.b=b
self.c=c
def func1(...):
...
class party():
def __init__(self,a,b,c,d,e)
self.a=a
self.b=b
self.leader=Leader(c,d,e) #给参数
def func2(...):
...