我是新手使用类,我正在尝试将变量传递给我的类中的一个方法.我该怎么做?
这是我想要完成的一个例子:
class a_class():
def a_method(txt):
print txt
instance = a_class()
instance.a_method('hello world!)
Run Code Online (Sandbox Code Playgroud)
PS我还不了解整体self和__blah__概念,如果我不必使用它们,我会在这一点上避开它们.
在Python中为类编写实例方法时 - 看起来与您刚刚编写的内容完全一样 - 您无法避免使用self.Python中实例方法的第一个参数始终是调用该方法的对象.self不是Python中的保留字 - 只是第一个参数的传统名称.
[...]方法的特殊之处在于对象作为函数的第一个参数传递.在我们的示例中,调用xf()与MyClass.f(x)完全等效.通常,使用n个参数列表调用方法等效于使用通过在第一个参数之前插入方法对象而创建的参数列表来调用相应的函数.
因此,您需要为方法定义两个参数.第一个始终是self- 至少这是传统的名称 - 第二个是你的实际参数.所以你的代码片段应该是:
class a_class(object):
def a_method(self, txt):
print txt
instance = a_class()
instance.a_method('hello world!')
Run Code Online (Sandbox Code Playgroud)
请注意,该类显式继承自object(我不确定空括号是否合法).您也可以不提供继承,这对于大多数用途是相同的,但在类型系统的行为的某些细节上是不同的; 继承从object将a_class定义为新式类而不是旧式类,这与大多数目的无关,但可能值得注意.
| 归档时间: |
|
| 查看次数: |
1056 次 |
| 最近记录: |