Pythonメモ

Pythonは普段触らないのでメモ。

四則演算
print(f"10 +  3 = {10 +  3}") # 13
print(f"10 -  3 = {10 -  3}") # 7
print(f"10 *  3 = {10 *  3}") # 30
print(f"10 /  3 = {10 /  3}") # 3.33333333
print(f"10 // 3 = {10 // 3}") # 3
print(f"10 %  3 = {10 %  3}") # 1
print(f"10 ** 3 = {10 ** 3}") # 1000
文字列のメソッド ・大文字、小文字変換
print("Python".upper()) # PYTHON
print("Python".lower()) # puthon
・含む文字の数
s = "G" + ("o" *10) + "gle"

print(s.count("o")) # 10 print(s.count("oo")) # 5 print(s.count("ooo")) # 3

print(s.count('o', 5)) # 6 Goooo ooooole print(s.count('o', 5, 8)) # 3 Goooo ooo oole

・文字列の位置を取得

s = "abcdefgabcdefg"

print(s.find("a"))      # 0
print(s.find("a", 3))   # 7
print(s.find("a", 10))  # -1 該当なし

# 後ろから探す
print(s.rfind("a"))     # 7

・トリム

s = "   \tabc\t"
print(f"|{s}|")
print(f"|{s.lstrip()}|") #左側をトリムする
print(f"|{s.strip()}|")  #左右トリムする
print(f"|{s.rstrip()}|") #右側をトリムする

・フォーマット

from datetime import datetime, timedelta

date_start = datetime.now()
date_end = date_start + timedelta(days=7)

# 文字列に直接埋め込むと…メソッド形式だと長すぎて可読性が悪い
print(f"開始:{date_start.strftime('%Y-%m-%d')} - 終了:{date_end.strftime('%Y-%m-%d')}")

# だからといって直接埋め込むために変数に設定しなおすべきか・・・
date_start_str = date_start.strftime("%Y-%m-%d")
date_end_str =date_end.strftime("%Y-%m-%d")
print(f"開始:{date_start_str} - 終了:{date_end_str}")

# 埋め込みたいものが長い場合はformatのほうが読みやすいかも
print("開始:{} - 終了:{}".format(date_start.strftime('%Y-%m-%d'), date_end.strftime('%Y-%m-%d')))
複数データ
data_list = [1, 2, 3] 
print(data_list)  # [1, 2, 3]

data_tuple = (1, 2, 3) print(data_tuple) # (1, 2, 3)

data_set = {1, 2, 3, 1, 2, 3} print(data_set) # {1, 2, 3}

data_disc = {"a" : 1, "b" : 2, "c" : 3} print(data_disc) # {'a': 1, 'b': 2, 'c': 3}

文字列に変数埋め込み

f"…{変数名}…"

from datetime import datetime

now = datetime.now().strftime("%H:%M:%S")
print(f"現在の時間:{now}")

num = 10
print(f"数値は{num}")
条件分岐/繰り返し ・if文 (インデントで
val = input("1:xxx, 2:xxx, 3:xxx\n選択してください。")

if val == "1": print("1:xxx を選択しました") elif val == "2": print("2:xxx を選択しました") elif val == "3": print("3:xxx を選択しました") else: print("選択外です")

if文の中 or 外はインデントで決まる。

・and, or &&, || ではなく and, or
ちなみに、2 <= val and val <= 10 は 2 <= and <= 10 ともかけるとのこと。

・notでtrueとみなすもの(falsyな値) False / None / 0 / 空(文字列、シーケンス、コレクションなど)

・while文

while True:
    val = input("1-3の数値を入力してください")
    
    if not val.isdigit():
        print("整数値じゃありません")
        continue
    elif val == "1":
        print("1を選択しました")
    elif val == "2":
        print("2を選択しました")
    elif val == "3":
        print("3を選択しました")
    else:
        print("1-3以外が選択されました。終了します。")
        break

print("終了します")

while 条件:
else:
whileのelseは条件が偽となったときにだけ実行される。
breakで終了となったときは、実行されない

・for文

sum = 0
for i in range(1, 11): #1から10までの値 
    sum += i
    print(sum)

data = [1, 3, 5, 7, 11, 13] #
for n in data:
    print(n)
例外
import sys

try:
    value = 1/0

except:
    ex_type, ex_value, ex_traceback = sys.exc_info()

    print(f"Type:{ex_type}")   #Type:<class 'ZeroDivisionError'>
    print(f"Value:{ex_value}") #Value:division by zero

finally:
    print("後処理")
投稿日時: 2024-07-12 13:28:12
更新日時: 2024-07-13 13:12:13

内部リンク

最近の投稿

タグ

アーカイブ

その他