当前位置: 首页 > news >正文

Python : 类变量、静态方法、类方法

文章目录

  • 前言
    • 1 类变量(Java静态变量)
    • 2 Python中的静态方法(使用 @staticmethod 装饰器声明)
    • 3 类方法(使用 @classmethod 装饰器声明)
    • 4 静态方法和类方法的区别


前言

学完Java过后,对python中有了一些疑惑。Java中有static修饰的静态变量和静态方法这两个很用用的知识点,特别是在共享内存的操作上面。

Java静态变量和静态方法
Java多线程:在Java中使用多线程频繁使用静态变量(共享内存)

我就一直疑惑,Python中有没有类似的定义呢?因为真的好用采用Java中的那种风格写多线程。然后我就发现了Python中的这几个冷门知识点:

类变量(Java静态变量)
静态方法(Java静态方法)
类方法:这个是Python提供的更加灵活的方法

1 类变量(Java静态变量)

在 Python 中,类变量类似于 Java 的静态变量,属于类而不是对象。所有类的实例共享同一个类变量。
类变量的特点

  • 共享:类变量是所有实例共享的。如果类变量的值被一个实例修改,所有其他实例看到的将是修改后的值。
  • 定义位置:类变量在类体内定义,通常在方法之外。
  • 访问方式:可以通过类名或实例名访问类变量。
class Student:# python中类变量是所有实例共享的,就是java中的静态变量用static修饰的变量teacher = "李华"   # 类变量def __init__(self,name,age,class_name):self.name = name   # 实例 成员变量self.age = ageself.class_name = class_namedef modify_teacher(self,teacher):# 修改类变量,需要通过类名.变量名的方式修改# 如果直接使用self.teacher = teacher,那么只是修改了实例变量,而不是类变量(我们类变量的目的本来就是为了

http://www.mrgr.cn/news/42687.html

相关文章:

  • 初识Linux · 自主Shell编写
  • 基础算法之双指针--Java实现(上)--LeetCode题解:移动零-复写零-快乐数-盛最多的水
  • win11远程连接MySQL(linux版),不需安装docker容器
  • 探索TCP协议的奥秘:Python中的网络通信
  • Python+Matplotlib-高等数学上-P7-例如部分可视化
  • 【Golang】语法基础——切片:灵活、高效的数据处理利器
  • 37 预处理器与预处理指令、宏定义(定义常量、数据类型、替换文本、嵌套与取消)、带参宏(细节处理、与函数的区别)
  • 关闭IDM自动更新
  • 自然语言任务规划的新篇章:AutoGPT+P的突破
  • CGHV31500F
  • 网络基础 【自定义协议、序列化与反序列化】
  • Akaunting 用Python 改成桌面软件,打开后可使用本地网址
  • ValueError: You cannot perform fine-tuning on purely quantized models.
  • 18.安卓逆向-frida基础-调试实战2
  • 多线程-初阶(1)
  • 利用Python输入n个用空格分隔的整数 ← list(map(int,input().split()))
  • ROS2(Robot Operating System 2)与树莓派(Raspberry Pi)
  • 基于拥堵模型的轻量级平台公交室内情况监控系统
  • Redis数据库与GO(二):list,set
  • C++教程一口气讲完!(万字讲解)♪(´▽`)上