Python Class专题(二) 类的方法

Python Class 内嵌类 i = 12345... 阅读详情

Python Class专题(二) 类的方法

        每日一语:每一次相遇,都是灵魂在共鸣!
        笔者信息:Next_Legend QQ:1219154092 机器学习 自然语言处理 深度学习 统计概率论
        小亮的博客:https://legendtianjin.github.io/NextLegend.github.io/
                                                                                                    ——2019.5.19于北洋

一、类的方法

       在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例。
#!/usr/bin/python3
 
#类定义
class people:
    #定义基本属性
    name = ''
    age = 0
    #定义私有属性,私有属性在类外部无法直接进行访问
    __weight = 0
    #定义构造方法
    def __init__(self,n,a,w):
        self.name = n
        self.age = a
        self.__weight = w
    def speak(self):
        print("%s 说: 我 %d 岁。" %(self.name,self.age))
 
# 实例化类
p = people('runoob',10,30)
p.speak()
        执行以上程序输出结果为:
runoob 说: 我 10 岁。

二、继承

       Python 同样支持类的继承,如果一种语言不支持继承,类就没有什么意义。派生类的定义如下所示:
class DerivedClassName(BaseClassName1):
    <statement-1>
    .
    .
    .
    <statement-N>
       需要注意圆括号中基类的顺序,若是基类中有相同的方法名,而在子类使用时未指定,python从左至右搜索,即方法在子类中未找到时,从左到右查找基类中是否包含方法。BaseClassName(示例中的基类名)必须与派生类定义在一个作用域内。除了类,还可以用表达式,基类定义在另一个模块中时这一点非常有用:
class DerivedClassName(modname.BaseClassName):
#!/usr/bin/python3
 
#类定义
class people:
    #定义基本属性
    name = ''
    age = 0
    #定义私有属性,私有属性在类外部无法直接进行访问
    __weight = 0
    #定义构造方法
    def __init__(self,n,a,w):
        self.name = n
        self.age = a
        self.__weight = w
    def speak(self):
        print("%s 说: 我 %d 岁。" %(self.name,self.age))
 
#单继承示例
class student(people):
    grade = ''
    def __init__(self,n,a,w,g):
        #调用父类的构函
        people.__init__(self,n,a,w)
        self.grade = g
    #覆写父类的方法
    def speak(self):
        print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade))
 
 
 
s = student('ken',10,60,3)
s.speak()
       执行以上程序输出结果为:
ken 说: 我 10 岁了,我在读 3 年级

三、多继承

       Python同样有限的支持多继承形式。多继承的类定义形如下例:
class DerivedClassName(Base1, Base2, Base3):
    <statement-1>
    .
    .
    .
    <statement-N>
需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索。即方法在子类中未找到时,从左到右查找父类中是否包含方法。
#!/usr/bin/python3
 
#类定义
class people:
    #定义基本属性
    name = ''
    age = 0
    #定义私有属性,私有属性在类外部无法直接进行访问
    __weight = 0
    #定义构造方法
    def __init__(self,n,a,w):
        self.name = n
        self.age = a
        self.__weight = w
    def speak(self):
        print("%s 说: 我 %d 岁。" %(self.name,self.age))
 
#单继承示例
class student(people):
    grade = ''
    def __init__(self,n,a,w,g):
        #调用父类的构函
        people.__init__(self,n,a,w)
        self.grade = g
    #覆写父类的方法
    def speak(self):
        print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade))
 
#另一个类,多重继承之前的准备
class speaker():
    topic = ''
    name = ''
    def __init__(self,n,t):
        self.name = n
        self.topic = t
    def speak(self):
        print("我叫 %s,我是一个演说家,我演讲的主题是 %s"%(self.name,self.topic))
 
#多重继承
class sample(speaker,student):
    a =''
    def __init__(self,n,a,w,g,t):
        student.__init__(self,n,a,w,g)
        speaker.__init__(self,n,t)
 
test = sample("Tim",25,80,4,"Python")
test.speak()   #方法名同,默认调用的是在括号中排前地父类的方法
        执行以上程序输出结果为:
