python类继承
off999 2024-12-07 15:56 18 浏览 0 评论
一.摘要
继承
子承父业,父亲有的,孩子都有
继承的时候,出现孩子和父亲都有的属性或方法时,会优先自身类找二.类继承的基本使用
代码如下:
class Father: #所有的类,默认是继承了object
#姓氏
xs="李"
name="李好"
money="999"
def hobby(self):
print(self.name+"喜欢打篮球")
class Son(Father): #儿子继承父类
def __init__(self,name):
self.name=name
s1=Son("李子") #类传参是通过init方法去接收
print("姓氏:{},名字:{},存款:{}".format(s1.xs,s1.name,s1.money))
s1.hobby()
s2=Son("李紫")
print("姓氏:{},名字:{},存款:{}".format(s2.xs,s2.name,s2.money))
s2.hobby()运行如下:
三.__base__
代码如下:
class Father(object): #所有的类,默认是继承了object
xs="李"
name="李好"
money="999"
def hobby(self):
print(self.name+"喜欢打篮球")
class Son(Father): #儿子继承父类
def __init__(self,name):
self.name=name
print(Son.__base__)#<class '__main__.Father'> 查看直接父类
print(Father.__bases__)运行如下:
四.单继承
代码如下:
class Father(object): #所有的类,默认是继承了object
#姓氏
xs="李"
name="李好"
money="999"
def hobby(self):
print(self.name+"喜欢打篮球")
class Son(Father): #儿子继承父类
def __init__(self,name):
self.name=name
def hobby(self): #方法重写
print(self.name+"喜欢打游戏")
Father.hobby(self) #通过类名调用父类的方法
super().hobby() #直接父类方法
s1=Son("李子") #类传参是通过init方法去接收
s1.hobby()运行如下:
举例:
代码如下:
class Yeye:
def info(self): #info是个自定义的方法名
print("爷爷")
class Father(Yeye):
def info(self): #info是个自定义的方法名
print("父亲")
class Me(Father):
def info(self):
print("自己")
super().info() #上一层类方法,最近的类中的方法
Yeye().info() #指定类 方法1
Yeye.info(self) #方法2
mm=Me()
mm.info()运行如下:
五.多继承
代码如下:
class Father:
def info(self):
print("父亲")
class Mother:
def info(self):
print("母亲")
class Me(Father,Mother): #super谁在前面先继承谁
def info(self):
print("自己")
super().info() #super只会继承一个
mm=Me()
mm.info()
#查看继承顺序
print(Me.mro())
print(Me.__mro__)运行如下:
六.new方法和init方法的执行过程
代码如下:
class Base(object):
def __new__(cls, *args, **kwargs):
print("new方法")
return object.__new__(cls) #创建一个地址
def __init__(self):
print("初始化属性方法")
b1=Base()
print(id(b1))
b2=Base()
print(id(b2))运行如下:
七.单例模式
买一台手机,是一台新的,就是第一次实例化
发现手机有问题,要求换货,商家修理发回的还是原来那台有问题的手机,第二次实例化
又发现问题,又返回商家,只是修理还是返回原来的手机,第三次实例化
。。。不管实例化多少次都不会给你换新的
代码如下:
class A:
_instance = 0 # 类属性
def __new__(cls,*args, **kwargs):
if cls._instance == 0:
cls._instance = object.__new__(cls)#只要这个方法不执行,那就不会生产新的
return cls._instance
else:
return cls._instance
print("实例化A类之前:",A._instance)
a1=A()
print("实例化一次后:",A._instance)
a2=A()
print("实例化二次后:",A._instance)运行如下:
- 上一篇:Python 类继承指南
- 下一篇:Python中的继承和多态
相关推荐
- 不知道密码怎么连接wifi网络
-
不知道WiFi密码怎么连接,如果你不知道WiFi密码的话,那我没有办法连接网络,你必须去找WiFi密码是主人,然后询问密码,只有你得到了最准确的密码以后,你才可以开启你的WiFi网络设置,然后输入正确...
- u盘写了保护怎么把保护删掉了
-
U盘写保护可以通过以下几种方法去除:1.取消U盘的写保护开关。有些U盘上面自带写保护的开关,如果被拨到写保护状态时,就会对U盘进行写保护,这种情况解决的办法最简单,直接将开关拨回原位即可。2.修复...
- 深度ghost精简xp(深度ghost文件)
-
windowsxp下运行ghost方法如下:1、首先把GHOST.EXE程序复制到你的硬盘某区上(不要是C区,假如是E区)。2、然后重新启动电脑,重启过程中按DEL键进入BIOS设置,设置为从光驱启...
- 固态硬盘如何安装(固态硬盘如何安装系统)
-
1、首先要在在机箱内找到固态硬盘安装的电源连接线,是从电脑的电源引出的一根线。形状是扁嘴形上面一般印着一个白色的“P4”2、然后要在主板上找固态硬盘的数据接口,用于数据输入输出,俗称SATA接口,再找...
- windows怎么打开注册表(windows怎么打开注册表管理器)
-
方法一、直接打开注册表1、点击屏幕左下角的“开始”按钮,再点击“运行”;2、或者直接按Win键+R键,打开“运行”对话框;3、在“运行”输入框中输入“regedit”命令;4、这样就能够打开注册表编辑...
- windows7安装windows10(windows7安装光盘下载)
-
在安装Win7时,出现提示“Windows无法安装到这个磁盘。这台计算机的硬件可能不支持启动到此磁盘。请确保在计算机的bios菜单中启用了磁盘的控制器。” 解决方法: 1.如果之前你做过BIOS设置,...
-
- 装机配置模拟器(装机配置模拟器教程)
-
装机模拟器2好装机模拟器2装系统方法1.在游戏PC装机模拟器里,有时候我们修理好电脑之后,发现电脑没有安装操作系统,这时候应该先安装系统。2.第一步,点击PC装机模拟器游戏,登录游戏。3.第二步,进入游戏之后,找到需要没有安装操作系统的电脑...
-
2025-11-10 21:51 off999
- 电脑网络正常但是上不了网(网络正常但电脑无法上网)
-
分析如下1、首先检查网卡的问题,打开电脑后,打开电脑右下角的WiFi连接,然后从里面的网络和共享中心检查,打开网络和共享中心后,出现对话框,在对话框左侧上方找到更改适配器设置,单击左键打开,就可以发现...
- vs2008安装包下载(vs2008下载官方下载)
-
vs2008是面向WindowsVista、Office2007、Web2.0的下一代开发工具,VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用V...
- cad2018序列号(cad2018序列码)
-
AutoCAD2018序列号和密钥:序列号:356-72378422,666-69696969,667-98989898,400-45454545,066-66666666等密钥:001J1CA...
- ip检测网站(ip地址测试)
-
IP检测工具(IPNetChecker)V1.5.2是一个简易实用,功能强大的网络监控软件,使您可以检查互联网和局域网上的IP主机的网络状态。IP检测工具(IPNetChecker)V1.5....
- 云电脑app哪个好(手机云电脑app哪个最好)
-
答:以下是一些比较好的云电脑应用程序推荐:1.AnyDesk-支持Windows、MacOS、Linux、Android和iOS,可用于远程访问和控制PC或移动设备。2.Splashtop...
- 怎样注册邮箱163免费(怎样注册邮箱163免费账号)
-
一、工具:电脑(联网)、浏览器二、操作步骤:【1】打开浏览器,找到“163邮箱”,点击。【2】点击右边的“注册”。【3】网站默认注册手机号码邮箱,填写信息,点击“注册”。若不想泄漏手机号码或不想使用手...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
