保健励志美文体育育儿作文
投稿投诉
作文动态
热点娱乐
育儿情感
教程科技
体育养生
教案探索
美文旅游
财经日志
励志范文
论文时尚
保健游戏
护肤业界

2022年5月21日学习笔记

  Python学习笔记第九章类一、创建和使用类二、使用类和实例三、继承四、导入模块五、Python标准库六、注
  一、创建和使用类
  1、类和函数的区别
  类(class):类是面向你对象的,class可以保存一此属性的状态,同时也起到模板的作用,把一些通用的东西写进类定义中,也就是在’init’中。class有点像是将多个函数进行功能性封装
  函数:函数更像是面向过程编程,更易理解,但是当系统较大时,重复性就会增多。
  使用className()来创建一个Name类,类中包含许多方法(函数),根据类来创建实例XingMingName(),实例可以用句点表示法调用类中的方法。
  一个类包含了一系列实例的通性,众多根据类创建的实例可以使用句点表示法调用类中的方法。
  2、创建Dog类classDog():definit(self,name,age):self。namenameself。ageagedefsit(self):print(self。name。title()isnowsitting。)defrollover(self):print(self。name。title()rolledover!)mydogDog(willie,6)print(Mydogsnameismydog。name。title()。)print(Mydogisstr(mydog。age)yearsold。)mydog。sit()mydog。rollover()输出结果为:MydogsnameisWillie。Mydogis6yearsold。Willieisnowsitting。Willierolledover!在Python中,首字母大写的名称指的是类,因为要从空白创建这个类,所以类定义中的括号是空的。init()是类中的默认方法,每次根据类创建实例时,Python都会自动运行它。形参self必不可少,Python调用init()方法来创建实例时,将自动传入实参self。每个与类相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。创建Dog实例时,Python将diaoyongDog类的方法init(),通过实参向Dog()传递名字和年龄;self会自动传递,因此我们不需要传递它。每当我们根据Dog类创建实例时,都只需给最后两个形参(name和age)提供值。以self为前缀的变量都可供类中的所有方法使用,可以通过类的任何实例来访问这些变量。像self。name、self。age这样可以通过实例访问的变量称为属性。属性参数传递给init,使用self。属性来给实例赋予属性。访问属性:mydog。name,Python先找到实例mydog,再查找与这个实例相关联的属性。调用方法:mydog。sit()。创建实例后,以实例名替代self,如mydog。name相当于self。name。classPeople():definit(self,name,age,weight):self。namenameself。ageageself。weightweightdefwalk(self):print(self。name。title()isnowwalkingontheroad。)defdie(self):print(self。name。title()sweightisstr(self。weight)whenhewassenttothecrematorium。)zhangPeople(ZhangSan,18,200)print(zhang。name。title()isstr(zhang。age)yearsold。)zhang。walk()zhang。die()输出结果为:ZhangSanis18yearsold。ZhangSanisnowwalkingontheroad。ZhangSansweightis200whenhewassenttothecrematorium。二、使用类和实例
  1、Car类classCar():definit(self,make,model,year):self。makemakeself。modelmodelself。yearyeardefgetdescriptivename(self):longnamestr(self。year)self。makeself。model。returnlongname。title()mynewcarCar(audi,a4,2016)print(mynewcar。getdescriptivename())输出结果为:2016AudiA4。
  2、给属性指定默认值直接在方法中创建一个变量,并赋予初始默认值classCar():definit(self,make,model,year):self。makemakeself。modelmodelself。yearyearself。odometerreading0赋予默认值0defgetdescriptivename(self):longnamestr(self。year)self。makeself。model。returnlongname。title()defreadodometer(self):print(Thiscarhasstr(self。odometerreading)milesonit。)mynewcarCar(audi,a4,2016)print(mynewcar。getdescriptivename())mynewcar。readodometer()输出结果为:2016AudiA4。Thiscarhas0milesonit。也可像给形参赋予默认值一样:(更易理解)classCar():definit(self,make,model,year,odometerreading0):self。makemakeself。modelmodelself。yearyearself。odometerreadingodometerreadingdefgetdescriptivename(self):longnamestr(self。year)self。makeself。model。returnlongname。title()defreadodometer(self):print(Thiscarhasstr(self。odometerreading)milesonit。)mynewcarCar(audi,a4,2016)print(mynewcar。getdescriptivename())mynewcar。readodometer()输出结果:2016AudiA4。Thiscarhas0milesonit。
  3、直接修改属性的值可在类外直接对该变量进行赋值,此时Python会使用新赋予的值而非默认值classCar():definit(self,make,model,year):self。makemakeself。modelmodelself。yearyearself。odometerreading0赋予默认值0defgetdescriptivename(self):longnamestr(self。year)self。makeself。model。returnlongname。title()defreadodometer(self):print(Thiscarhasstr(self。odometerreading)milesonit。)mynewcarCar(audi,a4,2016)mynewcar。odometerreading23print(mynewcar。getdescriptivename())mynewcar。readodometer()输出结果为:2016AudiA4。Thiscarhas23milesonit。也可在定义实例时直接传入实参classCar():definit(self,make,model,year,odometerreading0):self。makemakeself。modelmodelself。yearyearself。odometerreadingodometerreadingdefgetdescriptivename(self):longnamestr(self。year)self。makeself。model。returnlongname。title()defreadodometer(self):print(Thiscarhasstr(self。odometerreading)milesonit。)mynewcarCar(audi,a4,2016,23)print(mynewcar。getdescriptivename())mynewcar。readodometer()输出结果为:2016AudiA4。Thiscarhas23milesonit。通过方法修改属性的值classCar():definit(self,make,model,year):self。makemakeself。modelmodelself。yearyearself。odometerreading10赋予默认值10defgetdescriptivename(self):longnamestr(self。year)self。makeself。model。returnlongname。title()defreadodometer(self):print(Thiscarhasstr(self。odometerreading)milesonit。)defupdateodometer(self,mileage):ifmileageself。odometerreading:self。odometerreadingmileageelse:print(Youcantrollbackanodometer!)mynewcarCar(audi,a4,2016)mynewcar。updateodometer(5)print(mynewcar。getdescriptivename())mynewcar。readodometer()输出结果为:Youcantrollbackanodometer!2016AudiA4。Thiscarhas10milesonit。通过方法对属性的值进行递增classCar():definit(self,make,model,year):self。makemakeself。modelmodelself。yearyearself。odometerreading10赋予默认值10defgetdescriptivename(self):longnamestr(self。year)self。makeself。model。returnlongname。title()defreadodometer(self):print(Thiscarhasstr(self。odometerreading)milesonit。)defupdateodometer(self,mileage):ifmileageself。odometerreading:self。odometerreadingmileageelse:print(Youcantrollbackanodometer!)defincrementodometer(self,miles):ifmiles0:self。odometerreadingmileselse:print(Youcantrollbackanodometer!)myusedcarCar(audi,a4,2016)print(myusedcar。getdescriptivename())myusedcar。updateodometer(23500)myusedcar。readodometer()myusedcar。incrementodometer(100)myusedcar。readodometer()输出结果为:2016AudiA4。Thiscarhas23500milesonit。Thiscarhas23600milesonit。三、继承编写类时,并非总要从空白开始,若要编写的类时另一个线现成类的特殊版本,可使用继承。一个类继承另一个类时,它将自动获得另一个类的所有属性和方法,原有的类称为父类,而新类称为子类。子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法。继承:类括号非空白,使用super()函数关联父子类。
  1、子类的方法init()创建子类的实例时,Python首先需要完成的任务是给父类的所有属性赋值。classCar():definit(self,make,model,year):self。makemakeself。modelmodelself。yearyearself。odometerreading10赋予默认值10defgetdescriptivename(self):longnamestr(self。year)self。makeself。model。returnlongname。title()defreadodometer(self):print(Thiscarhasstr(self。odometerreading)milesonit。)defupdateodometer(self,mileage):ifmileageself。odometerreading:self。odometerreadingmileageelse:print(Youcantrollbackanodometer!)defincrementodometer(self,miles):ifmiles0:self。odometerreadingmileselse:print(Youcantrollbackanodometer!)classElectricCar(Car):definit(self,make,model,year):super()。init(make,model,year)myteslaElectricCar(tesla,models,2016)print(mytesla。getdescriptivename())输出结果为:2016TeslaModelS。创建子类时,父类必须包含在当前文件中,且位于子类前面。定义子类时,必须在括号内指定父类的名称:ElectricCar(Car)。super()是一个特殊函数,帮助Python将父类与子类关联起来。super()。init(make,model,year)这行代码让Python调用ElectricCar的父类的方法init(),让ElectricCar实例包含父类的所有属性,父类也成为超类(superclass)。
  2、给子类定义属性和方法让一个类继承另一类后,可添加区分子类和父类所需的新属性和方法。classCar():definit(self,make,model,year):self。makemakeself。modelmodelself。yearyearself。odometerreading10赋予默认值10defgetdescriptivename(self):longnamestr(self。year)self。makeself。model。returnlongname。title()defreadodometer(self):print(Thiscarhasstr(self。odometerreading)milesonit。)defupdateodometer(self,mileage):ifmileageself。odometerreading:self。odometerreadingmileageelse:print(Youcantrollbackanodometer!)defincrementodometer(self,miles):ifmiles0:self。odometerreadingmileselse:print(Youcantrollbackanodometer!)classElectricCar(Car):definit(self,make,model,year):super()。init(make,model,year)self。batterysize70defdescribebattery(self):print(Thiscarhasastr(self。batterysize)kwhbattery。)myteslaElectricCar(tesla,models,2016)print(mytesla。getdescriptivename())mytesla。describebattery()输出结果为:2016TeslaModelS。Thiscarhasa70kwhbattery。
  3、重写父类的方法对于父类的方法,只要它不符合子类模拟的实物的行为,都可对其进行重写。可在子类中定义一个与要重写的父类方法同名的方法,这样Python将不会考虑这个父类方法,而只关注在子类中定义的相应方法。classCar():definit(self,make,model,year):self。makemakeself。modelmodelself。yearyearself。odometerreading10赋予默认值10defgetdescriptivename(self):longnamestr(self。year)self。makeself。model。returnlongname。title()defreadodometer(self):print(Thiscarhasstr(self。odometerreading)milesonit。)defupdateodometer(self,mileage):ifmileageself。odometerreading:self。odometerreadingmileageelse:print(Youcantrollbackanodometer!)defincrementodometer(self,miles):ifmiles0:self。odometerreadingmileselse:print(Youcantrollbackanodometer!)deffillgastank(self):print(Thiscardoesntneedagastank!)classElectricCar(Car):definit(self,make,model,year):super()。init(make,model,year)self。batterysize70defdescribebattery(self):print(Thiscarhasastr(self。batterysize)kwhbattery。)deffillgastank(self):print(Thiscardoesntneedagastank!)myteslaElectricCar(tesla,models,2016)print(mytesla。getdescriptivename())mytesla。describebattery()mytesla。fillgastank()输出结果为:2016TeslaModelS。Thiscarhasa70kwhbattery。Thiscardoesntneedagastank!
  4、将实例用作属性将一个大型类拆分成多个协同工作的小类,并将这些小类的实例用作其他类的一个属性。classCar():definit(self,make,model,year):self。makemakeself。modelmodelself。yearyearself。odometerreading10赋予默认值10defgetdescriptivename(self):longnamestr(self。year)self。makeself。model。returnlongname。title()defreadodometer(self):print(Thiscarhasstr(self。odometerreading)milesonit。)defupdateodometer(self,mileage):ifmileageself。odometerreading:self。odometerreadingmileageelse:print(Youcantrollbackanodometer!)defincrementodometer(self,miles):ifmiles0:self。odometerreadingmileselse:print(Youcantrollbackanodometer!)deffillgastank(self):print(Thiscardoesntneedagastank!)classBattery():definit(self,batterysize70):self。batterysizebatterysizedefdescribebattery(self):print(Thiscarhasastr(self。batterysize)kwhbattery。)classElectricCar(Car):definit(self,make,model,year):super()。init(make,model,year)self。batteryBattery()deffillgastank(self):print(Thiscardoesntneedagastank!)myteslaElectricCar(tesla,models,2016)print(mytesla。getdescriptivename())mytesla。fillgastank()mytesla。battery。describebattery()输出结果为:2016TeslaModelS。Thiscardoesntneedagastank!Thiscarhasa70kwhbattery。在其他类中使用实例作为属性:self。类,然后再定义实例时:name。类。function即可。slef。battery让Python创建一个新的Battery实例(由于没有指定尺寸,因此为默认值70),并将该实例存储在属性self。battery中。每当方法init()被调用时,都将执行该操作;因此现在每个ElectricCar实例都包含一个自动创建的Battery实例。mytesla。battery。describebattery()让Python在实例mytesla中查找属性battery,并对存储在该属性中的Battery实例调用方法describebattery()。
  5、根据电池容量修改续航里程classCar():definit(self,make,model,year):self。makemakeself。modelmodelself。yearyearself。odometerreading10赋予默认值10defgetdescriptivename(self):longnamestr(self。year)self。makeself。model。returnlongname。title()defreadodometer(self):print(Thiscarhasstr(self。odometerreading)milesonit。)defupdateodometer(self,mileage):ifmileageself。odometerreading:self。odometerreadingmileageelse:print(Youcantrollbackanodometer!)defincrementodometer(self,miles):ifmiles0:self。odometerreadingmileselse:print(Youcantrollbackanodometer!)deffillgastank(self):print(Thiscardoesntneedagastank!)classBattery():definit(self,batterysize70):self。batterysizebatterysizedefdescribebattery(self):print(Thiscarhasastr(self。batterysize)kwhbattery。)defgetrange(self):ifself。batterysize70:range240elifself。batterysize85:range270messageThiscarcangoapproximatelystr(range)messagemilesonafullcharge。print(message)classElectricCar(Car):definit(self,make,model,year):super()。init(make,model,year)self。batteryBattery()deffillgastank(self):print(Thiscardoesntneedagastank!)myteslaElectricCar(tesla,models,2016)print(mytesla。getdescriptivename())mytesla。fillgastank()mytesla。batteryBattery(85)修改电池默认值mytesla。battery。describebattery()mytesla。battery。getrange()输出结果为:2016TeslaModelS。Thiscardoesntneedagastank!Thiscarhasa85kwhbattery。Thiscarcangoapproximately270milesonafullcharge。四、导入模块与从其他模块导入函数方法一致五、Python标准库fromcollectionsimportOrderedDictfavoritelanguagesOrderedDict()favoritelanguages〔jen〕pythonfavoritelanguages〔sarah〕cfavoritelanguages〔edward〕rubyfavoritelanguages〔phil〕pythonforname,languageinfavoritelanguages。items():print(name。title()sfavoritelanguageislanguage。title()。)输出结果为:JensfavoritelanguageisPython。SarahsfavoritelanguageisC。EdwardsfavoritelanguageisRuby。PhilsfavoritelanguageisPython。字典能将信息关联起来,但不记录添加键值对的顺序。使用collections中的OrderedDict类可以创建字典并记录其中的键值对的添加顺序。六、注类名单词首字母大写,不使用下划线;实例名和模块名都采用小写,单词之间加上下划线。每个类后都应紧定义一个文档字符串简要描述类的功能。用一个空行分隔方法,用两个空行分隔类。

