Python 公式 Web サイトの計画によると、Python 3.6 の正式版は 2016 年 12 月 16 日、つまり今週金曜日にリリースされる予定です。 Python 3.6は昨年5月から開発が進められており、4つのアルファ版、4つのベータ版、および候補版が断続的にリリースされている。
新しい構文機能
1. 書式設定された文字列リテラル
つまり、通常の文字列の前に f または F 接頭辞を追加すると、結果は str.format() と同様になります。たとえば、
name = "Fred" print(f"He said his name is {name}.") # 'He said his name is Fred.'
その効果は次と同等です:
print("He said his name is {name}.".format(**locals()))
さらに、この機能は次のようなネストされたフィールドもサポートします:
width = 10 precision = 4 value = decimal.Decimal("12.34567") print(f"result: {value:{width}.{precision}}") #'result: 12.35'
2. 変数宣言構文 (変数アノテーション)
つまり、次のような Typehints Python 3.5 以降で利用可能になりました。 Python3.5では、次のように使用されます:
from typing import List def test(a: List[int], b: int) -> int: return a[0] + b print(test([3, 1], 2))
ここでの構文チェックはエディタ(Pycharmなど)で生成されるだけで、実際の使用では厳密なチェックは行われません。
Python3.6 では、新しい構文が導入されています:
from typing import List, Dict primes: List[int] = [] captain: str # 此时没有初始值 class Starship: stats: Dict[str, int] = {}
3. 数値リテラルのアンダースコア
つまり、複数桁の数値の読みやすさを向上させるために、数値にアンダースコアを使用できます。
a = 1_000_000_000_000_000 # 1000000000000000 b = 0x_FF_FF_FF_FF # 4294967295
さらに、「文字列の書式設定」は、より読みやすい数値文字列を出力するための「_」オプションもサポートしています:
'{:_}'.format(1000000) # '1_000_000' '{:_x}'.format(0xFFFFFFFF) # 'ffff_ffff'
4. 非同期ジェネレーター
Python3.5 では、新しい構文 async と await が導入されています。コルーチンを実装します。ただし、同じ関数本体内で Yield と await を同時に使用することはできません。Python3.6 では、非同期ジェネレーター (
async def ticker(delay, to): """Yield numbers from 0 to *to* every *delay* seconds.""" for i in range(to): yield i await asyncio.sleep(delay)
5) を定義できます。内包表記)
list、set、dictionary パーサーでの async for または await 構文の使用を許可します。
result = [i async for i in aiter() if i % 2] result = [await fun() for fun in funcs if await condition()]
新しく追加されたモジュール
新しいモジュールが Python 標準ライブラリ (標準ライブラリ) に追加されました: Secrets。このモジュールは、パスワード、アカウント認証、セキュリティ トークン、関連するシークレットなどのデータを管理するためのより安全な乱数を生成するために使用されます。具体的な使用方法については、公式ドキュメントを参照してください: シークレット
その他の新機能
1. 新しい PYTHONMALLOC 環境変数により、開発者はメモリ アロケーターの設定、デバッグ フックの登録などが可能になります。
2. asyncio モジュールはより安定して効率的であり、一時的なモジュールではなくなり、その中の API も安定したバージョンになります。
3. タイピングモジュールも改善され、一時的なモジュールではなくなりました。
4. datetime.strftime と date.strftime は ISO 8601 時間識別子 %G、%u、%V のサポートを開始します。
5. hashlib および ssl モジュールが OpenSSL1.1.0 のサポートを開始します。
6. hashlib モジュールは、BLAKE2、SHA-3、SHAKE などの新しいハッシュ アルゴリズムのサポートを開始します。
7. Windows 上のファイルシステムとコンソールのデフォルトのエンコードが UTF-8 に変更されました。
8. json モジュールの json.load() 関数と json.loads() 関数は、バイナリ型入力のサポートを開始します。
以上がPython 3.6 正式版の新機能を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。