我叫 Tim,我是一个演说家,我演讲的主题是 Python

四、方法重写

       Python同样有限的支持多继承形式。多继承的类定义形如下例:
#!/usr/bin/python3
 
class Parent:        # 定义父类
   def myMethod(self):
      print ('调用父类方法')
 
class Child(Parent): # 定义子类
   def myMethod(self):
      print ('调用子类方法')
 
c = Child()          # 子类实例
c.myMethod()         # 子类调用重写方法
super(Child,c).myMethod() #用子类对象调用父类已被覆盖的方法
        super() 函数是用于调用父类(超类)的一个方法。执行以上程序输出结果为:
调用子类方法
调用父类方法
Python类的多重继承解析与实例展示 在设计使用多重继承的类时,需要注意方法解析顺序和可能出现的菱形继承问题。合理利用多重继承可以提高代码的重用性和灵活性,但过度复杂的继承层次可能导致代码难以理解和维护。这种情况发生在一个类同时继承自两个拥有同一个共同父类的父类,从而导致对共同父类方法的二义性。它允许一个类从多个父类中继承属性和方法,从而实现代码的重用和组合。在Python中,通过在类定义时在括号中列出多个父类,即可实现多重继承。这种组合的灵活性使得代码的重用变得更加简单,同时也可以避免类继承层次过深和类的臃肿。如果你有任何疑问,请随时提问。 阅读详情

相关推荐

LT8711/LT8712 Type-C转HDMI设计方案|替代LT8711/LT8712芯片|GSV2201可完全替代兼容LT8711/LT8712

LT8711UX是一款高性能C/DP1.2型至HDMI2.0转换器,用于将USB Type-C源或DP1.2源连接到HDMI2.0接收器。该LT8711UX集成了一个DP1.2兼容的接收器,和一个HDMI2.0兼容的发射器。此外,还包括两个CC控制器,用于CC通信,以实现DP Alt模式和功率传输功能,一个用于上游Type-C端口和另一个用于下游端口。

weixin_63518914的博客 1641

python创建类及继承、重构、多态的举例

目录 1.创建类 2.继承 3.重构 4.Python中子类与父类的关系 5.python 中多态 1.创建类 如下定义一个动物类Animal为基类,它基本两个实例属性name和age、一个方法call。 class people: #定义基本属性 name = '' age = 0 #定义私有属性,私有属性在类外部无法直接进行访问 __weight = 0 #定义构造方法 def __init__(self,n,a,w): ...

weixin_45564943的博客 1717

【STM32CubeIDE入门】(一)工程创建&工程配置

​写在前面:如果是刚接触stm32cubeide的同学推荐与这一篇文章共同阅读,能够更加快速认识上手stm32cubeide。 1、打开stm32cubeide,选择好工作目录进入主界面后,点击创建工程。

涛涛子的博客 1万+

Python多重继承的实现例子及注意事项、self用法

Python中使用多重继承,一个类继承多个父类时,需要注意的地方有:1.重写父类方法时报错 2.创建子类时参数出错 3.向父类传递参数时出错。接下来通过实现一个例子来一一列举这三个问题。 类中创建的init方法中,第一个参数self,表示Animal类的实例,比如我创建了两个实例,st1和st2,通过st1和st2分别调用Animal中的init方法,那么st1调用的self代表st1,st2调用的st2代表st2,通过运行下面这段代码,从输出结果可以,看出他们的地址不一样 输出结

qq_52674444的博客 1513

使用mmdetection快速复现计算机视觉顶会论文

使用mmdetection中支持的算法运行自定义数据集

m0_56896669的博客 2425

用电脑通过网口控制keysight示波器

Keysight HD304MSO示波器提供1GHz带宽、14位高精度ADC及10.1英寸触控屏,支持50μV低噪声信号捕获和1.3M波形/秒刷新率。配备4通道探头、逻辑分析仪接口及100Mpts存储深度,含故障诊断、FFT等高级功能。通过网线连接电脑安装TightVNC软件(示波器IP为169.254.163.24)可实现远程控制,相比U盘传输更高效。(149字)

