python方法是什么-Python教程

资源魔 44 0

python办法是甚么?

办法用来形容工具所具备的行为。

正在类中界说的办法能够粗略分为四年夜类:私有办法、公有办法、动态办法、类办法。

私有办法、公有办法普通所指属于工具的实例办法,

公有办法的名字以两个下划线 __ 开端。

每一个工具都有本人的私有办法以及公有办法,正在这两类办法中均可以拜访属于类以及工具的成员。

私有办法经过工具名间接挪用,

公有办法不克不及经过工具名间接挪用,只能正在实例办法中经过 self 挪用或许内部经过 python 支持的非凡办法来挪用。

类的一切实例办法都必需至多有一个名为 self 的参数,而且必需所办法的第一个形参,self 参数代表工具本身。

正在类的实例办法中拜访实例属性时需求以 self 为前缀,但正在内部经过工具名挪用工具办法时其实不需求通报这个参数,假如正在内部经过类名挪用属于工具的私有办法,需求显式为该办法的 self 参数通报一个工具名,用来明白指定拜访哪一个工具的数据成员。

动态办法以及类办法均可以经过类名以及工具名挪用,但不克不及间接拜访属于工具的成员,只能拜访属于类的成员。普通将 cls 作为类办法的第一个参数,示意该类本身,正在挪用类办法时没有需求为该参数通报值。

保举:《python教程》

>>>class Root:
__total = 0
def __init__(self, v): #结构函数
self.__value = v
Root.__total + = 1
def show(self): #一般实例办法
print(‘self.__value:’,self.__value)
print(‘Root.__total:’,Root.__total)
@classmethod #润饰器,申明类办法
def classShowTotal(cls): #类办法
print(cls.__total)
@staticmethod #润饰器,申明动态办法
def staticShowTotal(): #动态办法
print(Root.__total)
>>>r = Root(3)
>>>r.classShowTotal() #经过工具来挪用类办法
1
>>>r.staticShowTotal() #经过工具来挪用动态办法
1
>>>r.show()
self.__value:3
Root.__total:1
>>>rr = Root(5)
>>>Root.classShowTotal() #经过类名挪用类办法
2
>>>Root.staticShowTotal() #经过类名挪用动态办法
2
>>>Root.show() #经过类名间接挪用实例办法,报错

报错

>>>Root.show(r) #挪用办法并拜访实例成员
self.__value:3
Root.__total:2
>>>r.show()
self.__value:3
Root.__total:2
>>>Root.show(rr) #经过类名挪用实例办法时为 self 参数显式通报工具名
self.__value:5
Root.__total:2
>>>rr.show()
self.__value:5
Root.__total:2

注:没有同工具实例的数据成员之间互没有影响,时没有同享的。但同一个类的一切实例办法时正在没有同工具之间同享的,一切工具都执行相反的代码,经过 self 参数来判别要解决哪一个工具的数据。

python 中,函数以及办法时有区分的。办法普通指特定实例绑定的函数,经过工具挪用办法时,工具自身将被作为第一个参数通报过来,一般函数不此特性。

>>>class Demo
pass
>>>t = Demo()
>>>def test(self, v):
self.value = v
>>>t.test = test #静态添加一般函数
>>>t.test
>>>t.test(t,3)
>>>print(t.value)
3
>>>import types
>>>t.test = types.MethodType(test, t) #静态添加绑定的办法
>>>t.test
>>>t.test(5)
>>>print(t.value)
5

以上就是python办法是甚么的具体内容,更多请存眷资源魔其它相干文章!

标签: python教程 python编程 python使用问题 python方法

抱歉,评论功能暂时关闭!