300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Python编程进阶——面向对象

Python编程进阶——面向对象

时间:2023-10-23 05:18:28

相关推荐

Python编程进阶——面向对象

目录

1.面向对象2.魔法方法3.作业:

1.面向对象

# 万物皆对象# 封装代码的方法,封装更先进# 面向对象,从面向过程的基础发展过来的,比面向过程更具有灵活性和扩展性# 面向过程:面向对象 编程解决问题的一种方式,都是指对同一个问题的不同解决方式# 把大象装进冰箱:3步# 1.打开冰箱门# 2.把大象装进冰箱# 3.关闭冰箱门# 学生管理系统面向过程,添加修改删除查询工具独立封装成一个个的函数,最后使用有顺序的去调用不同的函数# 日常思维去做# 面向过程思维# 2.把大象装进冰箱# 3.关闭冰箱门# 1,打开冰箱门# 使用的时候 1.打开冰箱门 2.把大象装进冰箱 3.关闭冰箱门# 流水线思维 wev自动化公开课 线性代码 实现百度搜索# 1.打开谷歌浏览器 2.访问百度 3.找到输入框输入搜索内容 4.找到搜索按钮进行点击# 面向对象: 创建一个对象 把要做的事情交给这个对象去做# 创建一个对象# 冰箱对象# 冰箱有打开门的方法# 冰箱有装东西的方法(大象,零食,饮料)# 冰箱有关闭的方法# 编程解决问题的方案# 面向对象: 侧重的谁来做# 面向过程: 一条流水线,从头到尾一套流程有顺序的去解决问题# 面向对象,面向过程 方式更好:学习的思维 简单代码 不复杂的流程 面向过程做 元素定位 (追踪报错)# 1.打开谷歌 2.访问登录页 3.找到输入框输入用户,密码点击登录,搜索手机,手机添加到购物车# 复杂的流程 面向对象的思维去做# 面向对象pom页面对象# 登录一个页面对象 登录页 找用户名输入框 找密码输入框 找登录按钮 登录的整个流程 加了个流程 验证码# 添加到购物车页 找颜色 找数量# 有几个学生,第一个学生:# 小李,年龄18岁,性别女 会打游戏,会打羽毛球# 小明,年龄20岁,性别男,会吃鸡,会打篮球# 弯弯,年龄60岁,性别女,会做饭,会织毛衣#面向过程去写# 定义一个小李,年龄18岁,性别女 会打游戏,会打羽毛球# 定义一个小明,年龄20岁,性别男,会吃鸡,会打篮球# 定义一个弯弯,年龄60岁,性别女,会做饭,会织毛衣# 获得小李的信息# 调用小李的函数就行# 小明的函数# 面向对象去写# 学生对象# 学生:名字,年龄,性别 会打游戏 会打羽毛球 会吃鸡 会打篮球 会做饭 会织毛衣# 创建('小李',18,女)会打游戏 会打羽毛球# ('弯弯',60,女)会做饭 会织毛衣# 创建多少个学生 给他多少学生 学生有多少技能多少技能# 面向对象: 了解到两个名称# 类:具有共同特征或者相同行为的事物的一个统称# 鸟类: 特征: 有翅膀,有两只脚,有一双眼睛,心脏为四室,体温为恒温# 行为:会飞,会吃虫子# 特征被称为:属性# 行为称为: 方法# 类是抽象 不能指具体的事物,就是总的一个模板# 对象: 具体的某一个东西 具体的楼下阿姨家的鹦鹉,隔壁小王家的麻雀 不同具体的对象# 定义类'''class 类名:类属性类方法def 方法1(self):passdef 方法2(self):pass类属性: 事物的特征类方法: 事物具有的行为类名: 第一个首字母大写Bridge'''# 游戏,游戏中有几只猫,都是20kg,颜色都是白色,所以我有几只20斤的白猫,一只白猫会抓老鼠# 一只白猫会吃鱼,一只白猫会吃鱼又会抓老鼠又会打洞# 写?面向过程?定义3只猫# 面向对象: 创建一个模板 也就是类# 创建每一只猫,体重,颜色,给猫取个名字都自己去改变# 用init初始化函数 作用 只要创建类对象,就会执行这个init# def test(参数,参数):#变量名=参数# name是翠花 weight是20 color是黑白灰class Cat:def __new__(cls,*args,**kwargs):return object.__new__(cls)def __init__(self,name,weight,color):#翠花赋值给self.name,所以self.name是翠花.然后self是代表对象本身,所以tom1.name 翠花self.name = nameself.weight = weightself.color = colordef catch(self):print(f'{self}小{self.color}猫抓老鼠')def eat(self):print('小白猫爱吃鱼')def cave(self):print('小白猫会打洞')def __str__(self):return f'这是一个对象的描述信息:{self.name}{self.color}猫的悲伤故事'def __del__(self):print(f'{self.name}小猫挂了')# 白猫类的所有特征# 类不能够直接使用# 创建具体的对象 也就是实例化对象 对象名=类() 对象名.方法名 对象名.属性# tom小白猫# self 不知道 断点看看 self像是对象地址 self好像是对象# 创建了一个对象 self就能区分你是哪个对象tom1 = Cat()tom1.catch()# 创建出来一只具体的会抓老鼠的猫print('-'*50)tom2 = Cat()tom2.eat()# 创建出来一只具体的会吃鱼的猫print('-'*50)tom3 = Cat()tom3.eat()tom3.catch()tom3.cave()# 创建出来一只具体的会吃鱼又会抓老鼠又会打洞的猫# 这是3只猫 不确定是不是3只猫 监测是不是三只猫? id检测print(tom1,id(tom1))print(tom2,id(tom2))print(tom3,id(tom3))# 猫都是白色的,能不能搞特殊,有一只猫长着变异 黑白猫# 改变猫的属性tom1 = Cat()tom1.cat_color = '黑白'tom1.catch()tom2 = Cat()tom2.catch()# tom1就是selftom1 = Cat('翠花','20','黑白灰')print('名字为{}的小{}猫的故事'.format(tom1.name,tom1.color))print(tom1)# 想要tom1打印出来的是我自己自定义的东西tom1.catch()tom2 = Cat('月下','20','月下猫')print('名字为{}的小{}猫的故事'.format(tom2.name,tom2.color))# 在项目中什么时候会用到init函数 创建一个对象 用到对象里面的内容 之前我一定要干啥# 一定要干的事情就写在init里面# 数据库配置 数据库的链接

