标签:自动 没有 SM def pytho foo UNC 传值 bsp
‘‘‘
在类内部定义的函数,分为两大类:
一:绑定方法:绑定给谁,就应该由谁来调用,谁来调用就会把调用者当作第一个参数自动传入
1. 绑定到对象的方法:在类内定义的没有被任何装饰器修饰的
2. 绑定到类的方法:在类内定义的被装饰器@classmethod修饰的方法
二:非绑定方法:没有自动传值这么一说了,就类中定义的一个普通工具,对象和类都可以使用
非绑定方法:不与类或者对象绑定,在类内定义的被装饰器@staticmethod修饰的方法
说明:未做任何修饰时:在类内定义的方法是绑定给对象的,对象调用时,不需要传自己给self. 类调用类的方法时,需要传self(对象)给第一个参数。
‘‘‘
class Foo:
def __init__(self,name):
self.name=name
def tell(self):
print(‘名字是%s‘ %self.name)
@classmethod
def func(cls): #cls=Foo
print(cls)
@staticmethod
def func1(x,y):
print(x+y)
f=Foo(‘egon‘)
# print(Foo.tell)
# Foo.tell(f)
# print(f.tell)
# f.tell()
# print(Foo.func)
# Foo.func()
# print(Foo.func1)
# print(f.func1)
Foo.func1(1,2)
f.func1(1,3)
标签:自动 没有 SM def pytho foo UNC 传值 bsp
原文地址:https://www.cnblogs.com/beallaliu/p/9114244.html