1

objectキーワードには、次のようなクラス以外の用途がありますか?

class HelloWorld(object):
    pass

なぜなら、それに変数を割り当てるとき、objectそれは役に立たない(何もないvariable.__dict__か何か)ように見えるからです。

例えば:

x=object()
x.anything="foo"#<----- throws an error
4

1 に答える 1

3

考えられる用途の1つは、番兵の値です。これは、誤って複製できない一意の値が必要な場合です。例えば:

NOT_SET = object()

def some_function(arg=NOT_SET):
    if arg is NOT_SET:
        # the user didn't pass in a value for 'arg'
     else:
        # the user passed in a value for 'arg'

すべてのオブジェクトインスタンスには一意のIDがあるため、ifステートメントの条件は、ユーザーが値を渡さなかった場合にのみtrueになります(Noneユーザーが一部の関数に渡す可能性のあるパラメーターの一般的なデフォルト値とは異なります)。

于 2012-10-23T04:10:28.323 に答える