pythonアルゴリズム
6802 ワード
Pythonがすでに提供しているデータ型はすべての問題を解決できると思いますか?
->データ構造を学習する理由
PythonにはPythonダウンロード方式という固有の哲学がある.
Pythonは誰もが使う膨大で汎用的な言語となっているが、Pythonのダウンロード方式をベースに、新しいモジュールを作成する開発者が繰り返し考える哲学である.
「問題を解決するための信頼性、一意性、明確な方法があります.」
これが「Pythonダウンロード方式」
言語サポートタイプCオリジナルタイプ巴オリジナルタイプ、オブジェクトPythonオブジェクト
元のタイプのcのみをサポートし、元のタイプとオブジェクトを同時にサポートするjava、c、javaは、パフォーマンスに優先度の高い言語です.したがって、ハードウェアに近い元のタイプを個別に提供することができ、元のタイプで実装されると、より高速に実行できます.
Pythonは当初、便利な機能を提供することを優先する言語であったため、速度が遅く、メモリが多いオブジェクトに注目し、より多くの機能を提供することができる.
Pythonは元のタイプの速度を放棄するのではなく、オブジェクトの様々な機能と利便性を選択した.
しかし、Pythonのすべてのコンテンツがオブジェクトであるため、メモリに存在するオブジェクトのアドレスを取得するためにid()関数を実行し、驚くべきことに同じです.
a変数の値は変化に等しい.他のstrタイプはdefを再参照しただけで、実際にabcとdefは一度生成した後も変わったことがない.変わらないから、変えられない.
->データ構造を学習する理由
哲学
PythonにはPythonダウンロード方式という固有の哲学がある.
Pythonは誰もが使う膨大で汎用的な言語となっているが、Pythonのダウンロード方式をベースに、新しいモジュールを作成する開発者が繰り返し考える哲学である.
「問題を解決するための信頼性、一意性、明確な方法があります.」
これが「Pythonダウンロード方式」
各言語のデータ型フィーチャー
言語サポートタイプCオリジナルタイプ巴オリジナルタイプ、オブジェクトPythonオブジェクト
元のタイプのcのみをサポートし、元のタイプとオブジェクトを同時にサポートするjava、c、javaは、パフォーマンスに優先度の高い言語です.したがって、ハードウェアに近い元のタイプを個別に提供することができ、元のタイプで実装されると、より高速に実行できます.
ではPythonは?
Pythonは当初、便利な機能を提供することを優先する言語であったため、速度が遅く、メモリが多いオブジェクトに注目し、より多くの機能を提供することができる.
Pythonは元のタイプの速度を放棄するのではなく、オブジェクトの様々な機能と利便性を選択した.
データ型
可変オブジェクトと不変オブジェクト
1.不変オブジェクト
>> 10
>> a = 10
>> b = a
>> id(10), id(a), id(b)
(4496050816, 4496050816, 4496050816)
すべてが元のタイプの場合、各値は各メモリの異なる領域に配置されます.しかし、Pythonのすべてのコンテンツがオブジェクトであるため、メモリに存在するオブジェクトのアドレスを取得するためにid()関数を実行し、驚くべきことに同じです.
2.可変オブジェクト
>> a = [1, 2, 3, 4, 5]
>> b=a
>> b
[1, 2, 3, 4, 5]
>> a[2]=4
>> a
[1, 2, 4, 4, 5]
>> b
[1, 2, 4, 4, 5]
aはlist,bはaを参照として指定する.a要素を操作して値を変更し、bの値も変更しました.bがintまたはstrを参照している場合、このようなことは絶対に起こりませんが、listは可変オブジェクトなので、多くのことが起こる可能性があります.不変strのエラー
>> a ='abc'
>> id('abc')
140666545382320
>> id(a)
140666545382320
>> a = 'def'
>> id('def')
140666564546672
>> id(a)
140666564546672
>> a[1]='d'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
a変数はstr資料型であり,abcを先に割り当て,defを割り当てる.a変数の値は変化に等しい.他のstrタイプはdefを再参照しただけで、実際にabcとdefは一度生成した後も変わったことがない.変わらないから、変えられない.
Reference
この問題について(pythonアルゴリズム), 我々は、より多くの情報をここで見つけました https://velog.io/@ohwani/why-pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol