python - 在类内外调用函数有什么好处?
问题描述
我不知道以下代码片段有什么区别?
第一的:
class A:
def __init__(self, v):
self.v=v
def main(self):
self.func_A(self.v)
def func_A(self, t):
print t
调用时func_A
:
A("sometext").main()
第二:
class A:
def __init__(self, v):
self.v=v
def main(self):
func_A(self.v)
def func_A(t):
print t
打电话时func_A
:
A("sometext").main()
函数调用让我很困惑。
解决方案
self
你应该在你的电话中错过,func_A(self.v)
你应该这样做self.func_A(self.v)
在第一个示例中,v
类的属性A
通过传递给main
函数func_A(self.v)
并被打印出来
class A:
def __init__(self, v):
self.v=v
def func_A(self, t):
print(t)
A("sometext").func_A('text')
输出将是sometext
,因为您sometext
作为参数传递给func_A
在第二个例子中做同样的事情,唯一的区别func_A
是在类之外定义。
class A:
def __init__(self, v):
self.v=v
def main(self):
func_A(self.v)
def func_A(t):
print(t)
A("sometext").main()
这里的输出将是sometext
因为属性A.v
设置为sometext
推荐阅读
- php - 用于画廊简码的 WP 插件
- javascript - 如何将 webdriverio 驱动程序传递给模块化设计的函数?
- python - (如何)从字典创建子数组取决于某个键是否存在
- python-3.x - 如何使用 python 从 csv 文件中读取行和列?
- selenium - Selenium Driver 在获取无法接受警报身份验证框期间超时
- ios - 如何在 iOS 中强制将音频输出路由到蓝牙 A2DP?
- typescript - 检查属性是否用特定注释装饰 - 打字稿
- jupyter-notebook - 如何使用键盘快捷键在 Google colab 笔记本中转换单元格类型
- karate - 如何在空手道中将 Cucumber 报告与普通跑步者(非并行)集成
- android - android在另一个类中处理活动方法