电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

python基础知识:类与对象

5页
  • 卖家[上传人]:M****
  • 文档编号:196809579
  • 上传时间:2021-09-22
  • 文档格式:PDF
  • 文档大小:409.15KB
  • / 5 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、类与对象知识整理1.类和对象有什么关系?类和对象的关系就如同模具和这个模具制作出的物品之间的关系。个类为它的全部对象给出了个统的定义,他的每个对象则是符合这种定义的个实体,因此类和对象的关系就是抽象和具体的关系。2.如果我们定义了个狗类,那你能想象出由“狗”类实例化的对象有哪些?柴,阿拉斯加,柯基,哈奇。3.类的创建与实例输出:旺财注意:函数def后定是跟着个空格4.给类法传参5.类中的函数跟变量有什么特殊含义?类中的函数叫法,类中的变量如下例所示:class Dog():12 def _init_(self, name):#给了dog类一个参数name,并初始化3 self.name = name4 5keji = Dog(旺财)#Dog类的实例,实例对象是keji6print(keji.name) 7class 类名():1 def 类函数(self,参数):#这里传了一个参数,实例时需要给一个值2 print(参数)3实例1 = 类名()#实例4实例1.类函数(值)#调用类方法,并给对应参数一个值,括号里面等同于(参数 = 值)5class Student():1 name =

      2、张三 #类变量(即类属性)2 def _init_(self):3输出:张三 张三 18 中运上代码,我们可以知道:name是类变量,它可以由类名Student直接调,也可以由对象student1来调age是成员变量,因为它是在构造函数(_init_)内以self.开头来定义的。可以由类的对象来调用,这里可以看出成员变量一定是以self.的形式给出的,因为self的含义就是代表实例对象; difficulty不是成员变量,虽是以self.给出,但并没有在构造函数(_init_)中进行初始化。 subject不是成员变量,它只是study函数中的局部变量6.self是什么?先明确的是self只有在类的法中才会有,独的函数或法是不必带有self的。self在定义类的法时是必须有的,虽然在调时不必传相应的参数。self名称不是必须的,在python中self不是关键词,你可以定义成a或b或其它名字都可以,但是约定成俗(减少理解难度),不要搞另类,家会不明的。下例中将self改为myname样没有错误:输出:bill7.类的继承1. 类的继承很程度也是为了避免重复性劳动。如说当我们要写个新的类

      3、,如果新的类有许多代码都和旧类相同,有部分不同的时候,就可以“继承”的式避免重复写代码; self.age = 18 #成员变量45 def study(self):6 self.difficulty = 中 7 subject= 数学 #函数内部的局部变量8 9print(Student.name)10student1 = Student()11print(student1.name)12print(student1.age)13student1.study()#成员变量由于在方法中创建,所以必须先调用方法14print(student1.difficulty)15#print(student1.subject) #若打印出来,将会报该类没有subject属性16class Person():1 def _init_(myName,name):2 myName.name=name3 def sayHello(myName):4 print(My name is:,myName.name)5p=Person(bill)6print(p.name)72. 类创建的实例,同时属于类;3.

      4、类创建的实例,不属于类;4. 所有实例,都属于根类object;(即class Student(object) object平时都是省略)#类与类1. 类除了可以定制新的类法,还能直接覆盖类的法;2.【单继承】:个类从个类中继承类法;class 类(类)3.【多重继承】:个类从多个类中继承类法,具有就近原则(在类调属性和法时,优先考虑靠近类的类)class 类(类1,类2.)4. 【多层继承】:类的创建,可以调所有层级的类的属性和法class B(A):class C(B):#案例1:类的定制(继承类后新增类法)#案例2 :类的重写class Chinese:1 eye = black2 def eat(self):3 print(吃饭,选择用筷子。)45class Cantonese(Chinese): # 类的继承6 native_place = guangdong # 类的定制(即新增一个类变量)7 def dialect(self): # 类的定制(即新增一个函数)8 print(我们会讲广东话。)910yewen = Cantonese()#实例化子类1112print(ye

      5、wen.eye) # 父类的属性能用13print(yewen.native_place) # 子类的定制属性也能用14yewen.eat() # 父类的方法能用15yewen.dialect() # 子类的定制方法也能用16class Chinese:1 def _init_(self):2 self.skinColor = yellow#父类成员变量skinColor3输出:东话注释#号删了运后:输 东话 yellow8._ _init_初始化的作,和_str_的处加上下划线的函数名都是有特殊含义的,每个都样 init的作是,只要你建个实例,这个函数的代码就动运遍,不需要专调这个函数str的作,如果这个函数有return语句,动将返回值打印出来,不专写print 8。初始化函数 你把类理解成种复杂的变量,这个变量到底在计算机中占多?于是你要初始化所有类中到的变量,告诉计算机这个类都有哪些变量,类型都是什么(这样计算机才知道开多内存)以及放什么(赋值)类和函数的区别,为什么要有类,就像如说你有服,这个服你就可以理解为函数,但是吧,你的服可能要分冬天穿的和夏天穿的,这样你就要整理箱,把

      6、东都装起来。冬天穿的放到起,然后夏天穿的放到起,为什么要这样呢?就是因为便使。这的整理箱也把它理解为类习题:参考答案: self.language = 普通话#父类成员变量language45class Cantonese(Chinese): # 类的继承6 def _init_(self):#重写初始化函数7 #Chinese._init_(self) #继续引用父类的初始化方法8 self.language = 广东话#修改成员变量language910person1 = Cantonese()#子类实例化11print(person1.language)12#print(person1.skinColor)1314#由于直接重写父类初始化方法,所以成员变量只有language,15#想要继续引用skinColor变量,初始化必须在写上父类初始化方法,16#可把上方代码第8和13行注释的#号删了,运行测试一下1718一、按照以下要求定义一个游乐园门票类,并尝试计算2个成人+1个小孩子平日票价11.平日票价100元22.周末票价为平日票价120%33.儿童半价4class Ticke

      7、t:1 pice = 100 #类属性2 weekend = pice*0.2+pice #类属性3 def compute(self,adultNum,childNum,isweekend):#类方法,计算金额(在调用是必须给三个参数值)4解析:先,先建个Ticket类,票价由于在其他类函数中需要到,所以可以设置成类属性其次,考虑到要统计票价,所以需要写个类法来处理,由于考虑到让系统更智能,因将成数量,孩数量以及是否为周末等信息通过类外部获取(如不需要,可直接将这三个数定义为局部变量,赋固定值)所以,需要3个参数。函数内部要先判断是不是周末,如果不是周末,那么票价就是price,如果是周末,那么票价就是weekend最终,将成数量,孩数量以及是否为周末的值设置为,由户输,并将值传到实例后的compute法。 if(isweekend=no):5 total = adultNum*self.pice+childNum*(self.pice/2)#类属性可以用self.变量名调用6 print(应该支付总金额:,str(total)7 elif(isweekend=yes):8 total = adultNum*self.weekend+childNum*(self.weekend/2)9 print(应该支付总金额:,str(total)10 else:#处理输入其他值的情况11 print(输入有误)1213print(welcome to 迪斯尼 )14adult = int(input(请输入成年人数量)15child = int(input(请输入小孩数量)16isweekend = input(是否是周末?yes/no)17t = Ticket()pute(adult,child,isweekend)#给参数赋值,19#三个变量的值依次对应三个参数,顺序不能乱!20

      《python基础知识:类与对象》由会员M****分享,可在线阅读,更多相关《python基础知识:类与对象》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.