python函数参数问题

python函数参数问题

大家好我是python初学者,有个问题问问大家

class A:

def prt(self):

print("A")

class B(A):

def prt(self):

print("B")

class C(A):

def prt(self):

print("C")

def test(arg):

arg.prt() #为什么test函数的参数arg能调用类中的prt方法?还是其中有什么隐藏操作?

a = A()

b = B()

c = C()

test(a)

test(b)

test(c)


回答:

a,b,c分别是类A,B,C的实例,这些类都有prt方法.
即test函数只不过是做的对应的 a.prt(),b.prt(),c.prt()方法调用.
arg 只是形参,其对应的实参a,b,c实例。问题的本质函数体接收实例参数,体内使用了实例参数prt方法
函数调用-->接收实例参数 --> 调用实例方法


回答:

python 中除了两个下划线开头的方法(如 __private_method)都是公有的,也就是可以用 object.public_method 的方式来调用,这也是方法被制造出来的目的啊

以上是 python函数参数问题 的全部内容, 来源链接: utcz.com/a/157884.html

回到顶部