Maya Python基础: 类属性 VS 实例属性、实例方法、类方法、静态方法

目录

[一 类属性 VS 实例属性](#一 类属性 VS 实例属性)

[二 实例方法、类方法、静态方法](#二 实例方法、类方法、静态方法)


一 类属性 VS 实例属性

类属性 实例属性
位置 类内部, 方法外部 **init**或其他方法内部
共享性 所有实例共享 每个实例独有
访问方式 类名.属性名 or 实例.属性名 实例.属性名
python 复制代码
class Software:
    #类属性
    VERSION = '1.0'
    LANGUAGE = 'Chinese'
    
    def __init__(self,name):
        #实例属性
        self.name = name 
        
class App(Software):
     pass
        
    
software = Software('好学英语软件')
#修改类属性可以影响所有实例
Software.VERSION='2.0'
print(software.name)
print(software.VERSION)

app = App('好学app')
#子类可以继承父类的类属性和实例属性
print(app.name)
print(app.VERSION)

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

类方法和静态方法是两种特殊的方法类型, 与普通的实例方法有所不同

方法 实例方法 类方法 静态方法
介绍 操作实例状态的方法 操作类状态的方法 与类和实例都无关的工具方法
使用场景 需要访问对象时 需要访问类的时候 不需要访问对象和类时
装饰器 @classmethod @staticmethod
第一个参数 self(实例本身) cls(类本身) 无特殊参数
访问权限 可访问实例属性和类属性 只能访问类属性 实例属性和类属性都不能访问
python 复制代码
class Banji:
    teacher = '张老师'
   
    #构造方法
    def __init__(self,class_name):
        self.class_name = class_name
    
    #实例方法:可访问实例属性和类属性
    def instance_method(self,student_numbers):
        print(self.teacher+'的班级'+self.class_name+f'有{student_numbers}名学生') 
        return self.class_name + f'{student_numbers}'
        
    #类方法:只能访问类属性 
    @classmethod
    def get_teacher(cls):
        print(cls.teacher)
       
    #静态方法:实例属性和类属性都不能访问
    @staticmethod     
    def meeting():
        print('班级开会了')
  
banji = Banji('三年四班')
banji.instance_method(40)
banji.get_teacher()
banji.meeting()
相关推荐
江塘3 小时前
机器学习-KNN算法实战及模型评估可视化(C++/Python实现)
开发语言·c++·人工智能·python·算法·机器学习
优秘UMI4 小时前
智能科技的附加特性:提升用户体验的多样选择
python·科技·其他·ai
蓝博AI4 小时前
基于卷积神经网络的汽车类型识别系统,resnet50,vgg16,resnet34【pytorch框架,python代码】
人工智能·pytorch·python·神经网络·cnn
麦麦大数据4 小时前
F039 python五种算法美食推荐可视化大数据系统vue+flask前后端分离架构
python·算法·vue·推荐算法·美食·五种算法
喆星时瑜5 小时前
ComfyUI本地部署Stable Diffusion:核心组件(Python、PyTorch、CUDA)版本与显卡配置全指南
pytorch·python·stable diffusion
大佬,救命!!!5 小时前
定时打印的练习整理
linux·服务器·python·学习笔记·学习方法·定时发送
南棱笑笑生5 小时前
20251028在荣品RD-RK3588-MID开发板的Android13系统下解决关机的时候最近打开的应用不关的问题
开发语言·python·rockchip
红树林075 小时前
BeautifulSoup 的页面中需要获取某个元素的 xpath 路径
前端·python·网络爬虫·beautifulsoup
jieyu11195 小时前
Python 实战:Web 漏洞 Python POC 代码及原理详解(1)
python·web安全