標準入出力と変数の操作
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文を使用します。複雑な条件を扱う場合、and、or、notなどの論理演算子を組み合わせることで、柔軟な条件判定を実現できます。また、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}")