0
1

【Python】基本!PEP8を意識して書いてみた!

Last updated at Posted at 2024-07-21

本日の内容

今日の記事はPythonを使用する上で基礎的な情報を記載していきます。
実際に勉強会でも使用する内容になります。
下記に記載しているコードはコードスタイル「PEP8」を意識して記載しています。
PEP8については以下のサイトをご覧ください。

変数と四則演算

Pythonでは、整数、文字列、リスト、関数など、すべての値はメモリ上のどこかに存在するオブジェクトです。
変数には、値がどこにあるのかを示す「オブジェクトID」(オブジェクトのアドレス)が代入されます。
コードは以下になります。

# 変数
num = 1  # メモリ上に整数値1のint型オブジェクトが作られ、変数numにはオブジェクトIDが代入される
print(type(num))  # <class 'int'>

moji = "こんにちは"
print(type(moji))  # <class 'str'>

num_1 = 1.1
print(type(num_1))  # <class 'float'>

flg = True
print(type(flg))  # <class 'bool'>
num_lst = [1, 2, 3, 4, 5]
print(type(num_lst))  # <class 'list'>

num_tuple = (1, 2, 3, 4)
print(type(num_tuple))  # <class 'tuple'>

num_dict = {1: 'リンゴ', 2: 'バナナ'}
print(type(num_dict))  # <class 'dict'>

num_set = {1, 2, 3, 4, 5}
# print(type(num_set))  # <class 'set'>


# 四則演算
def operations():
    """
    四則演算
    """
    x = 4
    y = 2
    print(f'{x} + {y} = {x + y}')  # 和
    print(f'{x} - {y} = {x - y}')  # 差
    print(f'{x} × {y} = {x * y}')  # 積
    print(f'{x} ÷ {y} = {x / y}')  # 商
    print(f'{x} ÷ {y} = {x // y}')  # 商の切り捨て
    print(f'{x}{y}乗 = {x ** y}')  # べき乗
    print(f'{x} の余り {y} = {x % y}')  # 余り


operations()

型説明

list:データを一直線にまとめたもの。インデックスでアクセスできる。

tuple:リストオブジェクトのように要素を変更することはできない。
複数の要素が決まった順番にならんだ値。

dict(辞書):キー (key) と値 (value) を対応づけるデータ型。

set(集合):リストと同様に複数の要素から構成されるデータです。 セットでは、リストと異なり要素の重複はしない。

実行結果

Untitled (4).png

制御構造

コードは以下になります。

# 条件分岐
num = int(input('数字を入力-> '))  # ユーザから入力
if num == 10:
    print('10です。')
elif num >= 10:
    print('10以上です。')
else:
    print('10以下です。')

# ループ
for i in range(10):
    print(i)  # 0始まり

moji = [chr(ord("A")+i) for i in range(26)]  # アルファベットを格納
# enumerate-> forループでインデックスを取得できる
for j, k in enumerate(moji, 1):
    print(f'{j}:{k}', end= ' ')


# ループ、条件分岐、内包表記
def even_1(even):
    """偶数を返す関数

    Args:
        even(list[int]): 空のリスト

    Returns:
        list[int]: 偶数リスト
    """
    for i in range(1, 10 + 1):
        if i % 2 == 0:
            even.append(i)
    return even


even_lst = []
print(*even_1(even_lst))


def odd_1(odd):
    """奇数を作成する関数

    Args:
        odd (list): 空のリスト

    Returns:
        list[int]: 奇数のリスト
    """
    odd = [i for i in range(1, 10 + 1)if i % 2 != 0]
    return odd


odd_lst = []


print(*odd_1(odd_lst))

docstring: コード内で文字を記載する際の方法の一つ。関数の場合は、何をするのかの概要、パラメータ、戻り値、発生する例外などについて記述する。

内包表記:既存のリストから新しいリストを作ることができる、リスト作成方法の一つ。

関数:処理を一つにまとめたもの。

実行結果

image.png

データ構造(list)

コードは以下になります。

import random


# データ構造
num_lst = [1, 2, 3, 4, 5]

n_lst = [random.randint(1, 100) for _ in range(15)]

# リストのインデックス
print(num_lst[0])  # 最初
print(num_lst[-1])  # 最後

print(num_lst[0:1])

print(num_lst[0:2])  # [1, 2]
num_lst_1 = num_lst[0:2]
print(type(num_lst_1))
print(num_lst[0:])  # [1, 2, 3, 4, 5]

print(f"ランダムなリスト -> {n_lst}")  # 半角区切りで出力
print(f"合計 -> {sum(n_lst)}")  # sum関数(合計)
print(f"要素数 -> {len(num_lst)}")  # len関数(要素数)
print(f"最大値 -> {max(n_lst)}")  # max関数(最大値)
print(f"最小値 -> {min(n_lst)}")  # min関数(最小値)
print(f"平均 -> {sum(n_lst) // len(n_lst)}")  # n_lstの平均

# まとめて変数にセット
a, b, c, d, e = num_lst
print(a, b, c, d, e)

実行結果

Untitled (5).png

データ構造(dict)

コードは以下になります。

d = {'x': 10, 'y': 20}
print(d['x'])

d['z'] = 200
print(d)

# 辞書作成
d_1 = dict(a=10, b=20)
print(d_1)

print(d.keys())  # keyを確認
print(d.values())  # valueを確認

d2 = {'x': 10000, 'z': 900}
d.update(d2)  # アップデート
print(d)

x = {'a': 10, 'b': 20}  # 変数xにはオブジェクトID(オブジェクトのアドレス)が代入される
y = x  # 別変数への代入でもオブジェクトIDが代入され、オブジェクトを共有する
y['a'] = 1000
print(x)
print(y)

x = {'a': 10, 'b': 20}
y = x.copy()  # オブジェクトをシャローコピーして別オブジェクトを作ってから変数に代入する
y['a'] = 1000
print(x)
print(y)
fluits = {
    'apple': 100,
    'banana': 200,
    'orange': 300
}
print(fluits['apple'])

実行結果

image.png

データ構造(set)

コードは以下になります。

# 集合
s = {1, 2, 3, 4, 5, 6, 7}
print(s)
a = {6, 7, 8}

print(s - a)  # sからaを抜いたもの
print(a & s)  # aかつb
print(a | s)  # aまたはb
print(a ^ s)  # 二つのもので重複していないものを出力

s.add(6)
s.add(6)  # 重複はしない
s.remove(6)  # 6を消せる
s.clear()  # 全部消す

my_friends = {'A', 'B', 'D'}
A_friends = {'B', 'C', 'D', 'F'}
print(my_friends & A_friends)  # 共通の友達

# 種類を確認する時などにも使用できる。
f = ['apple', 'banana', 'apple', 'banana']
kind = set(f)  # 重複を消す。
print(kind)

実行結果

image.png

0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1