笨方法学 python3怎么样_笨办法学python3日常问题解决
标签:
1)类:用来描述具体相同的属性和方法的对象的集合
2)对象:通过类定义的数据结构实例
3)类设计的要点:名称、属性(特征)、方法(行为,也就是函数)
#其中的方法__init__(self,name,age) 是固定写法
class Cat():
"""模拟小猫的类"""
def __init__(self,name,age):
"""初始化属性name和age"""
self.name = name
self.age = age
def eat(self):
"""小猫会吃饭"""
print(self.name.title() + ' is now eating.')
def sleep(self):
"""小猫会睡觉"""
print(self.name.title() + ' is now sleeping.')
#eat(),sleep(self) 为类的方法,只要实例化类实例,即可随意调用
2.创建一个对象并赋值的方法(创建类实例)
对象名 = 类()
MIAOMIAO = CAT()
3.通过对象调阅类中的方法(即函数)
对象名.方法()
MIAOMIAO.eat()
MIAOMIAO.drink()
4.给对象添加属性
对象名.新的属性名 = 值
MIAOMIAO.weight = 25
5.获取对象的属性
1)对象.属性
print(MIAOMIAO.weight)
2)在类中新定义一个方法,在方法中使用self.属性
def Info(self):
print(self.weight)
6.__init__()的方法
1)是Python自动调用的方法,调用时间为:创建完对象之后立马调用
2)不需要开发者调用
3)这个方法会完成一些默认的事情,比如添加一些属性
4)class XXXXX:
def __init__(self, new_a, new_b):
self.a = new_a
self.b = new_b
动态修改对象属性值
直接访问属性赋值
my_cat.color = 'red'
print(my_cat.color)#结果为 red
封裝方法進行動態調用賦值,这种方法其实就类比 java 中的 set 方法。
my_cat.setColor('black')
print(my_cat.color)#结果为 black
继承,面相对象三大特性之一
前面说到,类实可以用来描述一类事物的,而为了达到代码的复用性,面相对象提供了继承的概念,即可以通过继承的方式获取已存在类的属性及方法。被继承方称为父类,继承方称为子类。
定义 Car 父类:
class Car():
"""汽车类"""
def __init__(self,make,model,year):
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
long_name = str(self.year) + ' ' + self.make + ' ' +self.model
return long_name.title()
def read_odometer(self):
print('This car has ' + str(self.odometer_reading) + ' miles on it.')
def updata_odometer(self,mileage):
"""动态处理属性值"""
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print('You can\'t roll back an odometer!')
def increment_odometer(self,miles):
"""属性值递增"""
self.odometer_reading += miles
子类:
class ElectricCar(Car):
"""电动汽车"""
def __init__(self,make,model,year):
"""初始化父类属性"""
super().__init__(make,model,year)
my_tesla = ElectricCar('tesla','model s',2017)
print(my_tesla.get_descriptive_name())
结果:2017 Tesla Model S
简析:ElectricCar 累拥有 Car 类的所有属性及方法,在_init_() 中调用父类 _init_方法初始化父类属性,其中super为父类对象,可以使用它访问父类的方法及属性。
定义子类独有的属性及方法
一类事物公有的属性及方法可以封装在父类,以达到复用的效果。除了可以从父类继承公有属性及方法之外,子类还可以定义自己独有的属性及方法。
def __init__(self,make,model,year):
"""初始化父类属性"""
super().__init__(make,model,year)
self.battery_size = 70
def describe_battery(self):
"""子类特有的方法"""
print('This car has a' + str(self.battery_size) + '-kwh battery.')
my_tesla = ElectricCar(‘tesla’,‘model s’,2017)
print(my_tesla.describe_battery())
结果:This car has a 70-kwh battery.
重写父类的方法
有时候父类定义的方法往往不符合子类现有的需求,可以对它进行重写,执行子类特有的逻辑。注意:只要重写了父类的方法,此时调用方法以子类实现为主
def get_descriptive_name(self):
print(‘重写了父类的方法’)
print(my_tesla.get_descriptive_name())
结果肯定是打印 重写了父类的方法
导入类
oop 编程中,每个类都有自己特有的功能,当整个项目也来越复杂的时候,就需要每个类之间相互依赖,正常情况下,都是一个 python 文件存储一个类,当需要依赖别的类时,需要导入。使用格式 from 文件名 import 类名…,当然了 也可以一个文件存储多个类。
例如:在 car.py 中添加 Car 类
class Car():
“”“汽车类”""
def __init__(self,make,model,year):
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
long_name = str(self.year) + ' ' + self.make + ' ' +self.model
return long_name.title()
def read_odometer(self):
print('This car has ' + str(self.odometer_reading) + ' miles on it.')
def updata_odometer(self,mileage):
"""动态处理属性值"""
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print('You can\'t roll back an odometer!')
def increment_odometer(self,miles):
"""属性值递增"""
self.odometer_reading += miles
在 electricCar.py 中添加 ElectricCar 类继承自 Car ,
from car import Car
class ElectricCar(Car):
"""电动汽车"""
def __init__(self,make,model,year):
"""初始化父类属性"""
super().__init__(make,model,year)
self.battery_size = 70
def describe_battery(self):
"""子类特有的方法"""
print('This car has a ' + str(self.battery_size) + '-kwh battery.')
def get_descriptive_name(self):
print('重写了父类的方法')
作者:张少林
链接:https://www.jianshu.com/p/a06f7180c332
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
标签:
来源: https://blog.csdn.net/qq_35425262/article/details/82953190
笨方法学 python3怎么样_笨办法学python3日常问题解决相关推荐
- python2和python3关系_升级python2至python3解决依赖关系
1.最小化安装centos7,在升级python3的时候会出现很多包未安装,为解决依赖关系: yum -y install gcc gcc-c++ zlib zlib-devel libffi-dev ...
- 笨方法学python3怎么样_笨办法学Python3
$if greeting: I just wanted to say $greeting. $else: Hello, world!
- 笨方法学python在线_“笨办法”学Python(第3版)
领取成功 您已领取成功! 您可以进入Android/iOS/Kindle平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦! - | 回复不要太快哦~ 回复内容不能为空哦 ...
- 快速掌握python3语法_【Python】Python3基本语法入门学习
0.Python概述 1.First Word Game 2.变量与字符串 3.improved game 4.Python数据类型 5.常用操作符 6.分支与循环 7.列表 8.元组 9.字符串内置 ...
- 笨方法学python3-笨办法学python3 pdf下载|
笨办法学python pdf电子版可以帮助想学习python编程的同学入门,你可以从上面学习如何快捷编写python代码,以及运行过程,还有非常多的习题讲解,需要的朋友可以来当易网下载使用. 笨办法学 ...
- 《笨方法学python》_《笨办法学Python》 第46课手记
<笨办法学Python> 第46课手记 这节课制作了一个Python的项目骨架,花了我一个晚上和一个早上的时间,原因是我下载的pdf里面只有OX S的命令行,而没有win下的.我为此在知道 ...
- [IT学习]Learn Python the Hard Way (Using Python 3)笨办法学Python3版本
黑客余弦先生在知道创宇的知道创宇研发技能表v3.1中提到了入门Python的一本好书<Learn Python the Hard Way(英文版链接)>.其中的代码全部是2.7版本. 如果 ...
- 笨方法学python第四版当当_“笨办法”学Python(第3版)
ZedShaw完善了这个堪称世上较好的Python学习系统.只要跟着学习,你就会和迄今为止数十万Zed教过的初学者一样获得成功. 在这本书中,你将通过完成52个精心设计的习题来学会Python.阅读这 ...
- 《笨办法学python3》再笨的人都能学会python,附PDF,拿走不谢
<笨办法学python3>这本书的最终目标是让你起步python编程,虽然说是用"笨办法"学习写程序,但是其实并不是这样的. 所谓的"笨办法"就是指 ...
- 读书笔记 笨办法学python3
读后评价 <笨办法学Python3>是一本适合Python3的初学者实用性书籍,以52个练习题为章节讲述了Python3的基础知识,包括基本语法.控制流程.列表.字典.元组.面向对象(类, ...
最新文章
- android 登录组件开发,Android组件化开发路由的设计
- 后端码农谈前端(CSS篇)第三课:选择器
- 解决 echarts柱状图x轴数据隔一个显示
- 中专学校的计算机教什么,中专计算机学校
- 产品分析:岛APP,青年文化拍了拍社交赛道
- php ob静态缓存
- android 获取连接WiFi的名称
- 安卓入门系列-04常见布局之LinearLayout(线性布局)
- javaWEB总结(9):自定义HttpServlet
- 离合器预减振超载造成变速箱怠速异响matlab与python仿真分析
- Could not load driverClass ${jdbc.driver}
- CentOS7下RabbitMq安装和开机自启动配置
- 在河北当中学老师用不用考计算机,想当教师没编制?两类教师不用考,直接进编制...
- java对列_JAVA实现EXCEL行列号解析(一)——单格解析
- tween.js的使用
- 一个很小的 截图 库。 只需要依赖 jQuery
- 源代码开发的公司该如何选择加密软件?
- 文件相似度比对工具的设计与实现
- 小米平板1刷LineageOS16
- android imageview topcrop,android照相选择图库后将照片剪裁压缩显示到imageview上
热门文章
- 2021年最新AZ自动发卡网源码-全网首发
- 解决ecshop模板兼容jquery问题
- js格式化显示json对象
- 误入 GitHub 游戏区,结果意外地收获颇丰
- BI如何实现用户身份集成自定义安全程序开发
- CF487E Tourists (圆方树,LCT)
- python入门指南阅读答案_第二章 _【Python入门指南】免费在线阅读 - 九六城堡小说论坛...
- 我!程序媛!上家阿里巴巴,下家字节跳动!薪资翻番!选择裸辞躺平!无限期休息!...
- Android8.1 framework 微信付款码显示不出来
- 诺贝尔奖得主纳什夫妇因车祸去世