[TIL]Pythonデータ型
3712 ワード
C++で勉強し、pythonに移動すると混同されやすい.
メモリ構造はどのような(データ、スタックなど)、ポインタがなくてどのようにclassを作成しますか?最初はC言語で作成されていたので、C++のiterator(?)形で作ったのですか?動的割り当ての概念?ごみ収集器関数呼び出しはスタック形式ではありませんか?callbyはどのようなものなのか、C++も完璧ではない状況で、Pythonで再学習しようとすると、混乱するところが多いようです.
そのため、最初はデータ型を整理してから、callby、Pythonでオブジェクト概念などをさらに学ぶ必要があります.
気持ち良さそうですが、問題もあり、対応策もあります.
[Cの場合]
C++はSTLを用いてADTを記述し,Python内部で提供する.文字列 リスト(リスト) ディック郡(dict) セット
アルゴリズム問題を解くにはlistが多く用いられている.しかしlistを書く際には時間の複雑さを考慮し,C++ではvectorと異なりlistはノードフォーマットであり,ランダムアクセスがなくてもO(n)があると考えられるが,事実はそうではない.
だからlistの内部構造が知りたくて、グーグルでpython listの内部構造を検索したとき、偶然友達が書いたブログを見つけました.( リンク
友達の書いた文章を読んで、正式な書類も難しいですが、頑張って読みます.本書ではlistは逆にC++でvectorと似ていますが、ダブルポインタを使用しているのでvectorのようにランダムにアクセスしたり、異なるデータ型を入れたりすることができます.
どのようにリストを書くか、どのようにディックマニュアルを書くか、どのように集合を書くかなどの簡単な使用と概念の部分は、迅速に学ぶことができる分野です.そんな勉強ばかりしていると、ちょっと深さが足りないかもしれません.友達からアドバイスをもらいましたが、Python公式文書の理解を目指して勉強すればいいとのこと.
初めて公式文書を見た時は難しいと思いましたが、公式文書を理解するために、いろいろな検索や勉強を通して、自分の実力を感じることができました.今はそれ以外にも勉強すべきことがたくさんあるので、正式な文書を理解するための勉強は無理かもしれませんが、長期的な方向を設定することができます.
mutable vs immutable/iterable vs not iterable
メモリ構造はどのような(データ、スタックなど)、ポインタがなくてどのようにclassを作成しますか?最初はC言語で作成されていたので、C++のiterator(?)形で作ったのですか?動的割り当ての概念?ごみ収集器関数呼び出しはスタック形式ではありませんか?callbyはどのようなものなのか、C++も完璧ではない状況で、Pythonで再学習しようとすると、混乱するところが多いようです.
そのため、最初はデータ型を整理してから、callby、Pythonでオブジェクト概念などをさらに学ぶ必要があります.
PythonはC言語のようにデータ型を指定する必要はありません。
int a = 1;
double b = 1.0;
char c ='a';
# python
a = 1
b = 1.0
c = 'asdf'
pythonはデータ型を指定する必要はありません.Pythonは,Cのように駆動をコンパイルする方式ではなく,1行1行行うインタラクティブ言語であるため,当時に適したデータ変数タイプを探すと考えられる.気持ち良さそうですが、問題もあり、対応策もあります.
[Cの場合]
int a =3;
int b = 4;
printf("%d", a/b); // 0
a =3
b = 4
print(a/b) # 0.75 실수형이 출력
print(a//b) # 0이하 부분은 버리고 정수형으로 출력
Pythonデータ構造
C++はSTLを用いてADTを記述し,Python内部で提供する.
最初のリスト
アルゴリズム問題を解くにはlistが多く用いられている.しかしlistを書く際には時間の複雑さを考慮し,C++ではvectorと異なりlistはノードフォーマットであり,ランダムアクセスがなくてもO(n)があると考えられるが,事実はそうではない.
だからlistの内部構造が知りたくて、グーグルでpython listの内部構造を検索したとき、偶然友達が書いたブログを見つけました.( リンク
友達の書いた文章を読んで、正式な書類も難しいですが、頑張って読みます.本書ではlistは逆にC++でvectorと似ていますが、ダブルポインタを使用しているのでvectorのようにランダムにアクセスしたり、異なるデータ型を入れたりすることができます.
Pythonの勉強方法
どのようにリストを書くか、どのようにディックマニュアルを書くか、どのように集合を書くかなどの簡単な使用と概念の部分は、迅速に学ぶことができる分野です.そんな勉強ばかりしていると、ちょっと深さが足りないかもしれません.友達からアドバイスをもらいましたが、Python公式文書の理解を目指して勉強すればいいとのこと.
初めて公式文書を見た時は難しいと思いましたが、公式文書を理解するために、いろいろな検索や勉強を通して、自分の実力を感じることができました.今はそれ以外にも勉強すべきことがたくさんあるので、正式な文書を理解するための勉強は無理かもしれませんが、長期的な方向を設定することができます.
次のキーワード
mutable vs immutable/iterable vs not iterable
Reference
この問題について([TIL]Pythonデータ型), 我々は、より多くの情報をここで見つけました https://velog.io/@gopas777/TIL-Python-데이터-타입テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol