これはおそらく悪いタイトルですが、私はそれで意味することは以下の通りです:関数型引数のデータ型になるとPythonがなぜfexlibeにならないのですか?
Pythonは動的型付けなので、なぜ特定の機能がは、特定のデータ型のみで使用されている上を主張しないと変換を処理しません。必要に応じて内部的に自分自身ですか?どのような問題が発生する可能性がありますか?
例:
startswith()
:引数としてstr
イングスとtuple
の両方をとり。
- なぜ
list
の すぎ?それには正当な理由がある場合(おそらく のケース)、内部的に変換するのはなぜですか?
join()
は:のみstr
INGのアイテムのコンテナを受け入れます。
- なぜそれが単に
[str(x) for x in whatever]
をしませんか?言語の設計から
、私はこれまでのところ、それは純度より柔軟より多くの値、したがって、上記の動作は、非典型的な一種のようだという印象を持っている...
別の例としては、から来ています@VPfB
"IPv4アドレス(ホスト、ポート)は、リストライブラリではなくタプルでなければなりません。"
不変性のためにタプルが好きかもしれませんか? tuple
が拒否され、list
のみが受け入れられる場合はありますか? Pythonの標準ディストリビューションとそのモジュールの一部です。
私は最初のケースではわかりませんが、2番目のケースは意図しない副作用が検出されないようにするために行われています...プログラマにとっては彼らは通訳者よりも前提を作るために通過しているものです。 –
@cᴏʟᴅssuchこのような意図しない副作用の例を教えてください。 –
待ち時間、タプルには「startswith」メソッドがありますか?いつから? –