python - 类内部的函数,即方法
问题描述
class t2():
def __init__(self, name, surname ):
self.a = name
self.b = surname
return
def concatenate( what ):
what.a = what.a + " " + what.b
return
class t3( t2 ):
def concatenate( self ):
return self.a
xx = t3( "Lebron", "James" )
xx.concatenate()
print( xx.concatenate(), xx.a )
有点困惑为什么这段代码会给出“Lebron Lebron”的输出,它如何知道从哪个类中使用哪个函数?谢谢!
解决方案
因为你xx
是 t3 的一个实例
当您在 python 上调用方法时,xx
如果没有在父级中查找该方法是否在 t3 类中定义,则将查看该方法。
所以他将使用concatenate
t3 的方法,因为它在 t3 中被覆盖。(https://docs.python.org/3/tutorial/classes.html)
最良好的问候
推荐阅读
- regex - Oracle SQL developer 中的正则表达式模式:包括数字
- mysql - 几分钟内没有操作时 MySQL 连接消失
- php - PHP将blob与上传的文件进行比较
- javascript - 如何在端口 3000 上运行我的应用程序?(反应)
- android - 根据管理员权限隐藏浮动操作按钮
- typescript - 具有默认值的动态输入配置?(错误 TS2741)
- r - 如果列名超过相邻列中该行的值,则将数据框列中的单元格替换为 NA
- julia - 在 Julia 的上下文中,什么是自引用对象?
- java - LinearGradient 停止像素精度
- linux - ssh 隧道未通过 cron 作业打开