[Python]基本文法--- 1、基本データ

第1章文法の基本

ソフトウェアの定義

特定の順序で編成されたコンピューターデータと指示のコレクションを指します。

データ:コンピューターが認識できるデータ。ハードディスク内:avi、doc、txt、py、メモリ内:定数、変数、関数、オブジェクト、クラス。

手順:これらのデータを操作して、前提条件の計算を実行する手順。

ソフトウェア操作プロセス

    Pythonで書かれたコードをソースコードと呼びますが、ソースコードを直接コンピュータで認識できますか?ソースコードをコンピュータが認識できるマシンコードにコンパイルすると、コンピュータはマシンコードを実行します。

ソフトウェアの2つの動作モード:

  • グラフィカルインターフェイス操作モード

  • コマンドライン操作モード

高レベルのプログラミング言語は、2つのカテゴリに分類されます:

  • 静的にコンパイルされたタイプ: C、C ++、Java

    • コンパイル:ソースコードを完全にマシンコードファイルにコンパイルしてから、マシンコードファイルを実行してプログラムを実行する必要があります

    • 静的:変数には明確なデータタイプ定義が必要です

  • 動的に解釈される: Python、JavaScript、Mathlab、Ruby、Go

    • 説明:コードをマシンコードに完全に変換する必要はありません。1つのソースコードを読み取ります-1つの文をコンパイルします-1つの文を実行します

    • 動的:変数には明確なデータタイプの定義がなく、任意のデータタイプ変数を保存できます

1.1基本データ

整数整数

通常は整数と呼ばれ、ゼロ、正、負で、小数点はありません。

数字を表現するときは、16進数の形式2、8、10、16進数を使用することもできます

>>> print(10)
10
>>> print(1001)
1001
>>> print(0b1001)
9
>>> print(0o1234)
668
>>> print(0x9C1A)
39962
>>> print(0x9W2Y)
  File "<stdin>", line 1
    print(0x9W2Y)
             ^
SyntaxError: invalid syntax

注:印刷結果は常に10進数です

     Pythonの整数の長さは32ビット〜4バイトで、通常はメモリ空間のid()関数の継続的な割り当てです。

>>> id(0)
2034812832
>>> id(1)
2034812848
>>> id(2)
2034812864

      Pythonが環境を初期化すると、メモリ内のスペースが分割され、整数オブジェクトのアクセス専用になります。もちろん、このスペースは無限ではなく、保存できるデータは限られています。

>>> id(251)
2034816848
>>> id(260)
13647712
>>> id(-10)
13647696

小さな整数オブジェクトプール

    Pythonが初期化されると、小さな整数のオブジェクトプールが自動的に作成されます。これは、後で呼び出して繰り返し生成されないようにするのに便利です。-5〜256しか含まれていません。これらの番号は最も一般的に使用される番号であるため、事前にPythonによってメモリに読み込まれます。整数を使用する場合、-5から256の間にない場合は、常に再作成されます。

>>> id(-5)
2034812752
>>> id(-6)
13647728
>>> id(256)
2034816928
>>> id(257)
13647648
>>> id(300)
13647696
>>> id(300)
13647712
>>> id(300)
13647680

フローティングポイントタイプフロート

浮動小数点数は小数です。小数が長すぎる場合は、科学的な表記で表すこともできます。

>>> print(3.14)
3.14
>>> print(1.298765e10)
12987650000.0
>>> print(0.89e-5)
8.9e-06
>>> print(1.23e-8)
1.23e-08

繁雑

複素数は、実数部と虚数部、a + bjで構成されます。

>>> print(1+2)
3
>>> print(1+2j)
(1+2j)
>>> (1+2j)*(1-2j)
(5+0j)
>>> complex(1,2)*complex(1,-2)
(5+0j)

ブール

正誤、0と1、正と負はすべて伝統的な意味でのブール型です

Pythonでは、TrueとFalseの2つのブール型しかありません。

ブール型は、論理演算と比較演算にのみ存在できます

>>> True + False
1
>>> True - False
1
>>> 3 > 2
True
>>> 2 < 1
False
>>> 3 > 2 and 2 < 1
False

なし空值NoneType

ヌル値は数値0として理解することはできません。これは空のセットφです。主にシーケンスの作成やオブジェクト指向のプログラミングで使用します。

>>> None + 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
>>> [None] * 10  # 创建一个长度为10的列表 没有数据 但有空间
[None, None, None, None, None, None, None, None, None, None]

文字列str

文字列には、一重引用符、二重引用符、三重引用符(通常はコメントで使用されます)の3つの形式があります。

>>> print("HelloWorld")
HelloWorld
>>> print('你好')
你好
>>> print(" '' ")
 ''
>>> print(' "" ')
 ""
