6
PyLintは私のクラスメソッドの1つがメソッドである必要はないと教えてくれましたが、どのクラス属性も使用していないのでクラスの関数である可能性があります。それは私が「悪い」と思ったことをしましたが、おそらく彼らはPythonicです。 Pythonが私たちに求めているコードは次のとおりですか? ParentClass.eventはそのコールバックにtext
を発するが、我々はだけではなく、その印刷"hello"
を無視しますクラスメソッドの内部で関数を定義するのは難しいですか?
class TestClass(ParentClass):
def __init__(self):
def callbackfunction(text):
print("hello")
ParentClass.map_event_to_callback(ParentClass.event, callbackfunction)
。さらに簡単:私は__init__
後約text
またはprinthello
を気にしないと仮定し
class TestClass():
def __init__(self, text):
def printhello(text):
print("hello")
printhello(text)
。
いや、それは大丈夫です:あなたが実行する必要があるすべては一つの式であれば
あなたは
lambda
を使用することができます。 'ラムダ 'も使うことができます。 –メソッド内の関数は、実際には関数内の関数と変わりません。場合によっては意味をなさないこともありますが、そうでない場合は、使用しない理由はありません。 –
ありがとう、@MartijnPietersと@TomKarzes!コールバック関数をクラス '' __init__'の中に置くと、私は汚い気分になりましたが、回避する技術的な理由があるかどうかは分かりませんでした。 @MartijnPieters、もし私がそれを選択できるあなたのコメントをあなたのコメントを作る。 –