2.魔法方法

# 用init初始化函数 作用 只要创建类对象,就会执行这个init# __str__对象描述方法,只要定义了__str__方法,对象就会打印这个方法中的return# __del__销毁对象,不管写不写del函数,都会销毁# __new__创建类的对象

3.作业:

# 题目:去银行存取钱# 二狗 银行账号123456789 余额500 想要存钱200# 虚竹 银行账号23456789 余额5 想要取钱100# 秋水 银行账号3456789 余额5亿 想要存钱1亿class Bank:def __init__(self,username,card_no,balance):self.username = usernameself.card_no = card_noself.balance = balance# 存钱def deposit(self,amount):print('{}你是来存钱的,存{}'.format(self.username,amount))self.balance = self.balance + amount# 取钱def withdrawal(self,amount):print('我是来取钱的,取{}'.format(amount))if self.balance >= amount:self.balance = self.balance - amountelse:print('想钱想疯了,快走')def __str__(self):return f'我是{self.username},我的账户{self.card_no},我的余额{self.balance}'# 原本500,存了200,余额是没有变ergou = Bank('二狗','123456789','500')ergou.deposit(200)print(ergou)# 原本账号5块钱 想取100块 没门 提示 判断账户余额大于等于取钱余额,让你取,记得把账号里面减掉,让你取,否则想钱想疯了xuzhu = Bank('虚竹','123456789','5')xuzhu.withdrawal(100)print(xuzhu)# 剩下的逻辑# 二狗存钱,存了之后账号里面的钱没增加# 虚竹取钱,取了超过他的余额他还有钱# 面向对象# 类和对象 创建类 实例化对象才能使用# self代表的是自己的# init函数 del str# 1.#减肥成长记 类和对象# 小明 体重 80公斤 160斤# 1.小明每次跑步 会减肥0.5公斤# 2.每次吃东西 体重会增加1公斤# 名字 星辰 寒灯class Person:def __init__(self,name,weight):self.name = nameself.weight = weight# 减肥给个次数def run(self,num):print('%s爱跑步,跑步减肥,减0.5斤'%(self.name,self.weight))self.weight = self.weight - 0.5*num# 吃东西时 给个次数 不确定def eat(self,num):print('%s爱吃东西,一吃就胖,一胖就胖1斤'%(self.name,self.weight))self.weight=self.weight+1*numdef __str__(self):return "我的名字叫%s,体重%.2f"%(self.name,self.weight)# 创建对象 对象名=类名()x = Person('星辰',80)print(x)#吃东西 吃的方法 每次吃东西 体重会增加1斤 原来的体重上面要加1斤x.eat()print(x)x.run()print(x)#星辰一天吃三顿,3顿都没有运动,10顿x.eat()x.eat()x.eat()x.eat(3)print(x)x.run(3)print(x)#

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。