Questions tagged «self»

在实例方法中使用的关键字,用于引用它们在其上运行的对象。

22
“自我”一词的目的是什么?
selfPython 中的单词的目的是什么?我知道它是指从该类创建的特定对象,但是我看不到为什么要将它显式地作为参数添加到每个函数中。为了说明这一点,在Ruby中,我可以这样做: class myClass def myFunc(name) @name = name end end 我很容易理解。但是在Python中,我需要包括self: class myClass: def myFunc(self, name): self.name = name 有人可以通过这个告诉我吗?我的经历(公认有限)并不是我遇到的。
1129 python  class  oop  self 

18
Python的__init__和self是做什么的?
我正在学习Python编程语言,遇到了一些我不太了解的东西。 用类似的方法: def method(self, blah): def __init__(?): .... .... 怎么self办?这是什么意思?它是强制性的吗? 该__init__方法做什么?为什么有必要?(等等。) 我认为它们可能是OOP构造,但我不太了解。
790 python  oop  self 


8
TypeError:method()接受1个位置参数,但给出了2个
如果我有课... class MyClass: def method(arg): print(arg) ...我用来创建对象的... my_object = MyClass() 我这样称呼method("foo")... >>> my_object.method("foo") Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: method() takes exactly 1 positional argument (2 given) ...为什么当我只给出一个参数时,Python告诉我给它两个参数?

9
为什么需要在Python方法中显式包含“ self”参数?
在Python中的类上定义方法时,它看起来像这样: class MyClass(object): def __init__(self, x, y): self.x = x self.y = y 但是在某些其他语言(例如C#)中,您可以使用“ this”关键字来引用该方法所绑定的对象,而无需在方法原型中将其声明为参数。 这是Python中的一种故意的语言设计决策,还是有一些实现细节需要传递“ self”作为参数?
196 python  oop  methods  self 

6
实例变量:self vs @
这是一些代码: class Person def initialize(age) @age = age end def age @age end def age_difference_with(other_person) (self.age - other_person.age).abs end protected :age end 我想知道的是in @age和self.agein age_difference_with方法之间的区别。

11
类中的Python装饰器
可以这样写吗: class Test(object): def _decorator(self, foo): foo() @self._decorator def bar(self): pass 这将失败:@self中的self未知 我也尝试过: @Test._decorator(self) 也会失败:测试未知 我想在装饰器中临时更改一些实例变量,然后运行装饰的方法,然后再将其更改回。
140 python  class  decorator  self 

11
如何避免在Python中显式的“自我”?
我通过遵循一些pygame教程来学习Python 。 在其中我发现了关键字self的广泛使用,并且主要来自Java背景,我发现自己一直忘记输入self。例如,代替self.rect.centerx我输入rect.centerx,因为对我来说,rect已经是该类的成员变量。 Java的并行的我能想到的这种情况是有前缀成员变量的所有引用与此。 我是否在所有成员变量前面加上self前缀,还是有一种方法可以声明它们,从而避免这样做呢? 即使我的建议不是pythonic,我仍然想知道是否有可能。 我看了这些相关的SO问题,但它们并不能完全回答我的要求: Python-为什么在类中使用“自我”? 为什么需要在Python方法中显式包含“ self”参数?
131 python  self 

5
新的self()是什么?在PHP中意味着什么?
我从未见过这样的代码: public static function getInstance() { if ( ! isset(self::$_instance)) { self::$_instance = new self(); } return self::$_instance; } 一样new className()吗? 编辑 如果该类是继承的,它指向哪个类?
110 php  class  self 

1
WPF绑定到自身
我有一个WPF Window,在某个地方有一个ListView我绑定List<string>到的地方。 现在在我的某处ListView有一个,TextBox并且该Content属性设置为{Binding}。 但这是简写。如何编写完整绑定以绑定到自身? {Binding Path=Self}不起作用,也不起作用{Binding Self}(后者是前者的快捷方式)。


4
什么时候在模型中使用self?
问题:我何时需要在Rails的模型中使用self? 我的一个set模型中有一个方法。 class SomeData < ActiveRecord::Base def set_active_flag(val) self.active_flag = val self.save! end end 当我这样做时,一切正常。但是,当我这样做时: class SomeData < ActiveRecord::Base def set_active_flag(val) active_flag = val save! end end active_flag值不会更改,而是会静默失败。有人可以解释吗? 我找不到任何重复项,但是如果有人发现一个重复项也很好。

6
从块内部调用[self methodName]?
我刚碰到块,我想它们就是我要寻找的东西,除了一件事:是否可以从块内调用方法[self methodName]? 这就是我想要做的: -(void)someFunction{ Fader* fader = [[Fader alloc]init]; void (^tempFunction)(void) = ^ { [self changeWindow:game]; //changeWindow function is located in superclass }; [fader setFunction:tempFunction]; } 我已经搜寻了几天,但找不到任何证据证明这是可能的。 这是完全有可能的,还是我在尝试将块用于不是他们想要的东西? 我使用块的原因是我创建了一个Fader类,并且我想存储一个块供其在淡出时执行。 谢谢 编辑:好的,我在建议中添加了内容,但仍然出现EXC_BAD_ACCESS错误... -(void)someFunction{ Fader* fader = [[Fader alloc]init]; __block MyScreen* me = self; void (^tempFunction)(void) = ^ { [me changeWindow:game]; //changeWindow …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.