Python
Python3 での文字列のエンコード・デコード
encode → 符号化する
平文(unicode)を符号(バイト)化する → 'あ'.encode('utf-8')
decode → 平文に直す
バイト列を平文(unicode)に直す → b'\xe3\x81\x82'.decode('utf-8')
async/await キーワード
asyncioという標準に入ったライブラリにおける記述を容易にするための糖衣構文として言語仕様にasync / awaitが追加された
Pythonの世界ではコルーチンによってgeneratorが実現されていて、generatorにyield expressionなどが追加されたものをPythonの中でcoroutineと呼ぶようになった。後から追加されたgeneratorのdelegationを活用した非同期I/Oライブラリがasyncioで、それのsyntactic sugarがasync/awaitキーワード
その背景には、例えばPython流にコルーチンという概念を再定義しようだとか、そのような意図があるようには見えない。でもこのタイミングでキーワード追加するのは中々やんちゃなのは間違いない
async関数もPythonの上ではコルーチンの一形態である
実装上はawait演算子はawaitableをオペランドに取り、awaitableが解決するまで実行は中断される
Pipenv
Python を型付きでちゃんとかく
xonsh
Python で動くシェル
CPythonのソースコード入門
https://gyazo.com/42215b94239940cbc37b339e26d1c949