【プログラミング】【Python】Python言語について - j-komatsu/myCheatSheet GitHub Wiki

Python言語について

1. Pythonの特徴

Pythonは、シンプルな文法と強力なライブラリを持つ高水準プログラミング言語です。
特に以下のような特徴があります。

特徴 説明
簡潔な文法 コードが読みやすく、少ない記述量で実装可能
動的型付け 型を明示せずに変数を定義できる
豊富なライブラリ 科学計算、機械学習、Web開発など多くの分野で利用される
インタプリタ実行 一行ずつコードを解釈して実行できる(REPL環境あり)
オブジェクト指向 クラスとインスタンスを活用した設計が可能
静的言語との違い Javaなどの静的型付け言語とは異なり、型を後から変更可能

2. PythonとJavaの比較

Pythonは動的型付けのスクリプト言語で、Javaは静的型付けのコンパイル言語です。
以下の表で主な違いを比較します。

比較項目 Python Java
型付け 動的型付け(実行時に型決定) 静的型付け(コンパイル時に型チェック)
記述量 短いコードで実装可能 冗長な記述が必要な場合が多い
コンパイル インタプリタ型(逐次実行) 事前コンパイルが必要
実行速度 遅め(インタプリタ実行) 高速(JVMによる最適化)
用途 スクリプト、機械学習、Web開発 大規模開発、Androidアプリ
メモリ管理 自動ガベージコレクション 自動ガベージコレクション
マルチスレッド GILの影響で制限あり ネイティブスレッドに対応

3. Pythonの基本構文

3.1 変数とデータ型

Pythonでは、変数を宣言する際に型を明示する必要はありません。

# 数値型
x = 10        # 整数型 (int)
y = 3.14      # 浮動小数点数 (float)

# 文字列型
name = "Python"

# リスト型
fruits = ["Apple", "Banana", "Cherry"]

# 辞書型
person = {"name": "Alice", "age": 25}

print(x, y, name, fruits, person)

出力:

10 3.14 Python ['Apple', 'Banana', 'Cherry'] {'name': 'Alice', 'age': 25}

3.2 条件分岐とループ

Pythonの条件分岐とループの基本構文を示します。

# 条件分岐
x = 10
if x > 5:
    print("xは5より大きい")
elif x == 5:
    print("xは5と等しい")
else:
    print("xは5より小さい")

# ループ
for i in range(5):
    print("ループ:", i)

while x > 0:
    print("カウントダウン:", x)
    x -= 1

出力:

xは5より大きい
ループ: 0
ループ: 1
ループ: 2
ループ: 3
ループ: 4
カウントダウン: 10
...
カウントダウン: 1

4. Pythonの主要関数

関数名 説明
print() 標準出力に表示する
len() 配列や文字列の長さを取得
int() 整数に変換
float() 浮動小数点数に変換
str() 文字列に変換
list() リストを生成
dict() 辞書を生成
range() 連続した数値のリストを生成
enumerate() インデックス付きでループ処理
zip() 複数のリストを同時にループ処理

5. 関数とクラスの実装

5.1 関数の定義

def greet(name):
    return f"こんにちは、{name}さん!"

print(greet("太郎"))

出力:

こんにちは、太郎さん!

5.2 クラスの定義とオブジェクト指向

class Animal:
    def __init__(self, name):
        self.name = name

    def speak(self):
        return f"{self.name}が鳴きます"

dog = Animal("犬")
print(dog.speak())

出力:

犬が鳴きます

6. Pythonの実行フロー (Mermaid.js)

graph TD;
    A[Pythonスクリプトの実行] --> B[インタプリタによる解析]
    B --> C[コードの実行]
    C --> D[出力]

7. まとめ

  • Pythonは動的型付けのインタプリタ言語で、コードが簡潔で書きやすい。
  • Javaとは異なり、コンパイル不要で実行できるが、実行速度は遅め。
  • シンプルな構文と豊富なライブラリを活用し、さまざまな用途で使用される。