学习Python类的心得
类的注意事项
1)命名规则
2)继承规则
python继承
1)子类继承父类
2)子类的init方法
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 update_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', 2016)
print(my_tesla.get_descriptive_name())
3) python2中的继承
4)给子类定义属性和方法
class Car():
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
-- snip --
class ElectricCar(Car):
"""Represent aspects of a car, specific to electric vehicles."""
def __init__(self, make, model, year):
"""
电动汽车的独特之处
初始化父类的属性,再初始化电动汽车特有的属性
"""
super().__init__(make, model, year)
self.battery_size = 70 # 1处 def describe_battery(self): # 2处
"""打印一条描述电瓶容量的消息"""
print("This car has a " + str(self.battery_size) + "-kWh battery.")
class Thread:
"""
xx1, xx2
"""
def __init__(self, xx1, xx2):
self.xx1 = xx1
self.xx2 = xx2
class MyThread(Thread):
def __init__(self, xx1, xx2):
super().__init__(xx1, xx2) # 等价于super(MyThread, self).__init__()
self.xx3 = "新增的属性3"
self.xx4 = "新增的属性4"
5)重写父类的方法
class ElectricCar(Car):
-- snip --
def fill_gas_tank():
"""电动汽车没有油箱"""
print("This car doesn't need a gas tank!")
class Father:
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
def say(self):
print("父亲会说话,我叫%s, 我的年龄是%d, 我的性别是%s" % (self.name, self.age, self.sex))
class Child(Father):
def __init__(self, name, age, sex, grade, play):
super().__init__(name, age, sex)
self.grade = grade
self.play = play
def say(self):
print("孩子也会说话,我叫%s, 我的年龄是%d, 我的性别是%s, 我读%s, 我会玩%s" % (self.name, self.age, self.sex,
self.grade, self.play))
class Father:
def __init__(self, name='', age=0, sex=''):
self.name = name
self.age = age
self.sex = sex
def say(self):
print("父亲会说话,我叫%s, 我的年龄是%d, 我的性别是%s" % (self.name, self.age, self.sex))
class Child(Father):
def __init__(self, grade, play):
super().__init__()
self.grade = grade
self.play = play
def say(self):
print("孩子也会说话,我叫%s, 我的年龄是%d, 我的性别是%s, 我读%s, 我会玩%s" % (self.name, self.age, self.sex,
self.grade, self.play))
if __name__ == '__main__':
C = Child('二年级', 'play games')
C.say()
"""
孩子也会说话,我叫, 我的年龄是0, 我的性别是, 我读二年级, 我会玩play games
"""
class Father:
def __init__(self, name='', age=0, sex=''):
self.name = name
self.age = age
self.sex = sex
def say(self):
print("父亲会说话,我叫%s, 我的年龄是%d, 我的性别是%s" % (self.name, self.age, self.sex))
class Child(Father):
def __init__(self, grade, play):
super().__init__()
self.grade = grade
self.play = play
def say(self):
print("孩子也会说话,我叫%s, 我的年龄是%d, 我的性别是%s, 我读%s, 我会玩%s" % (self.name, self.age, self.sex,
self.grade, self.play))
if __name__ == '__main__':
C = Child('二年级', 'play games')
C.name = '小明'
C.age = 12
C.sex = 'boy'
C.say()
# 孩子也会说话,我叫小明, 我的年龄是12, 我的性别是boy, 我读二年级, 我会玩play games
学习Python类的心得的更多相关文章
- 学习python类
类:Python 类提供了面向对象编程的所有基本特征: 允许多继承的类继承机制, 派生类可以重写它父类的任何方法, 一个方法可以调用父类中重名的方法. 对象可以包含任意数量和类型的数据成员. 作为模块 ...
- 重新学习python类
之前觉得有java和c++的底子,对python的类没有认真研习,后面到了写项目的时候各种懵逼.终于决定彻底解决python的类问题. 一.python的类定义: class cls_name: de ...
- 关于学习Python的一些心得
1.关注函数参数的类型,如列表,字符串,int,而不是关注函数的功能 2.导入模块numpy,dir(numpy) 查看所有属性 3.''.join(列表) 将列表拆成字符串
- python学习的一点点心得
好久没发博客了,不解释....接下来写一点自己最近学习python的一点心得. 想要学习python的初衷,是看<软件测试技术大全>一书时,了解到像perl.python.ruby等脚本类 ...
- Python学习:类和实例
Python学习:类和实例 本文作者: 玄魂工作室--热热的蚂蚁 类,在学习面向对象我们可以把类当成一种规范,这个思想就我个人的体会,感觉很重要,除了封装的功能外,类作为一种规范,我们自己可以定制的规 ...
- python类学习以及mro--多继承属性查找机制
版权声明:本文为博主原创文章,未经博主允许不得转载. 还记得什么是新式类和旧式类吗? Python中,一个class继承于object,或其bases class里面任意一个继承于object,这个c ...
- 《python基础教程(第二版)》学习笔记 类和对象(第7章)
<python基础教程(第二版)>学习笔记 类和对象(第7章) 定义类class Person: def setName(self,name): self.name=n ...
- 零基础入门学习Python(36)--类和对象:给大家介绍对象
知识点 Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前 ...
- Python 类学习的一些Tips
这里不详细介绍类,只总结一些小萌新在学习python 类时会有的一些疑点. 类的私有性 在python中,属性和方法的访问权限只有两种,公开的,和私有的.在给属性命名时用两个“__”下划线作为开头,就 ...
随机推荐
- 链家网爬虫同步VS异步执行时间对比
异步执行时间 import time import asyncio import aiohttp from lxml import etree start_time = time.time() asy ...
- linux 查看某个进程内存占用情况命令
1.先用ps查询进程号 ps -aux|grep 进程名字 2.查看更详细的内存占比 cat /proc/3664/status 返回结果:(其中VmRSS为进程所占用的内存)
- 小程序弹出toast,怎么优化代码
因为toast是会重复调的,所以可以直接写在app里面 在所有的子页面去调这个就好了. 如果是设的none那就是 设置的 就是
- 《Glibc内存管理》笔记DAY3
目录 边界标记法 内容来源 边界标记法 /* conversion from malloc headers to user pointers, and back */ #define chunk2me ...
- Collections用法总结
Collections是一个包装类,其中包含有各种有关集合操作的静态多态方,比如可以作用在List和Set上,此类不能实例化. 排序Integer[] array = new Integer[]{3, ...
- Sentinel控制台前端开发环境搭建
Sentinel:分布式系统的流量防卫兵. 官网:https://sentinelguard.io Github:https://github.com/alibaba/sentinel Wiki:ht ...
- ftplib python ftp
在气象领域,FTP是比较常用的一个数据来源.本文尝试采用python的ftplib包,实现了从指定ftp服务器中批量下载文件的功能.供大家学习参考. https://docs.python.org/3 ...
- 如何准备算法工程师面试,斩获一线互联网公司机器学习岗offer?
原文:https://zhuanlan.zhihu.com/p/76827460?utm_source=wechat_session&utm_medium=social&utm_oi= ...
- DevOps时代的软件过程改进探讨 杨振涛 云加社区 今天 作者:杨振涛,腾讯云TVP 本文从Jenkins,DevOps,云原生等视角探讨了软件过程改进在各个时代的挑战和价值,重新审视了SPI在软件开发和交付的效率和质量提升方面的意义
DevOps时代的软件过程改进探讨 杨振涛 云加社区 今天 作者:杨振涛,腾讯云TVP 本文从Jenkins,DevOps,云原生等视角探讨了软件过程改进在各个时代的挑战和价值,重新审视了SPI在软件 ...
- Android架构(一)MVP架构在Android中的实践
Android架构(一)MVP架构在Android中的实践 https://www.300168.com/yidong/show-2790.html 核心提示:为什么要重视程序的架构设计 对程序进 ...