python学習整理(一):pythonのオブジェクトと変数
4754 ワード
pythonのオブジェクト
1.識別は、通常、メモリ内のオブジェクトのアドレスに対応する一意の識別オブジェクトに使用されます.組み込み関数id(obj)を使用して、オブジェクトobjの識別子を返します.
2.タイプオブジェクトに格納されているデータ型を返します.タイプは、オブジェクトの値範囲と実行可能な操作を制限します.type(obj)を使用して、属するオブジェクトのタイプを取得できます.
3.値は、オブジェクトが格納するデータの情報を表し、print(obj)を使用してオブジェクトの値を印刷することができる.
オブジェクトの本質:特定の値を持つメモリブロックで、特定のタイプの関連操作をサポートします.
変数はスタックメモリにあります.
オブジェクトはスタックメモリにあります.
pythonは動的タイプ言語であり、変数のタイプを明示的に宣言する必要はなく、変数が参照するオブジェクトに基づいてpython解釈器が自動的にデータ型を決定します.
pythonは強力な言語で、各オブジェクトにデータ型があり、そのタイプのサポートのみをサポートする方法です.
a=3
id(a)
Out[1]: 1896181280
b=3
id(b)
Out[2]: 1896181280
type(3)
Out[3]: int
type(a)
Out[4]: int
# , a b ‘3’ int
c=a
a=a+1
print(id(a))
print(id(c))
Out[6]:1896181312
1896181280
# ,python c , c a c。 , a=3,c=3.
tip:help()+keywordsを使用してpythonのキーワード情報を検索できます.具体的には以下の通りです.
help()
Out[1]:Welcome to Python 3.6's help utility!
If this is your first time using Python, you should definitely check out
the tutorial on the Internet at http://docs.python.org/3.6/tutorial/.
Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules. To quit this help utility and
return to the interpreter, just type "quit".
To get a list of available modules, keywords, symbols, or topics, type
"modules", "keywords", "symbols", or "topics". Each module also comes
with a one-line summary of what it does; to list the modules whose name
or summary contain a given string such as "spam", type "modules spam".
help>
##### “keywords”
help> keywords
Out[2]:Here is a list of the Python keywords. Enter any keyword to get more help.
False def if raise
None del import return
True elif in try
and else is while
as except lambda with
assert finally nonlocal yield
break for not
class from or
continue global pass
ルール#ルール#
例
モジュールとパッケージ名
すべての小文字、できるだけ簡単で、複数の単語の間に下線を使います
math,os,sys
関数名
全小文字、複数の単語の間を下線で区切る
get_value,max
クラス名
アルファベットは大文字で、アルパカの原則を採用しています.
Student, MyClass
定数名
全大文字、単語間を下線で区切る
MAX_INT
最も簡単な付与文はa=11である.実行中、python解釈器は、まず付与演算子の右側の式を実行し、式の演算結果を表すオブジェクト11を生成し、その後、このオブジェクトのアドレスを変数aに付与し、変数aはオブジェクト11の参照となる.
チェーン付与文:b=a=11; a=11,b=a; 文b=11、a=11に相当する.
注意b=a、a=11と書くことはできません.変数は、使用前に初期化される必要があります.つまり、先に値が割り当てられます.
############# ############
b=a=11
id(b)
Out[2]: 1896181536
id(a)
Out[3]: 1896181536
# ,b a 11
# a
a=a+1
a
Out[5]: 12
b
Out[6]: 11
id(a)
Out[7]: 1896181568
id(b)
Out[8]: 1896181536
# ,a b, ,b 。
≪シリーズ・デポジット|Series Unpackaging|oem_src≫:シリーズ・データは同じ数の変数に割り当てられます.
#
a,b,c=11,'sd',23.0
a
Out[10]: 11
b
Out[11]: 'sd'
c
Out[12]: 23.0
#
a,b,c=11
Traceback (most recent call last):
File "", line 1, in
a,b,c=11
TypeError: 'int' object is not iterable
# ‘int’ , , , , 。 。
# :
# :
a,b,c=[11,1,23]
a
Out[16]: 11
b
Out[17]: 1
c
Out[18]: 23
# :
a,b,c={'a':12,'b':13,'c':'asd'}
a
Out[24]: 'a'
b
Out[25]: 'b'
c
Out[26]: 'c'
オブジェクトが参照されていない場合は、ゴミ回収器に回収され、メモリ領域がわかります.しかし、このごみ回収メカニズムはタイムリーではありません.あるオブジェクトの参照が0になると、メモリ領域がすぐに解放されるのではなく、時間が経過してから解放されます.このメカニズムはまだ分かりません.指摘してください.