ftp空间网站,家庭局域网设计方案,平面图设计软件,网站整站优化方案【1】绑定给对象的方法 绑定给对象方法#xff0c;对象能调用#xff0c;类也能调用 # 对象调用会把对象自己当成第一个参数传给方法的第一个形参 对象.方法(参数1#xff0c;参数2) -------- self参数不用传 # 类调用#xff0c;方法中有几个参数就要传几个参数(包括…【1】绑定给对象的方法 绑定给对象方法对象能调用类也能调用 # 对象调用会把对象自己当成第一个参数传给方法的第一个形参 对象.方法(参数1参数2) -------- self参数不用传 # 类调用方法中有几个参数就要传几个参数(包括self) 类名.方法(对象参数1参数2) 绑定给对象的方法对象不能直接调用需要传入对象才能调用 如果是静态对象可以直接类名.方法调用 非绑定方法(静态方法)staticmethod ------- 在方法头上加上staticmethod 【2】绑定给类的方法 绑定给类的方法对象可以调用 # 如何使用 类名() --------- 实例化一个对象 对象.方法 ------ 调用 在方法头上加入classmethod就是绑定给类的方法 #解释 此时该方法就是绑定给类的那么就有类来调用有什么特殊之处就是会把类自动当成第一个参数传递给方法的第一个形参cls 条件 1. 加一个装饰器classmethod 2. 把方法的第一个形参改为cls 3. 外部调用该方法的时候使用类来调用即可 4. 绑定给类的方法中没有self这个参数了 5. 绑定给对象的方法中就没有cls这个参数了 【3】非绑定方法(static)
class Student():def __init__(self, name, age, gender):self.name nameself.age ageself.gender genderself.id self.create_id()staticmethoddef create_id():当你在函数中不需要对象也不需要类的时候就把函数设置为静态方法类能来调用对象也能来调用而且不用传递任何的参数import uuidreturn uuid.uuid4()def func(self):如果你在方法中即需要对象也需要类就把方法绑定给对象# self.__class__ # 返回该对象的类# self.__class__.__name__ # Student # 类名字的字符串形式的# return self.__class__() # Student()stu Student(ly, 20, female)
print(stu.id)
print(stu.create_id())