>>> print(' ' ')
  File "<stdin>", line 1
    print(' ' ')
               ^
SyntaxError: EOL while scanning string literal
>>> print(' \' ')
 '

 

エスケープ

  • \\:バックスラッシュ

  • \':アポストロフィ

  • \":二重引用符

  • \n:ラップ

  • \t:水平タブ

>>> print(' \' ')
 '
>>> print("\")
  File "<stdin>", line 1
    print("\")
             ^
SyntaxError: EOL while scanning string literal
>>> print("\\")
\

変数

変数:プログラムの実行中に値が変化する量。

定数:プログラムの実行中に値が変化しない量。(文字通り、コードに直接表示されるデータ)

変数であるか定数であるかに関係なく、作成時にメモリにスペースが開かれ、値が保存されます。

# Java中基本数据类型变量a,b 和 引用数据类型变量c d e
int a = 3;
int b = 8;
Object c = new Object();
Object d = new Object();
Object e = c;

Pythonでは、すべてがオブジェクトです。

>>> a = 1
>>> b = 1
>>> c = 1
>>> a == b
True
>>> id(1)
2034812848
>>> id(a)
2034812848
>>> id(b)
2034812848
>>> d = a
>>> d == b
True

 

>>> num1 = 300
>>> num2 = 300
>>> num3 = 300
>>> id(num1)
13647712
>>> id(num2)
13647696
>>> id(num3)
13647680
>>> num1 == num2
True

 アドレスを盲目的に比較することはできませんが、2つのオブジェクトの内容が等しいかどうかも比較できます。

変数スペースには、特定のデータオブジェクトのアドレスのみを格納でき、変数はオブジェクトへの単なる参照です。

変数を呼び出す前に、変数を割り当てる必要があります。

>>> print(num4)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'num4' is not defined

変数は継続的に割り当てることができます。

>>> a=b=c=10
>>> a
10
>>> b
10
>>> c
10
>>> a,b,c =10,20,30
>>> a
10
>>> b
20
>>> c
30
>>> a=b=c=1000
>>> id(a)
13647776
>>> id(b)
13647776
>>> id(c)
13647776
>>> a=1000
>>> b=1000
>>> c=1000
>>> id(a)
13647792
>>> id(b)
13647648
>>> id(c)
13647824

 Pythonの変数自体にはデータ型の制約はなく、オブジェクトへの参照にすぎず、オブジェクトデータのメモリアドレスを格納します。

データタイプのみがデータオブジェクト間で区別されます。

 

識別子

いわゆる識別子は、変数、定数、関数、クラスなどに付ける名前です。

次の規定:

  • 最初の文字は文字または下線である必要があります_

    • Pythonは中国語をサポートしていますが、名前に中国語を使用することもできますが、お勧めしません

    • 下線で始まる単語は、オブジェクト指向のプログラミングでは特別な意味を持ちます-プライベート

  • 識別子の他の部分は、文字、数字、および下線で構成されます

  • 識別子は大文字と小文字を区別します

  • 変数名はすべて小文字で、定数名はすべて大文字です(Pythonには定数PI = 3.14はなく、本質的に変数です)

  • 関数名は小文字で下線が引かれています。これは変数名と同じです。

  • クラス名は、大きなラクダの場合の命名方法を使用します。名前が複数の単語で構成されている場合、各単語の最初の文字は大文字になります。

变量的命名不要使用关键字和内置函数的名称!

>>> True = 2
  File "<stdin>", line 1
SyntaxError: cannot assign to True
>>> if = 3
  File "<stdin>", line 1
    if = 3
       ^
SyntaxError: invalid syntax

 

キーワード

高レベルのプログラミング言語によって特別な意味が与えられた単語を指します。

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

また、組み込み関数を使用することはできません(他の目的で組み込み関数の名前を変更してください)

>>> id(2)
2034812864
>>> id = 3
>>> id + 1
4
>>> id(4)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable

Pythonでは、すべてがオブジェクトであり、関数自体がオブジェクトです。

>>> id(2)
2034812864
>>> id(id)
45545184
>>> abc = id
>>> abc(1)
2034812848
>>> id(1)
2034812848
>>> id = 10
>>> print(id)
10
>>> abc(id)
2034812992

組み込み関数はいくつありますか?

>>> dir(__builtins__)
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '_', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']

コメント

注:プログラムで使用されるテキスト情報は、プログラムの一部とは見なされません。

  • 1行のコメント:#コメントの内容

  • 複数行のコメント:複数の単一行のコメント

  • ドキュメントノート: "" "ノートの内容はクラス情報機能情報" ""を説明することができます

おすすめ

転載: blog.csdn.net/trichloromethane/article/details/107800214
おすすめ