記事ディレクトリ
Pythonの基本
データの種類
Pythonでは豊富なデータ型が用意されており、さまざまなデータを柔軟に扱うことができます。
まずは数値型です。数値型には、整数、浮動小数点、複素数が含まれます。
整数型 (int) は、年齢、数量などの整数を表すために使用されます。次のように、整数を変数に直接割り当てることができます。
age = 18
浮動小数点数は、長さ、重さなどの小数点を含む数値を表すために使用されます。同様に、次のように変数に浮動小数点数を割り当てることができます。
height = 1.75
ブール値 (bool) は、論理的真実 (True) または論理的偽 (False) を表すために使用されます。通常は条件判定やループ制御に使用されます。以下に例を示します。
is_student = True
次に文字列型(str)です。文字列は、名前や住所などの文字で構成されるテキストを表すために使用されます。次のように一重引用符または二重引用符を使用してテキストを囲むことができます。
name = "Alice"
address = '123 Main Street'
さらに、null 値 (NoneType) と呼ばれる特殊なデータ型があります。null 値は、値のないオブジェクトを表します。None
変数を次のように代入することで null 値を表すことができます。
result = None
型チェック
関数は、変数の型チェックが必要な場合に使用できますtype()
。以下に例を示します。
age = 18
print(type(age)) # 输出:<class 'int'>
height = 1.75
print(type(height)) # 输出:<class 'float'>
is_student = True
print(type(is_student)) # 输出:<class 'bool'>
name = "Alice"
print(type(name)) # 输出:<class 'str'>
result = None
print(type(result)) # 输出:<class 'NoneType'>
関数を呼び出すことでtype()
、変数の実際のデータ型を取得し、それに応じて処理できます。
要約すると、Python は整数、浮動小数点型、ブール型、文字列型などの豊富なデータ型を提供します。さまざまなニーズに応じて適切なデータ型を選択し、型チェック機能を使用してプログラムの正確性を保証できます。
物体
- Python はオブジェクト指向言語です
- すべてはオブジェクトです!
- プログラムの実行中は、すべてのデータがメモリに保存されてから実行されます。
- オブジェクトは、指定されたデータを保存するための専用のメモリ領域です。
- オブジェクトは実際にはコンテナであり、特にデータを保存するために使用されます。
- 以前学習した数値、文字列、ブール値、None と同様、これらはすべてオブジェクトです。
オブジェクト構造
Python を使用してオブジェクトを作成すると、ID、タイプ、値の 3 種類のデータが自動的に保存されます。各データの機能は次のとおりです。
1 つ目は ID (id) です。ID は、人の ID カード番号と同様に、オブジェクトを一意に識別するために使用されます。各オブジェクトには一意の識別番号があります。組み込み関数を使用して、id()
オブジェクトの ID を表示できます。CPython インタプリタでは、この識別子はメモリ内のオブジェクトのアドレスです。オブジェクトが作成されると、そのアイデンティティは変わりません。
# 创建一个整型对象,并查看它的标识
num = 10
print(id(num)) # 输出:140721888491424
次に型 (type) です。型は、整数 (int)、文字列 (str)、浮動小数点数 (float)、ブール値 (bool) など、現在のオブジェクトが属するカテゴリを示します。タイプによって、オブジェクトがどのような機能や動作を行うかが決まります。組み込み関数を使用して、type()
オブジェクトのタイプを確認できます。Python は厳密に型指定された言語であり、オブジェクトの型は作成後に変更できないことに注意してください。
# 创建一个字符串对象,并查看它的类型
name = "Alice"
print(type(name)) # 输出:<class 'str'>
最後に値があります。値はオブジェクトに格納されている特定のデータを表します。一部のオブジェクトでは値を変更できますが、他のオブジェクトでは値を変更できません。オブジェクトは、可変オブジェクトと不変オブジェクトの 2 つのカテゴリに分類できます。リスト (list) などの可変オブジェクトの値は変更できますが、整数 (int) や文字列 (str) などの不変オブジェクトの値は変更できません。
# 创建一个列表对象,并修改它的值
numbers = [1, 2, 3]
print(numbers) # 输出:[1, 2, 3]
numbers.append(4)
print(numbers) # 输出:[1, 2, 3, 4]
これら 3 種類のデータを保存することで、Python のオブジェクトはデータを柔軟に保存および操作できます。オブジェクトの構造を理解することは、Python プログラムのデータ処理プロセスをより深く理解し、オブジェクトをより適切に使用および管理するのに役立ちます。
変数とオブジェクト
Python では、変数とオブジェクトは分離できません。オブジェクトを作成するとき、実際にはオブジェクトの値、型、ID を保存するためにメモリ内にスペースを開きます。オブジェクトを変数に割り当てると、変数には実際にはオブジェクトそのものではなく、オブジェクトの ID (メモリ アドレス) が格納されます。
以下の例を参照してください。
# 创建一个整型对象
num1 = 10
# 将 num1 赋值给 num2,两个变量此时指向同一个对象
num2 = num1
# 修改 num1 的值,此时 num2 不受影响
num1 = 20
print(num1) # 输出:20
print(num2) # 输出:10
上記のコードからわかるように、変数num1
とnum2
は両方とも同じ整数オブジェクト ( 10
) を指します。値を変更してもnum1
、変数はnum2
それぞれ独立したオブジェクト ID を保持しているため、影響を受けません。
同時に、変数は互いに独立しており、1 つの変数を変更しても別の変数には影響しません。たとえば、次のコード:
# 创建两个整型对象
num1 = 10
num2 = 20
# 将 num1 和 num2 相加并赋值给 sum_num
sum_num = num1 + num2
# 修改 num1 的值,不会影响 sum_num
num1 = 30
print(sum_num) # 输出:30
上記のコードからわかるように、num1
値を変更しましたが、sum_num
変数に保存されたオブジェクトの値はまったく影響を受けません。これは、変数と変数が互いに独立しており、それぞれが独立したオブジェクト識別子を格納するためです。
要約すると、変数とオブジェクトの関係はエイリアス関係であり、変数はオブジェクトの値を直接格納するのではなく、オブジェクトの識別子を指します。変数を使用するときは、実際にはオブジェクト識別子によってオブジェクトを検索していることになります。Python プログラミングをマスターするには、変数とオブジェクトの関係を理解することが非常に重要です。
型変換
Python では、型変換とは、ある型のオブジェクトを別の型のオブジェクトに変換することです。型変換の目的は、オブジェクト自体の型を変更するのではなく、現在のオブジェクトの値に基づいて新しいオブジェクトを作成することです。
一般的な型変換の例をいくつか示します。
- 整数を文字列に変換します。
# 创建一个整型对象
num = 100
# 将整型转换为字符串型
str_num = str(num)
print(type(str_num)) # 输出:<class 'str'>
上の例では、str()
関数を使用して整数オブジェクトをnum
文字列オブジェクトに変換しましたstr_num
。type()
関数を通じて表示できる型str_num
は文字列オブジェクトです。
- 文字列型を整数型に変換します。
# 创建一个字符串对象
str_num = "200"
# 将字符串型转换为整型
num = int(str_num)
print(type(num)) # 输出:<class 'int'>
上の例では、int()
関数を使用して文字列オブジェクトをstr_num
整数オブジェクトに変換しますnum
。type()
関数を通じて表示できる型num
は整数オブジェクトです。
- 浮動小数点数を整数に変換します。
# 创建一个浮点型对象
float_num = 3.14
# 将浮点型转换为整型
num = int(float_num)
print(num) # 输出:3
上の例では、int()
関数を使用して浮動小数点オブジェクトをfloat_num
整数オブジェクトに変換しましたnum
。整数オブジェクトは整数のみを表現できるため、型変換時に小数部分は破棄されます。
型変換を実行するときは、現在のオブジェクトの値がターゲット型の要件を満たしていることを確認してください。満たさない場合、エラーが発生する可能性があります。たとえば、数値以外の文字列を整数に変換するとValueError
例外がスローされます。
要約すると、型変換を通じて、必要に応じて、ある型のオブジェクトを別の型のオブジェクトに変換できます。型変換では、オブジェクト自体の型は変更されませんが、オブジェクトの値に基づいて新しいオブジェクトが作成されます。Python でデータを操作したり操作したりするには、型変換をマスターすることが非常に重要です。
オペレーター(オペレーター)
- 演算子は、1 つまたは複数の値に対して計算やさまざまな操作を実行できます。
- たとえば、+、-、= はすべて演算子です。
- 演算子のカテゴリ:
- 算術演算子
- 代入演算子
- 比較演算子(関係演算子)
- 論理演算子
- 条件演算子(三項演算子)
次に、一般的な演算子を詳しく紹介します。
1. 算術演算子
- 加算演算子 (+): 2 つの値を加算するために使用されます。
- 減算演算子 (-): ある値を別の値から減算するために使用されます。
- 乗算演算子 (*): 2 つの値を乗算するために使用されます。
- 除算演算子 (/): ある値を別の値で除算するために使用されます。
- 剰余演算子 (%): 2 つの数値の除算の剰余を求めるために使用されます。
- 除数演算子 (//): 2 つの数値の除算の整数部分を取得するために使用されます。
- べき乗演算子 (**): 数値の累乗に使用されます。
例:
a = 10
b = 3
print(a + b) # 输出:13
print(a - b) # 输出:7
print(a * b) # 输出:30
print(a / b) # 输出:3.3333333333333335
print(a % b) # 输出:1
print(a // b) # 输出:3
print(a ** b) # 输出:1000
2. 代入演算子
代入演算子は変数に値を代入するために使用されます。
- 等号 (=): 右側の値を左側の変数に代入します。
- 等号の追加 (+=): 右側の値を左側の変数に加算し、結果を左側の変数に代入します。
- 等号の減算 (-=): 左側の変数から右側の値を減算し、結果を左側の変数に代入します。
- 等号の乗算 (*=): 左側の変数と右側の値を乗算し、その結果を左側の変数に代入します。
- 等価除算 (/=): 左側の変数を右側の値で除算し、結果を左側の変数に代入します。
- 係数は (%=) に等しい: 左側の変数を取得し、右側の値を左側の変数に割り当てます。
- 等価除算 (//=): 左側の変数を右側の値で除算し、その結果を左側の変数に代入します。
- 累乗は次と等しい (**=): 左側の変数の値を右側で累乗し、その結果を左側の変数に代入します。
例:
a = 10
b = 3
a += b # 等价于 a = a + b
print(a) # 输出:13
a -= b # 等价于 a = a - b
print(a) # 输出:10
a *= b # 等价于 a = a * b
print(a) # 输出:30
a /= b # 等价于 a = a / b
print(a) # 输出:10.0
a %= b # 等价于 a = a % b
print(a) # 输出:1.0
a //= b # 等价于 a = a // b
print(a) # 输出:0.0
a **= b # 等价于 a = a ** b
print(a) # 输出:0.0
3. 比較演算子(関係演算子)
比較演算子は 2 つの値間の関係を比較するために使用され、ブール値 True または False を返します。
- 等しい (==): 2 つの値が等しいかどうかを確認します。
- 等しくない (!=): 2 つの値が等しくないかどうかをチェックします。
- より大きい (>): 左側の値が右側の値より大きいかどうかを確認します。
- 未満 (<): 左側の値が右側の値より小さいかどうかを確認します。
- 以上 (>=): 左側の値が右側の値以上であるかどうかを確認します。
- 以下 (<=): 左側の値が右側の値以下であるかどうかを確認します。
例:
a = 10
b = 3
print(a == b) # 输出:False
print(a != b) # 输出:True
print(a > b) # 输出:True
print(a < b) # 输出:False
print(a >= b) # 输出:True
print(a <= b) # 输出:False
4. 論理演算子
論理演算子は、条件式を結合し、True または False のブール値を返すために使用されます。
- AND 演算子 (and): 両方の条件式が True の場合に True を返します。
- OR 演算子 (or): 少なくとも 1 つの条件式が True の場合、True を返します。
- Not 演算子 (not): 条件式の結果を否定します。
例:
a = 10
b = 3
c = 5
print(a > b and a > c) # 输出:True
print(a > b or a < c) # 输出:True
print(not(a > b)) # 输出:False
5. 条件演算子(三項演算子)
条件演算子は、条件に基づいて異なる値を選択するために使用されます。
- 構文: value1 if 条件 else value2
- 条件が True の場合は value1 が返され、それ以外の場合は value2 が返されます。
例:
a = 10
b = 3
max_value = a if a > b else b
print(max_value) # 输出:10
上記は一般的な演算子です。実際のプログラミングでは、これらの演算子はさまざまな論理タスクや計算タスクを完了するのに役立ちます。
要約する
この記事では、データ型、型チェック、オブジェクト、変数とオブジェクト、型変換、演算子など、プログラミングにおける基本的な概念と構文をいくつか紹介します。これらを以下に簡単にまとめます。
- データ型は、データの特性と操作を定義します。一般的なデータ型には、整数、浮動小数点数、文字列、ブール値などが含まれます。型チェックにより、変数のデータ型が決定されます。
- オブジェクトは状態と動作を持つエンティティです。変数はオブジェクトへの参照であり、変数を通じてオブジェクトのプロパティとメソッドにアクセスし、操作できます。
- 型変換は、あるデータ型を別のデータ型に変換するプロセスです。一般的な変換には、整数と浮動小数点数の間の変換、文字列と数値の間の変換などが含まれます。
- 演算子は、特定の操作を実行するために使用される記号です。一般的な演算子には、算術演算子、比較演算子、論理演算子などが含まれます。
これらの基本を理解して習得することで、コードの学習と記述をより適切に開始できるようになります。プログラミング プロセスでは、構文の正確さとデータ型の一致に注意し、関数とオブジェクトを合理的に使用してコードを編成します。同時に、演算子を柔軟に使用して、さまざまな計算や論理演算を実装できます。