Pythonプログラミングの基礎:入出力、制御構造、データ構造

標準入出力と変数の操作

Pythonにおける標準出力にはprint()関数を使用します。変数の値を出力する際、f文字列(f-string)を用いることで、可読性の高いコードを記述できます。また、input()関数はユーザーからの入力を受け取り、常に文字列としてデータを返します。

# 出力の基本
message = "Hello World"
print(message)

# f文字列を用いた変数の埋め込み
count = 5
print(f"現在のカウント: {count}")

# 複数の変数をフォーマットして出力
width = 1920
height = 1080
print(f"解像度: {width}x{height}")

# 標準入力の受取
user_name = input("ユーザー名を入力してください: ")
print(f"ようこそ、{user_name}さん")

演算子と型変換

計算を簡略化するための複合代入演算子(+=, *=など)が利用可能です。これらはコードを簡潔にしますが、演算子の優先順位には注意が必要です。また、int()str()を用いてデータ型を明示的に変換することは、動的型付け言語であるPythonにおいて重要なプロセスです。

total_score = 100
total_score += 50  # total_score = total_score + 50 と等価

# 演算子の優先順位の確認
value = 10
value *= 2 + 3     # value = value * (2 + 3) -> 10 * 5 -> 50
print(value)

# 文字列から整数への変換
num_str = "255"
num_int = int(num_str)
print(f"変換後の値: {num_int}, 型: {type(num_int)}")

条件分岐と論理演算

プログラムの流れを制御するためにif文を使用します。複雑な条件を扱う場合、andornotなどの論理演算子を組み合わせることで、柔軟な条件判定を実現できます。また、elifを使用することで、多岐にわたる分岐処理を記述可能です。

age = 25
has_license = True

# 論理演算子を用いた条件判定
if age >= 18 and has_license:
    print("運転可能です")
elif age >= 18 and not has_license:
    print "免許が必要です")
else:
    print("運転不可です")

# ネストされた条件分岐
system_status = "warning"
if system_status in ["warning", "error"]:
    if system_status == "error":
        print("重大なエラーが発生しました")
    else:
        print("警告を検知しました")

繰り返し処理

処理を繰り返す場合、条件が真の間続くwhileループと、シーケンス(リストや文字列など)の要素を順に取り出すforループの2つが主に使われます。while Trueを使用すると無限ループを作成でき、特定の条件でbreakすることでループを抜けることができます。

# whileループによるカウント
counter = 1
while counter <= 3:
    print(f"処理回数: {counter}")
    counter += 1

# forループによるリストの反復処理
items = ["apple", "banana", "cherry"]
for fruit in items:
    print(f"商品名: {fruit}")

データ構造

Pythonには複数のデータを扱うための組み込みデータ構造が用意されています。リストは変更可能(ミュータブル)なシーケンスであり、タプルは変更不可能(イミュータブル)です。辞書(ディクショナリ)はキーと値のペアでデータを管理し、高速な検索が可能です。

文字列操作

文字列はイミュータブルなシーケンスです。スライス機能や特定のメソッドを使用して、文字列の検索や変換を行います。

text = "DataAnalysis"

# スライスによる部分取得
subset = text[4:9]  # "Analy"

# 大文字・小文字の変換
print(text.lower())  # "dataanalysis"

# 末尾の確認
filename = "report.pdf"
if filename.endswith(".pdf"):
    print("PDFファイルです")

# 中央揃え
header = "Title"
print(header.center(20, "="))

リストと辞書の応用

リストは異なるデータ型を混在して保存できます。辞書は関連するデータをまとめて管理するのに適しています。

# リストの初期化と追加
tags = ["python", "coding"]
tags.append("basics")

# 辞書によるデータ管理(名刺情報のモデル化)
contact_info = {
    "name": "Sato Taro",
    "phone": "090-1234-5678",
    "email": "taro.sato@example.com"
}

# 辞書データの表示
print("-" * 20)
for key, value in contact_info.items():
    print(f"{key}: {value}")
print("-" * 20)

# 数値リストからの最大値探索ロジック
numbers = [12, 45, 7, 99, 23]
current_max = numbers[0]
for n in numbers:
    if n > current_max:
        current_max = n
print(f"最大値: {current_max}")

6月9日 18:15 投稿