Python类基本概念 类对象、类属性、实例化、实例对象、实例属性、类方法、类构造函数、类继承

2023-05-16

想看视频的直接移步

python类对象类属性类的实例化实例对象实例属性_哔哩哔哩_bilibili

python类方法类构造函数实例方法静态方法_哔哩哔哩_bilibili

python类的继承代码实现_哔哩哔哩_bilibili

类对象、类属性

公有类属性、私有类属性

class Father():    #定义一个类
    name = "father"    #公有类属性
    __age = 38    #私有类属性(双下划线开头)
    
Father.name    #Father就是一个类对象
>> 'father'
Father.__age    #报错: 不能在类外同过类对象或类实例对象访问私有的类属性
>> AttributeError: type object 'Father' has no attribute '__age'

类实例对象、实例属性

class Father():
    name = "father"
    
F = Father()    # 对象实例化,F是一个实例对象
F.age = 38    # age是实例属性
F.name    # 实例对象拥有类属性
>> 'father'
F.age    # 实例对象拥有实例属性
>> 38
Father.name    # 类对象拥有类属性
>> 'father'
Father.age    #报错: 类对象不拥有实例属性
>> AttributeError: type object 'Father' has no attribute 'age'

类构造函数

作用:在类实例化过程中被调用,完成类的初始化,创建实例属性

class Father():
    name = "father"    #类属性:实例对象和类对象可以同时调用
    def __init__(self, age):    #类构造函数,参数age为实例属性
        self.age = age
F = Father(38)    #创建实例对象
F.name >> father    #实例对象调用类属性
F.age >> 38    #实例对象调用实例属性
Father.name >> father    #类对象调用类属性
Father.age >> 报错    #错误,类对象不能调用实例属性

类方法

实例方法、类方法、静态方法

class Father():
    name = "father"
    age = 38
    """
    get_name-实例方法:
        实例方法的第一个参数必须是”self”,只能通过类实例进行调用
        “self”代表这个类实例本身。通过”self”可直接访问实例属性
    """
    def get_name(self):
        print(self.name)

    """
    get_age-类方法:
        类方法以cls作为第一个参数,cls表示类本身
        定义时使用@classmethod装饰器。通过cls可以访问类的相关属性
    """
    @classmethod
    def get_age(cls):
        print(cls.age)

    """
    get_like-静态方法:
        静态方法没有参数限制,既不需要实例参数,也不需要类参数
        定义的时候使用@staticmethod装饰器
        同类方法一样,静态法可以通过类名访问,也可以通过实例访问
    """
    @staticmethod
    def get_like():
        print("美女")
# 实例方法测试   
Father.get_name()    #报错:类不能直接调用实例方法
>> TypeError: get_name() missing 1 required positional argument: 'self'
F = Father(38)    #实例化,可调用实例方法
F.get_name() >> father    #实例对象可调用实例方法

# 类方法测试
Father.get_age() >> 38    #类对象可直接调用类方法
F = Father()
F.get_age() >> 38    #实例对象也可调用类方法

#静态方法测试
Father.get_like() >> 美女    #类对象可访问静态方法
F = Father()
F.get_like() >> 美女    #实例对象可访问静态方法

类的继承

概念

通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”,

子类可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展

继承、方法重构、关系

# 定义一个父类
class Father():
    money = 100 #父类类属性
    # 父类构造函数
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    # 父类方法
    def fly(self):
        print(self.name, '会飞')
    
    # 父类方法
    def get_like(self):
        print(self.name, "会跑路")

# 定义一个子类
class Son(Father):
    # 子类构造函数
    def __init__(self,name,age,like):
        super(Son, self).__init__(name,age) #集成父类后重构父类构造函数(父类构造函数初始化)
        self.like=like

    # 重构父类方法——将父类中的get_like方法进行重写
    def get_like(self):
        print("儿子喜欢", self.like)


if __name__ == '__main__':
    S = Son('father', 38, "美女")     #实例化子类
    S.fly() >> father 会飞     #调用父类实例方法
    print(S.money) >> 100  #调用父类类属性
    #get_like方法在子类中进行了重构,于是此处调用子类Son中的get_like
    S.get_like() >> 儿子喜欢 美女

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python类基本概念 类对象、类属性、实例化、实例对象、实例属性、类方法、类构造函数、类继承 的相关文章