johnboat的专栏 1136

Python —— 类与对象

1、类与对象 (1)对象是类的实例。换句话说,类主要定义对象的结构,然后我们以类为模板创建对象。类不但包含方法定义,而且 还包含所有实例共享的数据。【封装:信息隐蔽技术;继承:子类自动共享父类之间数据和方法的机制;多态:不同对象对同一方法响应不同的行动】 (2)Python 的 self 相当于 C++ 的 this 指针。 (3)在 Python 中定义私有变量只需要在变量名或函数名前加上“__”两个下划线,那么这个函数或变量就会为私有的了。 (4)BaseClassName (示例...

qq_45759562的博客 337

Seedance 2.5本地部署指南:AI生图与视频生成的完整实践

最近在AI生成内容领域,本地部署方案越来越受到开发者关注。特别是Seedance 2.5的发布,让很多原本依赖云端服务的用户开始转向本地化解决方案。本文将从实际使用角度出发,完整介绍Seedance 2.5的本地部署流程、功能特性对比以及实际应用技巧。 1. Seedance 2.5核心特性解析 1.1 什么是Seedance 2.5 Seedance 2.5是一款开源的AI生图和视频生成工具,支持在本地环境运行,无需联网即可实现高质量的图像和视频生成。相比之前的2.0版本,2.5在生成质量、运行效率和功能

weixin_42566121的博客 1696

python-class练习

【代码】python-class练习。

woaizxy123的博客 381

RandLA-Net 调通代码1:Windows 11 + Tensorflow 2.4 + S3DIS数据集【踩坑+填坑】

TF不上进啊,学学pytorch

累了就要打游戏 2484

【YOLO目标检测全栈实战】98 YOLO模型在低光照环境下的自适应增强策略

你有没有遇到过这种情况?深夜加班调试产线检测模型,车间灯光昏暗,摄像头采集的图片黑乎乎一片,YOLO模型直接“罢工”——漏检率飙升到40%以上。上个月我在一个汽车零部件质检项目里就栽了跟头:白天模型跑得飞起,mAP@0.5达到0.92,可一到夜班,同样的产线、同样的零件,mAP直接掉到0.63。客户拍着桌子问我:“你这模型怎么还分白天黑夜?”

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 287

python——class类和方法的用法详解

因为一直不太清楚面向对象的类和方法的编程思想,所以特地补了一下python-class的知识,在这里记录和分享一下。 文章目录类和方法的概念和实例1.python类:`class`2.类的构造方法`__init__()`3.类中方法的参数`self`4.继承5.方法重写类的特殊属性与方法类的私有属性类的私有方法 类和方法的概念和实例 类(Class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 方法:类中定义的函数。 类的构造方法__init.

Irving.Gao的博客 22万+

R语言使用mlr包创建回归任务、指定回归学习函数为KNN回归模型、网格搜索、交叉验证调节KNN模型的超参数K获取模型最佳的K值、可视化KNN模型的不同K值和MSE指标之间关系图

R语言使用mlr包创建回归任务、指定回归学习函数为KNN回归模型、网格搜索、交叉验证调节KNN模型的超参数K获取模型最佳的K值、可视化KNN模型的不同K值和MSE指标之间关系图

statistics+insight+vista+power 280

python中class 类定义与使用

python中class 类定义与使用 在学习python中类这一部分也是非常常用的,类的定义类似于函数却又不同于函数,class 定义一个类, 后面的类别首字母推荐以大写的形式定义,比如Calculator. class可以先定义自己的属性,比如该属性的名称可以写为 name=‘Good Calculator’. class后面还可以跟def, 定义一个函数.比如def add(self,x,y...

让技术没有门槛 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

python中的类class及self详解

转载:https://blog.youkuaiyun.com/CLHugh/article/details/75000104 在介绍Python的self用法之前,先来介绍下Python中的类和实例…… 我们知道,面向对象最重要的概念就是类(class)和实例(instance),类是抽象的模板,比如学生这个抽象的事物,可以用一个Student类来表示。而实例是根据类创建出来的一个个具体的“对象”,...

CYummy的博客 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Python实战之class类的详解

上一篇:Python实战之可迭代对象、迭代器、生成器、yield点击跳转转 目录篇:python相关目录篇点击跳转 下一篇:Python实战之反射hasattr、getattr、setattr、delattr点击跳转 目录 class 类:定义某类对象相同的功能属性 属性: 特征:(封装, 继承, 多态) class类的继承 继承类和多继承类的基本原理 类自带装饰器 类的参数...

Burgess_zheng的博客 7028

Python 类(Class)

介绍类的基础内容,包括类的定义,类对象,实例对象,方法对象,类和实例变量。

"大梦三千秋的博客 1621

Python—类class复习

这样,Python将不会考虑这个父类方法,而只关注你在子类中定义的相应方法。将实例用作属性:可以将类的一部分作为一个独立的类提取出来。可以。

qq_46403759的博客 1029

Python-Class类的使用

在Python中,有关class类的创建、使用方法

害怕也得前进 2万+

Python class定义类,Python类的定义(入门必读)

在面向对象的程序设计过程中有两个重要概念:类(class)和对象(object,也被称为实例,instance),其中类是某一批对象的抽象,可以把类理解成某种概念;对象才是一个具体存在的实体。从这个意义上看,日常所说的人,其实都是人的对象,而不是人类。 Python 定义类的简单语法如下: class 类名: 执行语句… 零个到多个类变量… 零个到多个方法… 类...

Python零基础入门学习 1万+

【Python】深度理解Class类、Object类、Type元类的概念和关系

object和type的产生本身就是一种自然抽象。其实从汇编、C、面向过程、面向对象这一路演化都是为了抽象,包括造轮子,语言生态,其实都是抽象的具体表现。那么殊途同归,从硬件到软件一路走来,所有动作都是抽象,它不是创造,而是优化,但某些优化趋近于创造。软件设计思想,其实都是从自然、人文等关系演化类比而来。软件思想就是一方世界,是自然的产生,是真实世界的映射,它和我们一样,在进步、在进化,与我们并肩前行。

扶摇直上 6650

python中类class的简单介绍

关于python中的类(CLASS)的简单介绍class和self类的实例化类属性对象方法与类方法类的访问 class和self   最近在学python,看别人的代码中出现了 class Print_num( ): num1 = 1 def num( self ): print( "“123” )   于是便去查了一下,大致的意思是,这里的class表示我要声明一个类,后面会有...

weixin_34132725的博客 835

python语法教程——class类

这里我们就以输出Hello world为例创建我们的第一个类。可以看到,我们创建了一个名为hello的类,并用它实例化了一个to_hello对象,通过调用类中的output方法,我们成功输出了Hello world!首先,我们定义一个student类,用于存放学生姓名。先运行一下看看。def output(self) : print('My name is' , self . name) stu_1 = student('老王') stu_1 . output()My name is 老王。

点点点 5290

python中class什么意思_python中的class是什么意思

python中的class是什么意思发布时间:2020-08-05 17:44:47来源:亿速云阅读:91作者:小新python中的class是什么意思?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!面向对象的设计思想是从自然界中来的,因为在自然界中,类(Class)和实例(Instance)的概念是很自然的。Cla...

weixin_39896839的博客 6988

python中类(class)

""" 面向过程 和 面向对象(oop:object oriented programming) 的基本概念 面向过程:---侧重于怎么做? 1.把完成某一个需求的 所有步骤 从头到尾 逐步实现 2.根据开发要求,将某些功能独立的代码封装成一个又一个函数 3.最后完成的代码,就是顺序的调用不同的函数 特点: 1.注重步骤与过程,不注重职责分工 2.如果需求复杂,代码会变得很复杂 3.开发复杂项...

技术小白 4万+
上一篇: Python面向对象专题(一)类Class
下一篇: 2019NLP求职指南
小亮 Play NLP
博客等级 码龄11年 229粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值