Python__31--类属性、类方法、静态方法

简介: 类属性、类方法、静态方法

1 Pycharm中定义类

在类之外定义的def称为函数,在类之内定义的称为方法

# 在类之外定义的def称为函数,在类之内定义的称为方法
class Student:                         # Student为类名,可由多个单词组成,每个单词首字母大写,其余小写
    native_place='吉林'                # 类属性
    def __init__(self,name,age):       # name,age为实例属性
        sef.name=name
        self.age=age
    def info(self):                    # 实例方法
        print('我的名字叫',self.name,'年龄是',self.age)
    def eat(self):                     # 实例方法
        print('学生在吃饭')
    @classmethod                       # 类方法
    def cm(cls):
        print('类方法')
    @staticmethod                      # 静态方法
    def sm():
         print('静态方法')

2 创建对象

stu1=Student('张三',20)
stu1.eat()              # 对象名.方法名
print(stu1.name)
print(stu1.age)
Student.eat(stu1)       # 2和5行等价,类名.方法名(类的对象)-->实际上就是方法定义处的self

3 类属性、类方法、静态方法

类属性、类方法、静态方法的使用方式

3.1 访问类属性

print(Student.native_place)

stu1.native_place

类中方法外的变量称为类属性,被该类的所有对象共享

3.2 调用类方法

Student.cm()

使用类名直接访问的方法

3.3 调用静态方法

Student.sm()

使用类名直接访问的方法

3.4 实例方法

stu1=Student(张三',20)
stu.eat()
Student.eat(stu)

4 动态绑定属性和方法

仅在绑定的某个实例对象中可用,其他实例对象不可用

绑定属性

stu1.gender='女'
print(stu1.gender)

绑定方法
将类之外的函数绑定到实例对象上,该函数就叫做该实例对象的方法

def show():
    print('哈哈')
stu1.show=show
print(stu1.show())
相关文章
|
3月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
330 0
|
4月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
415 1
|
4月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
529 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
4月前
|
缓存 供应链 芯片
电子元件类商品 item_get - 商品详情接口深度分析及 Python 实现
电子元件商品接口需精准返回型号参数、规格属性、认证及库存等专业数据,支持供应链管理与采购决策。本文详解其接口特性、数据结构与Python实现方案。
|
4月前
|
算法 调度 决策智能
【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)
【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)
126 0
|
5月前
|
机器学习/深度学习 数据采集 TensorFlow
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
239 0
|
9月前
|
Python
解决Python报错:DataFrame对象没有concat属性的多种方法(解决方案汇总)
总的来说,解决“DataFrame对象没有concat属性”的错误的关键是理解concat函数应该如何正确使用,以及Pandas库提供了哪些其他的数据连接方法。希望这些方法能帮助你解决问题。记住,编程就像是解谜游戏,每一个错误都是一个谜题,解决它们需要耐心和细心。
452 15
Python类中属性和方法区分3-8
Python类中属性和方法区分3-8
|
Python
Python尝试访问不存在的属性或方法
【6月更文挑战第2天】
353 3
|
数据库 Python
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(下)
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)
173 0

推荐镜像

更多