タグ付けされた質問 「self」

22
「自己」という言葉の目的は何ですか?
selfPython の単語の目的は何ですか?そのクラスから作成された特定のオブジェクトを参照していることは理解していますが、すべての関数にパラメーターとして明示的に追加する必要がある理由がわかりません。説明のために、Rubyでこれを行うことができます。 class myClass def myFunc(name) @name = name end end 私にはわかります。ただし、Pythonでは以下を含める必要がありますself。 class myClass: def myFunc(self, name): self.name = name 誰もがこれを通して私を話すことができますか?それは私の(確かに限られた)経験で遭遇したものではありません。
1130 python  class  oop  self 

18
Pythonで__init__とselfは何をしますか?
私はPythonプログラミング言語を学んでいて、完全に理解していないものに出会いました。 次のような方法で: def method(self, blah): def __init__(?): .... .... 何をしselfますか?それはどういう意味ですか?必須ですか? __init__メソッドは何をしますか?なぜ必要なのですか?(等。) それらはOOPの構成要素かもしれないと思いますが、私はあまり知りません。
793 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は2つの引数を与えたのに、1つしか与えなかったのですか?


9
Pythonメソッドで「自己」引数を明示的に指定する必要があるのはなぜですか?
Pythonのクラスでメソッドを定義すると、次のようになります。 class MyClass(object): def __init__(self, x, y): self.x = x self.y = y ただし、C#などの他の言語では、メソッドプロトタイプで引数として宣言せずに、「this」キーワードを使用してメソッドがバインドされているオブジェクトへの参照があります。 これはPythonでの意図的な言語設計の決定でしたか、それとも引数として「自己」を渡す必要のある実装の詳細はありますか?
197 python  oop  methods  self 

6
インスタンス変数:自己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 私が知りたいのは、使用の違い@ageとself.ageで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と入力し忘れていることに気付きました。たとえば、rectは既にクラスのメンバー変数であるため、self.rect.centerx私はの代わりにを入力rect.centerxします。 Javaの平行な私は、この状況はとメンバ変数へのすべての参照を接頭辞に持つているためと考えることができ、この。 すべてのメンバー変数の先頭にselfを付けたままにしているのですか、それとも、そうしなくても済むようにそれらを宣言する方法はありますか? 私が提案しているものがpythonicではない場合でもで場合でも、それが可能かどうかを知りたいです。 私はこれらの関連するSOの質問を見ましたが、彼らは私が何を求めているかについては完全に答えていません: Python-クラスで「自己」を使用する理由 Pythonメソッドに「自己」引数を明示的に指定する必要があるのはなぜですか?
131 python  self 

5
new 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はそれ自体にバインドします
WPFWindowがあり、どこかListViewにバインドする場所がありList<string>ます。 今、どこかで私ListViewがあるTextBoxとContentプロパティがに設定されています{Binding}。 しかし、これは省略形です。自分自身にバインドするための完全なバインディングを作成するにはどうすればよいですか? {Binding Path=Self}動作しません。動作しません{Binding Self}(後者は前者のショートカットです)。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.