Python Ultimate チート シート

Jan 04 2023
はじめに Python は、Web 開発、人工知能、データ分析、科学計算に広く使用されている高レベルのインタープリター型プログラミング言語です。これは汎用言語であるため、デスクトップ アプリケーションから Web サーバーやフレームワークまで、ほぼすべての種類のソフトウェアの構築に使用できます。
UnsplashのHitesh Choudharyによる写真

序章

Python は、Web 開発、人工知能、データ分析、科学計算に広く使用されている高レベルのインタープリター型プログラミング言語です。これは汎用言語であるため、デスクトップ アプリケーションから Web サーバーやフレームワークまで、ほぼすべての種類のソフトウェアの構築に使用できます。

Python の主な利点の 1 つは、その単純さと読みやすさです。インデントを使用してコードのブロックを定義し、その構文は簡単で習得が容易です。これにより、初心者だけでなく、アイデアのプロトタイプをすばやく作成したり、プロトタイプを作成したい専門家にとっても優れた言語になります。

その単純さに加えて、Python は非常に強力でもあります。大規模な標準ライブラリがあるため、追加のライブラリをインストールしなくても、多くの一般的なタスクを実行できます。また、科学計算、データ分析、機械学習に使用できる NumPy や Pandas などの強力なサードパーティ ライブラリも多数あります。

全体として、Python は、幅広いタスクに適した汎用性の高い人気のある言語です。プログラミングを学びたい初心者であろうと、強力なソフトウェアを構築したいと考えているプロであろうと、Python は最適な選択肢です。

コード例

コンソールへの出力:

print("Hello, World!")

変数:

x = 5
y = 10
z = x + y
print(z)

ループ

for i in range(5):
    print(i)

条件ステートメント:

x = 5
if x > 0:
    print("x is positive")
else:
    print("x is not positive")

機能:

def greet(name):
  print("Hello, " + name + "!")

greet("Alice")
greet("Bob")

配列:

names = ["Alice", "Bob", "Charlie"]
for name in names:
    print(name)

オブジェクト指向プログラミング:

class Dog:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def bark(self):
    print("Woof!")

dog1 = Dog("Fido", 3)
dog2 = Dog("Buddy", 5)

print(dog1.name)
print(dog2.age)

dog1.bark()
dog2.bark()

モジュールのインポート:

import math

x = math.pi
print(x)

ファイルの読み取りと書き込み:

# Open a file for writing
f = open("test.txt", "w")

# Write to the file
f.write("Hello, World!")

# Close the file
f.close()

# Open the file for reading
f = open("test.txt", "r")

# Read the contents of the file
contents = f.read()

# Print the contents
print(contents)

# Close the file
f.close()

例外:

try:
  x = 5 / 0
except ZeroDivisionError:
  print("Division by zero!")

辞書:

# Create a dictionary
person = {
  "name": "John Smith",
  "age": 30,
  "city": "New York"
}

# Access an element of the dictionary
print(person["name"])

# Modify an element of the dictionary
person["age"] = 35

# Add a new element to the dictionary
person["country"] = "USA"

# Delete an element from the dictionary
del person["city"]

リスト:

# Create a list
numbers = [1, 2, 3, 4, 5]

# Access an element of the list
print(numbers[0])

# Modify an element of the list
numbers[0] = 10

# Add a new element to the list
numbers.append(6)

# Delete an element from the list
del numbers[4]

タプル:

# Create a tuple
point = (1, 2)

# Access an element of the tuple
print(point[0])

# Tuples are immutable, so you cannot modify or add elements

# Unpack a tuple
x, y = point
print(x)
print(y)

セット:

# Create a set
s = set([1, 2, 3, 4, 5])

# Add an element to the set
s.add(6)

# Remove an element from the set
s.remove(5)

# Check if an element is in the set
if 3 in s:
  print("3 is in the set")

# Find the intersection of two sets
s2 = set([4, 5, 6, 7, 8])
s3 = s.intersection(s2)
print(s3)

文字列:

# Create a string
s = "Hello, World!"

# Get the length of a string
n = len(s)

# Access an element of the string
c = s[0]

# Modify an element of the string (strings are immutable, so this will create a new string)
s2 = s[:5] + "world" + s[11:]

# Find the index of a substring
i = s.find("World")

# Split a string into a list of substrings
l = s.split(",")

クラスと継承:

class Pet:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def speak(self):
    print("I don't know what to say")

class Cat(Pet):
  def speak(self):
    print("Meow")

class Dog(Pet):
  def speak(self):
    print("Woof")

pets = [Cat("Fluffy", 3), Dog("Buddy", 5)]
for pet in pets:
  pet.speak()

モジュール:

# math.py

def add(x, y):
  return x + y

def subtract(x, y):
  return x - y

# main.py

import math

result = math.add(5, 3)
print(result)

result = math.subtract(5, 3)
print(result)

リスト内包表記:

numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares)

ジェネレーター:

def count_up_to(max):
  count = 1
  while count <= max:
    yield count
    count += 1

for number in count_up_to(5):
  print(number)

ラムダ関数:

add = lambda x, y: x + y
result = add(5, 3)
print(result)

マップとフィルター:

numbers = [1, 2, 3, 4, 5]

# Use map to apply a function to each element
squares = list(map(lambda x: x**2, numbers))
print(squares)

# Use filter to select elements that meet a condition
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens)

デコレーター:

def my_decorator(func):
  def wrapper():
    print("Something is happening before the function is called.")
    func()
    print("Something is happening after the function is called.")
  return wrapper

@my_decorator
def say_hi():
  print("Hi!")

say_hi()

列挙する:

colors = ["red", "green", "blue"]

for i, color in enumerate(colors):
  print(f"{i}: {color}")

並べ替え

numbers = [3, 1, 4, 2, 5]

# Sort the list in ascending order
numbers.sort()
print(numbers)

# Sort the list in descending order
numbers.sort(reverse=True)
print(numbers)

# Use the sorted function to return a new sorted list
numbers = [3, 1, 4, 2, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers)

コンテキスト マネージャー:

with open("test.txt", "w") as f:
  f.write("Hello, World!")

正規表現:

import re

# Find all the occurrences of a pattern
pattern = r"\d+"
string = "There are 3 dogs and 4 cats."
matches = re.findall(pattern, string)
print(matches)

# Find the first occurrence of a pattern
pattern = r"\d+"
string = "There are 3 dogs and 4 cats."
match = re.search(pattern, string)
print(match.group())

# Replace all the occurrences of a pattern
pattern = r"\d+"
replacement = "NUMBER"
string = "There are 3 dogs and 4 cats."
new_string = re.sub(pattern, replacement, string)
print(new_string)

CSV ファイルの読み取りと書き込み:

import csv

# Write to a CSV file
with open("test.csv", "w", newline="") as f:
  writer = csv.writer(f)
  writer.writerow(["Name", "Age"])
  writer.writerow(["Alice", 25])
  writer.writerow(["Bob", 30])

# Read from a CSV file
with open("test.csv", "r", newline="") as f:
  reader = csv.reader(f)
  for row in reader:
    print(row)

JSON ファイルへの書き込みと読み取り:

書き込み

import json

# Data to be written to a JSON file
data = {
  "name": "Alice",
  "age": 25,
  "city": "New York"
}

# Open the file for writing
with open("test.json", "w") as f:
  # Write the data to the file
  json.dump(data, f)

import json

# Open the file for reading
with open("test.json", "r") as f:
  # Load the data from the file
  data = json.load(f)

# Print the data
print(data)

よりインタラクティブなコンテンツをフォロー、共有、購読してください