MyUtils

View on GitHub

python index


lambda式について

"""🌟こんな感じでlambda式を実装できる(一行のみらしい、、、)
    lambda a,b,c,...<パラメータリスト>: 戻り値の式
"""
add_lambda = lambda a, b=1: a + b

print(add_lambda(3, 4))
# 7
print(add_lambda(3))
# 4

get_odd_even = lambda x: 'even' if x % 2 == 0 else 'odd'
print(get_odd_even(3))
# odd
print(get_odd_even(4))
# even


非同期処理について

pythonでもasync/awaitの書き方が追加されたらしいので、書き方をまとめておく

import asyncio

async def hello_world(n):
    # 🌟awaitはasync内でしか使えない
    # 1sec sleep(🚨安易にtime.sleepすると他スレッドもsleepする。
    # 非同期の重い処理代わりにsleepする場合はこれを使うこと)
    await asyncio.sleep(1) 
    print("{}: Hello World!".format(n))

async def call_hello_world1():
    print("call_hello_world1()")
    await hello_world(1)

async def call_hello_world2():
    print("call_hello_world2()")
    await hello_world(2)

# 🌟メインスレッドでのスレッド立ち上げ/完了待ちは以下で行うらしい
loop = asyncio.get_event_loop()
loop.create_task(call_hello_world1())
loop.run_until_complete(call_hello_world2())