11

私はどちらかというと Python のシンタックス シュガーが好きです。および標準ライブラリ関数。

ただし、私が嫌いな機能の1つです。暗黙の型付けです。

明示的な型付けを備えた Python のディストリビューションはありますか。たとえば、PyPiのパッケージと互換性があるのはどれですか?

【RPythonを調べていた】

4

5 に答える 5

1

いいえ、ケーキを持ってケーキを食べることはできません。

Python は動的に型付けされるため、優れています。限目。(だからこそ、素晴らしい標準ライブラリもあります)

静的型付け言語の利点は 2 つだけです。1) 速度 - アルゴリズムが最初から正しい場合、2) コンパイル エラー

1)については

  • PyPiを使用し、
  • プロフィール、
  • 優れたパフォーマンスを得るには、ctype ライブラリを使用してください。

通常、パフォーマンスが重要なコードは 10% 以下です。残りの90%は?動的型付けの利点をお楽しみください。

2)については

  • クラス (およびコントラクト) を使用する
  • 単体テストを使用する
  • リファクタリングを使用する
  • 優れたコード エディターを使用する

データが標準のデータ型に適合しないのが典型的です。標準のデータ型は、格納できるものが厳しすぎるか緩すぎます。あなた自身であなたのデータを検証することを確認してください。

単体テストはアルゴリズム テストに必須であり、これはコンパイラでは実行できません。また、間違ったデータ型に起因する問題を検出する必要があります (コンパイラとは異なり、必要に応じて細かく調整できます)。

リファクタリングは、特定の変更がコードを壊さないかどうかわからない場合に、これらの問題をすべて解決します (また、厳密に型指定されたデータもそれを保証することはできません)。

そして、優れたコード エディターは非常に多くの問題を解決できます...しばらくの間、Sublime Text を使用してください。そして、あなたは私が何を意味するかを理解するでしょう.

(確かに、私はあなたが望んでいる答えをあなたに与えません。むしろ、私はあなたのニーズ、特にあなたがあなたの質問に含めなかったものについて質問します)

于 2014-03-13T08:01:32.863 に答える
-1

コメント限定なので…

インタープリター言語としての Python は、定義上、型付けが弱いです。これは、プログラマーが潜在的な構文上のバグを未然に防ぐための制御としては悪いことではありませんが、実際には、論理的なバグの発生を止めることはできません。

RPython に関する論文はそれを強調していますが、オブジェクト指向プログラミングに焦点を当てています。Python は、OOP と関数型プログラミングの融合であり、おそらく他のものも融合していることを覚えておく必要があります。

このページを読むことをお勧めします。非常に有益です。

于 2014-03-13T07:48:53.390 に答える