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,那么只是修改了实例变量,而不是类变量(我们类变量的目的本来就是为了