.png)
一、类和对象1、万物皆对象
2、对象:用来描述客观事物的一个 实体 , 由一组 属性 和 方法 构成
3、属性:对象具有的各种特征 , 每个对象的每个属性都有特定值
4、方法:对象执行的操作
5、类:对象的分类 , 分类就是认识对象的过程
私信小编01即可获取大量python学习资源【面向对象 python python面向对象编程思维】面向对象设计的规则
1、图书类: 属性:图书编号、书名、书的作者、上架日期、借出状态
功能(方法):借出和归还
2、银行卡类: 属性:卡号、银行卡名称、密码、姓名、余额
方法:登入、存款、取款
二、面向对象创建:定义某个类的对象具有的属性(变量)和方法(函数)
# 思路:# 定义类 --> 人类# 编写类的属性:姓名、年龄、id(身份证号)、手机号# 编写类的方法:吃、喝、玩、睡、上班class Person:# 编写属性(变量)name = "杨幂"age = 30gender = '女'# 我不想用指定属性 , 我想自己创建姓名def set_param(self, name):# age、gender一样操作self.name = nameprint(f'姓名:{self.name}')# 如属性很多 , 那就很麻烦 , 我们可以使用 def __init__()去构造# 编写方法(函数),无参def eat(self):print('eating')def drink(self):print('drinking')def play(self):print('playing')def sleep(self):print('sleeping')@classmethoddef work(self):print('working')# 对象的构造YM = Person()# 调用方法YM.sleep()YM.work()zs = Person()zs.set_param('张三')# 类访问方法 , 需要添加一个装饰器@classmethodPerson.eat()# def __init__() 去构造属性class Person:def __init__(self, name, age, gender):self.name = nameself.age = ageself.gender = gender# 编写方法(函数),有参def eat(self, food):print(f'{self.name}在吃{food}')def drink(self, sthing):print(f'{self.name}在喝{sthing}')def play(self):print(f'{self.name}在玩')def sleep(self):print(f'{self.name}在睡觉')def work(self):print(f'{self.name}正在工作')def info(self):# 输出信息print("该人的信息:", self.name, self.age, self.gender)# 构造对象输出信息lihaoran = Person(name='李浩然', age=32, gender='男')# 调用方法lihaoran.info()lihaoran.work()lihaoran.sleep()三、面向对象思想:封装、继承、多态1、封装(属性私有化)- 私有属性可以被查看 , 但是不能被修改 —> get方法
- 私有属性不被外界查看 , 但可以被外界修改 —> set方法】
"""封装(属性私有化)"""class Student:def __init__(self, name, age, xh, id, address):self.name = name# 默认公共属性(允许外界读取 修改)self.age = age# 默认公共属性(允许外界读取 修改)self.xh = xhself.__id = id# 私有属性(不允许外界读取 修改)self.__address = address# 私有属性(不允许外界读取 修改)# 私有属性可以被查看 , 但是不能被修改 ---> get方法def getid(self):return self.__iddef setaddress(self, newadress):self.__address = newadressdef info(self):print('学生的基本信息:', self.name, self.age, self.xh, self.__id, self.__address)zhangsan = Student('Tom', 18, '001', '340104555555555555', '南京')# 私有属性(不允许外界读取 修改) , 如果想查看get方法# print(zhangsan.id) # 没有getid-->报错AttributeError: 'Student' object has no attribute 'id'read_student_id = zhangsan.getid()print(f'查看张三id:{read_student_id}')zhangsan.info()zhangsan.setaddress("合肥")zhangsan.info()2、继承、多态- 继承在父类基础上构造出新的类 , 子类可以拥有继承**父类的属性和方法
- 多态:指一个对象可以用子类的特点也可以父类的特征
推荐阅读
- python贪吃蛇游戏代码 Python实现自动玩贪吃蛇
- python多图合并成一张图 Python实现多张图片合成一张马赛克图片
- 怎么从b站上下载视频 python爬b站视频
- 软件加密方法 python编写加密程序
- python编写爬虫的步骤 python爬虫程序代码
- 小编教你python 2.7编程模块函数的详细介绍 小编教你 怎样盘头发好看
- 小编教你python 2.7中安装whl格式文件的详细操作流程 小编教你如何在手机上申报契税
- 小编分享python 2.7将网页内容存到本地的具体操作方法 小编分享得几点希望能帮到大家
- 分享python 2.7合并csv文件的方法介绍 分享的句子语录经典
- 我来分享python 2.7日期时间转换的具体操作步骤 我来分享你来欣赏
