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

时间:2023-02-02 17:18:09

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())