Pythonでクラスまたはメソッドを抽象化するにはどうすればよいですか? 私は__new__()そのように再定義しようとしました: class F: def __new__(cls): raise Exception("Unable to create an instance of abstract class %s" %cls) しかしG、次のFように継承するクラスを作成すると、 class G(F): pass Gその場合、スーパークラスの__new__メソッドを呼び出すため、インスタンス化もできません。 抽象クラスを定義するより良い方法はありますか?
現在、20のプロジェクトで構成される.NETアプリケーションを開発しています。これらのプロジェクトの一部は.NET 3.5を使用してコンパイルされ、他のプロジェクトは.NET 2.0プロジェクトです(これまでのところ問題はありません)。 問題は、外部コンポーネントを含めると、常に次の警告が表示されることです。 "Found conflicts between different versions of the same dependent assembly". この警告は正確に何を意味し、この警告を除外する可能性はありますか(ソースコードファイルで#pragma disableを使用するなど)。
簡単な背景:広く使われている多くの(ほとんど?)現代のプログラミング言語には、少なくとも少数のADT [抽象データ型]が共通してあり、特に、 文字列(文字で構成されるシーケンス) リスト(値の順序付けられたコレクション)、および マップベースのタイプ(キーを値にマップする順序付けされていない配列) Rプログラミング言語では、最初の2つはそれぞれcharacterととして実装されvectorます。 私がRを学び始めたとき、2つのことはほぼ最初から明らかでした:listRで最も重要なデータ型(これはRの親クラスであるためdata.frame)、そして次に、少なくともそれらがどのように機能するか理解できませんでした私のコードでそれらを正しく使用するには十分ではありません。 1つには、Rのlistデータ型はマップADT(dictionaryPython、NSMutableDictionaryObjective C、hashPerlおよびRuby、object literalJavascriptなど)の単純な実装であるように思えました。 たとえば、Pythonの辞書と同じように、キーと値のペアをコンストラクタに渡すことで作成します(Pythonではこれはdictできませんlist)。 x = list("ev1"=10, "ev2"=15, "rv"="Group 1") そして、R辞書の項目には、Python辞書の項目と同じようにアクセスしますx['ev1']。同様に、「キー」または「値」のみを取得できます。 names(x) # fetch just the 'keys' of an R list # [1] "ev1" "ev2" "rv" unlist(x) # fetch just the 'values' of an R list # ev1 ev2 rv # "10" "15" …