1.定义
将内容封装到某个地方,以后再去调用被封装在某处的内容。
2.方法
在使用面向对象的封装特性时,需要把对象和属性捆绑在一起,并且可以调用对象的属性内容;
(1)构造方法
*** ——init —— (self) *** :构造函数,自动执行构造方法里的内容;
构造方法在对象创建出来后执行;
#构造方法:__init__(self)
#创建类
class student:
def __init__(self): #构造函数,在创建出对象后执行
#self:是实例化出的对象,系统自动将实例化出的对象传递给构造方法
print('self:',self)
print('正在运行构造函数')
#实例化
stu1=student()
print('stu1:',stu1)
结果
self: <__main__.student object at 0x00000196FB22D748>
正在运行构造函数
stu1: <__main__.student object at 0x00000196FB22D748>
(2)调用封装的属性信息
对象名.属性名
self.属性名
self.方法名()
#定义类
class Student:
#定义属性
def __init__(self,name,score1,score2): #实例化出的self对象具有name,score1,score2这些属性
self.name=name #进行封装
self.score1=score1
self.score2=score2
#定义方法
def sum_score(self):
result=self.score1+self.score2 #调用封装信息
return result
stu1=Student(name='张三',score1=100,score2=200)
sum_score=stu1.sum_score() #调用封装信息
print(sum_score)
结果
300
3.小练习
创建一个类People,拥有的属性为姓名, 性别和年龄, 拥有的方法为购物,玩游戏,学习;
实例化对象,执行相应的方法。
显示如下:
小明,18岁,男,去购物
小王,22岁,男,去购物
小红,10岁,女,在学习
class People:
def __init__(self,name,gender,age):
self.name=name
self.gender=gender
self.age=age
def go_shopping(self):
print('%s,%d岁,%s,去购物'%(self.name,self.age,self.gender))
def play_game(self):
print('%s,%d岁,%s,去玩游戏'%(self.name,self.age,self.gender))
def are_learning(self):
print('%s,%d岁,%s,在学习'%(self.name,self.age,self.gender))
if __name__ == '__main__':
stu1=People('小明','男',18)
stu1.go_shopping()
stu2=People('小红','女',18)
stu2.play_game()
结果
小明,18岁,男,去购物
小红,18岁,女,去玩游戏
来源:CSDN
作者:An宁
链接:https://blog.csdn.net/ANingL/article/details/103825501