python-面向对象:类和实例

本文内容:

  • 类的创建
  • 类变量、类方法的创建和调用
  • 实例变量、实例方法的创建和调用
  • 静态方法的创建和调用
  • 私有变量、方法的创建和调用

定义一个类Student,包含类变量、实例变量、实例方法

class Student():
    # 类变量
    name = "张三"

    def __init__(self):
        # 实例变量
        self.name = "张三"

    # 实例方法
    def run(self):
        return self.name
    
print(Student.name)
print(Student().name)
print(Student().run())
>>>
张三
张四
张四

类变量:可以通过类直接访问:Student.name
实例变量:需要实例化后才能访问:Student().name
实例方法:需要实例化后才能访问:Student().run(),实例方法可以访问实例变量

类方法定义
在类前面加上 @classmethod

# 类方法
@classmethod
def run2(cls):
    return cls.name

静态方法定义
在类前面加上 @staticmethod

@staticmethod
def run3():
    print("staticmethod run")

* 实例变量和实例方法只能实例化后才能访问,类方法、类变量、静态方法不受限制。

私有变量、方法的定义和访问
定义:在变量名前加上__
如: __name
访问:_类名__name

举个例子:

class Student():
    # 私有变量
    __name = "张三"
    # 私有方法
    def __run(self):
        print("run")

print(Student._Student__name)
Student()._Student__run()
>>>
张三
run

你可能感兴趣的:(python-面向对象:类和实例)