[解決済み] Objectをパラメータに持つクラス
2022-03-04 21:47:41
質問
Pythonのコードをscalaのコードに翻訳しようとしています。私はPythonの全くの素人です。
しかし、なぜいくつかのクラスは、パラメータとしてオブジェクトを持っていますが、それを明示的に使用することはありません?そもそもパラメータとして持っている理由は何なのでしょうか?
例
class Table(object)
お忙しい中、ありがとうございました。
解決方法は?
Python2では、次のように宣言します。
Table
を指定します。
新スタイルのクラス
("classic" クラスとは対照的に)です。
Python3 ではすべてのクラスが new-style class になっているので、これはもう必要ありません。
新しいスタイルのクラスには、クラシックなクラスにはない特別な属性がいくつかあります。
class Classic: pass
class NewStyle(object): pass
print(dir(Classic))
# ['__doc__', '__module__']
print(dir(NewStyle))
# ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
また プロパティ と スーパー はクラシッククラスでは動作しません。
Python2では、すべてのクラスを新スタイルのクラスにするのがよい考えです。(後方互換性のために、標準ライブラリの多くのクラスはまだ古典クラスですが)。
一般に、次のようなステートメントでは
class Foo(Base1, Base2):
Foo
は、基底クラスを継承するクラスとして宣言されています。
Base1
と
Base2
.
object
は、Pythonのすべてのクラスの母体です。これは新しいスタイルのクラスなので
object
は
Table
を新しいスタイルのクラスとする。
関連
-
PythonによるExcelファイルの一括操作の説明
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] Pythonで静的なクラス変数は可能ですか?
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] 自分」という言葉は何のためにあるのか?
-
[解決済み] Pythonのsuper()は多重継承でどう動くのか?
-
[解決済み] リストに値が存在するかどうかを確認する最速の方法
-
[解決済み] Pythonにはクラス内に「プライベート」変数がある?
-
[解決済み] Pythonでタイムゾーンを意識したdatetimeオブジェクトを作るには?
-
[解決済み] re.searchとre.matchの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonによるLeNetネットワークモデルの学習と予測
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない
-
[解決済み] Pythonの旧スタイルのクラスと新スタイルのクラスの違いは何ですか?