You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
PEP 563 は Python 3.10 でデフォルトになる予定で、実際に去年の10月から master ブランチでは有効になっていました。今までの Python 3.10 のアルファ版でも有効になっています。 www.python.org このPEPはアノテーションの実行時の利用に後方非互換性と大幅な制限を加えてしまいます。 >>> class C: ... a: int ... >>> C.__annotations__ {'a': <class 'int'>} この例では __annotations__ に int クラスのオブジェクトそのものが入っていますが、PEP 563が有効になると "int" という文字列が入るので、直接 __annotations__ を見ていたコードは動かなくなります。 PEP 563 が有効でなくてもPEP 484に従ったtype annotatio
methane.hatenablog.jp この記事で紹介した、 open() などでエンコーディングを指定せずに暗黙でデフォルトのエンコーディングが使われた時に EncodingWarning を発生させる機能のPEPが受理され、実装し、昨晩リリースされた Python 3.10a7 に入りました。 .bashrc などで extern PYTHONDEFAULTENCODING=1 などとしておけば、デフォルトエンコーディングを使用している箇所に警告が表示されます。自分で書いているプログラムだけでなく、利用しているツールやライブラリ、フレームワークに対する警告についても見かけたら開発元に報告してもらえると助かります。 警告を見つけた場合にどうするべきか、簡単に説明します。 UTF-8を利用している場合 MarkdownやYAML、TOML、JSONを開くのに encoding 引数を指
Quart has moved! See https://github.com/pallets/quart
こちらは iRidge Advent Calendar 2020 20 日目の記事です。 サーバーサイドエンジニアの @orfx がお送りします。 TL;DR AWS の NAT ゲートウェイには通信のアイドル状態が350秒以上続くと、タイムアウトする仕様があります。 インターネット接続が 350 秒後に中断される 問題 インスタンスはインターネットにアクセスできますが、350 秒後に接続が切断されます。 原因 NAT ゲートウェイを使用する接続が 350 秒以上アイドル状態のままになっていると、その接続はタイムアウトします。 ソリューション 接続が中断されないように、接続を介して追加のトラフィックを開始することができます。または、インスタンスで、350 秒未満の値で TCP キープアライブを有効にできます。 NAT ゲートウェイのトラブルシューティング この仕様によって、例えばリクエスト
システム本部CTO室のeveresです。 今年は、とあるインタビュー記事でディスクリプターについて触れてから、remote.py、PyConJP 2020 Onlineと、続けてPythonの属性について話してきました。 締めくくり…と気合を入れたいところですがAdvent Calendarですので、本エントリーではあまり踏み込まずさわりだけを紹介します。 読んでみて動作を理解していなかった人やクラス生成のカスタマイズなど踏み込んで知りたい方は、PyConJP 2020 Onlineの資料をたどってみてください。末尾にリンクを記載しておきます。 このエントリーは DeNA Advent Calendar 2020 の5日目のエントリーです。 では、始めましょう。 動作環境など 本エントリに登場するサンプルのコードは次の環境で動作を確認しています。 macOS: 11.0.1 Python:
この記事は KLab 2020 Advent Calendar の 12/2 分になります。 qiita.com 最近の Python に対する改善を紹介します。私が設計、コードレビューまでしましたが、実装は他のコントリビューターにしていただきました。 (プルリクエストはこちら) 背景として、Python 3.10 からは from __future__ import annotations がデフォルト化され、アノテーション部分は実行時に評価されずにただの文字列になります。( PEP 563 を参照してください。) >>> def add(a: int, b: int) -> int: ... return a+b ... >>> add.__annotations__ {'a': 'int', 'b': 'int', 'return': 'int'} アノテーションが実行時に評価されな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く