随机推荐

  • AirSim(五)---理解篇: Airsim世界坐标系、NED坐标系、机体坐标系以及控制相关API接口函数

    目录 1 坐标系 coordinate system 1 AirSim API的坐标系 xff1a NED 坐标系 with SI unit 2 Unreal Engine的坐标系 xff08 3 xff09 AirSim全局坐标系 61
  • 【部署】外网访问家庭计算机( 内网穿透)

    场景 很多时候需要通过远程访问来进行跨网络跨机器 大部分的场景是访问公司机器 这种一般比较容易实现 xff0c 因为公司都是固定ip xff0c 或者有vpn服务等等 实在不行也可以有teamviewer xff0c anydesk xff
  • 使用wxWidgets开发跨平台的GUI程序

    使用wxWidgets开发跨平台的GUI程序 Taii 回家念经 2006 05 20 1 探索背景 xff1a 1 1 引言 从开始使用c c 43 43 编码起算来也快有5年了 xff0c 期间完成了无数项目 xff0c 编写了无数程序
  • R-4.0.2 forecast预测

    library 34 forecast 34 skirts lt scan 34 http robjhyndman com tsdldata roberts skirts dat 34 skip 61 5 skirtsts lt ts sk
  • Linux远程连接图形界面的几种方法

    1 xff0c 利用Xmanager xff0c linux启用XDMCP协议 xff08 可直接修改配置文件 xff0c 也可以采用在Xshell中运行gdmconfig或gdmsetup xff0c 选择XDMCP选项卡 xff0c 勾
  • 什么是视图?作用是什么?

    1 1 视图 1 1 1 什么是视图 视图 VIEW 也被称作虚表 xff0c 即虚拟的表 xff0c 是一组数据的逻辑表示 其本质是对应于一条SELECT语句 xff0c 结果集被赋予一个名字 xff0c 即视图名字 视图本身并不包含任何
  • Python元组(tuple)详解

    目录 一 元组的基本概念 xff1a 二 元组的特点 xff1a 1 声明方式 2 访问方式 xff1a 3 元组中元素的修改 xff1a 三 xff0c 对元组的操作 1 元组的切片 xff1a 2 元组的拼接 xff1a 3 元组与数字
  • 解决debian下thinkpad x1没有声音的问题

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 问题描述 一 解决方法 二 解决步骤 1 使用non free源 2 更改参数 3 更新源信息 4 安装以下驱动包 5 重启 问题描述 安装完debian 11后
  • windows环境变量配置你知道吗?

    1 什么是windows环境变量 xff1f 我们直接看百度的专业解释 环境变量 xff08 environment variables xff09 一般是指在操作系统中用来指定操作系统运行环境的一些参数 xff0c 如 xff1a 临时文
  • C# 远程RDP共享桌面,控制桌面,远程桌面登录注销,用户切换,包括客户端,服务端软件及代码

    可以一次打开16个桌面 可以支持登录切换用户 包含客户端NoteWin exe WINDOWS服务NoteWinService exe xff0c 当前用户服务NoteWService exe xff0c 远程启动服务AppLoad exe
  • 树莓派3B+ 网页控制GPIO(WebIOPi)

    树莓派3B 43 网页控制GPIO xff08 WebIOPi xff09 对于没接触编程的小白来说 xff0c 让他们编程控制树莓派的GPIO口输出输入 xff0c 那简直就是折磨人 xff0c WebOPi就是一个开源 方便 实用的网页
  • 解决Win10 自动更新问题(可以认为永久关闭更新)

    解决Win10 自动更新问题 xff08 可以认为永久关闭更新 xff09 这是我意外想到的一个方法 xff0c 步骤十分简单 xff0c 什么都不用设置 xff0c 不过每隔35天就要操作一下 xff0c 因为win10最多临时暂停35天
  • * failed to start daemon *解决方法

    16 11 23 error could not install smartsocket listener cannot bind to 127 0 0 1 5037 通常每个套接字地址 协议 网络地址 端口 只允许使用一次 10048 1
  • 【工具】验证是否安装cuda和cuDNN

    验证是否安装cuda 验证cuda是否安装方法1 span class token keyword import span torch span class token keyword print span span class token
  • 常用的url链接

    maven库 xff1a https mvnrepository com 一些基本工具的安装和语法 xff0c 如mysql docker https www runoob com docker centos docker install
  • 达梦7数据库后台导入导出命令解释

    达梦7使用的dexp和dimp xff0c 用法和exp和imp类似 xff0c 在命令后直接加上help可以查看帮助 吐槽一下竟然没有 dexp dimp help或 xff1f 这种操作 xff0c 必须是help才可以识别 格式 de
  • 麒麟V10修改root密码

    不知为何 xff0c root密码登录不上去 xff0c 几番测试都说是密码错误 基本环境 xff1a 国产服务器和麒麟V10 人不在机房 步骤如下 xff1a 1 连接服务器 xff0c 打开带外界面 2 打开控制台界面 3 重启电脑 x
  • python 图片文字提取

    转载 xff1a python怎么读取png python 图像处理 天道酬勤 花开半夏 图像处理不是一件简单的工作 对你来说 xff0c 一看到某样东西 xff0c 马上就知道你在看什么很容易 但是 xff0c 电脑不是这样工作的 对你来
  • C++ MFC调用JS代码获取返回值

    C 43 43 有时候会需要调用JS代码 xff0c 这对于C 43 43 来说或者对于国内来说一直是比较蛋疼的问题 xff0c 主要是资料少 xff0c 微软提供了一个COM组件 xff0c 里面包含有JS引擎 xff0c 这个组件就是
  • Python类基本概念 类对象、类属性、实例化、实例对象、实例属性、类方法、类构造函数、类继承

    想看视频的直接移步 python类对象类属性类的实例化实例对象实例属性 哔哩哔哩 bilibili python类方法类构造函数实例方法静态方法 哔哩哔哩 bilibili python类的继承代码实现 哔哩哔哩 bilibili 类对象