zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python中cls和self的用法与区别

Python 区别 用法 self CLS
2023-09-27 14:20:14 时间

python中self表示类的实例化对象,cls表示类本身,classmethod修饰的类方法中可以通过cls来实例化对象,如下所示:

#!/usr/bin/env python
# -*- coding:utf-8 -*-


# 定义学校类
class School(object):
    def __init__(self, name, loc):
        self.name = name
        self.loc = loc

    # 返回类的实例对象
    @classmethod
    def get_school_instance(cls):
        # cls()等价于School()
        s = cls("high school", "wuxi")
        return s


if __name__ == '__main__':
    school = School.get_school_instance()
    print(school.name, school.loc)

一般来说,一个类首先会调用new方法生成该类的实例化对象,所以init方法的第一个参数self便是new方法的返回值。