以环境为话题的1000字作文随着社会的不断发展,科技的不断创新,人们的生活也不断富裕起来了。社会想要不断向前发展,就需要消耗更多的地球资源。社会的发展虽然给我们带来了许多方便,可是,人们的道德品质也越来越……游内蒙古作文范文三篇篇一:游内蒙古作文今年暑假里,我有幸去内蒙古游玩了一次。来内蒙古之前,就听人说过:蒙古人特别好客。今天,我终于体会到了内蒙古民族特有的迎接客人的方式。刚下车,……目前购买埃安aion新能源车注意事项去年到今年埃安的交付能力导致部分车主下订单后3个月甚至半年都没到车。埃安的解释是疫情加上芯片产能不足。其实还有一个背后原因就是成本高企。旧订单低价如何挣钱的问题。所以去年订车的……关于独立的英文作文导语:人总要学会独立,不能一直依靠他人。以下是小编收集整理的关于独立的。英文作文,供各位阅读和参考。关于独立的作文英文一Parentslovetheirchildrenb……有关写父亲的眼睛作文导语:每当我奋笔读书时,都时时刻刻铭记着父亲的眼睛,它可以给我信心,指导我方向。下面是小编收集的有关写父亲的眼睛作文,欢迎大家参考。有关写父亲的眼睛作文1在我们的人生中,……苹果发布iOS15。5正式版iPhone信号更好了今天凌晨2点左右,苹果正是推送了iOS15。5正式版,版本号跟之前的iOS15。5RC版相同,除了一些常规的升级及修复bug之外,这次还升级了iPhone基带,改善了信号表现。……初一想象作文二十年后的意外2040年春。我的大脑突然收到一条信息:儿子,妈妈给你准备了一套太空服!你最近不是要上太空了吗?你赶紧回家来取!我急忙向大脑发出指令,回复:我马上到。我从口袋里拿出……龙的传人龙的传人无疑是中国人。社会是一丁点火苗,人便是一张包着火的纸。刚生下的婴儿如果触碰了火,一定会缩手。思想便是最白的时候,后来慢慢变成了涅白。成一张纸,这时便有了黄帝。……603650彤程新材601868中国能建关键点位:支撑位2。2元阻力位3。0元基本面:公司拥有一批中国电力勘测设计、工程建设及装备制造企业。涉及次新股、水泥、央企国资改革等概念。公司近年主营以及净……云米科技宣布5月27日美股盘前发布2022年第一季度业绩金融界5月17日消息,中国物联网家科技公司云米科技今日宣布,公司将于2022年5月27日美股盘前发布2022年第一季度业绩报告。业绩数据发布后,云米科技公司管理层将于美国……成功之花因自信绽放优秀学生作文500字左右自信是一根柱子,能撑起精神的广阔天空;自信是一片阳光,能驱散迷失者眼前的阴霾。有了它,你就迈出了成功的第一步;有了它,你就走上了通往成功的道路。而那一次,让我坚信自信可以改变一……假如我变成了作文500字假如我变成了一把油纸伞,摆在商店的门口,我青色的伞面上绣着几支兰花。这时,下起了蒙蒙细雨,我在雨声中赏着美景。这时,被细雨微微淋湿肩头的你匆匆走进小店,问店员卖不卖伞。店员指了……
外媒未来四年5G智能手机销售收入将增长210预计未来四年5G智能手机销售收入将增长210。JuniperResearch的一项研究表明,到2025年,5G智能手机将占销售收入的50以上。2021年5G智能手机……我的好老师她如春天里的一缕春风,为我送来芬芳;如寒夜里的一团火焰,为我送来温暖;如夏日里的一抹浓荫,为我送来阴凉;如黑夜里的一轮明月,为我送来明亮。题记她,像辛勤的园丁,用甘……记一次拔河比赛作文500字今天下午,我们五年级进行了一场有史以来最激烈的拔河比赛!我们五年级拔河的地点是操场的中心,到了下午第三节课,操场中心已经人声鼎沸。不一会儿,体育老师拿了一根又粗又长的绳子……上新了!储鲜井井有条,康佳智慧原鲜冰箱焕新上市随着生活水平的提高,人们对于家电产品的需求正逐渐产生高端化、智能化升级的趋势,并初步形成高端驱动家电行业的新格局。康佳白电顺应发展,推出智慧原鲜系列产品冰箱,其中458L十字四……三年级寒假趣事作文选登篇一:写一件寒假所发生的事,肯定是你记忆犹新的事。可以是令你烦恼、伤心、高兴、愉快的一件事,可我觉得这些寒假中发生的烦恼、高兴的事,在我脑海中停留很短暂,不久会把这些事抛……飞扬的眼泪五年级作文我是一个多雨的孩子。看见跳来跳去的蟑螂,我吓的哭起来;听见轰隆隆的雷声,我也会惊恐地捂住耳朵,泪水直落。我一天天长大了,依依不舍地告别了幼年与欢笑,跨进了陌生的小学之门。……记得那个夏天作文800字王小梅最头疼的季节就是夏天。只因为她的头发都掉光了,夏天唯一能戴的帽子大概只有遮阳帽,但是遮阳帽不足以遮住她的秃头,为此,她在学校是出名的。夏天的每一天,她都会悄悄……真1080P,一款有创意且用心的投影,知麻影院电视DIVAP【不满格评测原创】投影仪这种东西一直处于舆论两端,支持者钟爱它的大尺寸画面带来的视觉满足,反对者说它是智商税,比不上电视机。在我看来,投影仪的最大优势就是大屏,轻轻松松观看百寸……夏日荷花拍摄季器材大推荐(此处已添加小程序,请到今日头条客户端查看)说到夏天,你首先会想到什么?是烈日下的声声蝉鸣,还是晚风中的欢声笑语,又或是荷塘月色的温柔与惬意?而对于摄影人来说,夏日的荷花……作文500字朝烟夕岚蔚蓝的天空流逸着镶道金边的白色云朵,大团大团的抒写这个季节的心事。教学楼前的栀子花散发出迷人的芬芳。似一袭清烟飘浮眼前,我遇见了岚。将舒未舒的柳眉,清丽的眼眸透释着澄澈与……AppleWatchSeries7官方渲染图曝光,更多细节变在过去的几个月里,各方传言让我们了解到AppleWatch更新机型,AppleWatchSeries7获得了重新设计。早前郭明錤就有暗示,AppleWatchSeries……活下去,有未来!华为轮值董事长重磅发声不会放弃手机业务,不会8月17日晚间,华为心声社区官微披露了华为轮值董事长郭平与新员工座谈纪要《在历史大转折中遇见更好的自己》。郭平称,相信消费者业务能活下来,华为不会放弃手机业务,在手机领域……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网