Python 3.6 正式版の新機能を詳しく解説

高洛峰
リリース: 2017-03-24 17:51:15
オリジナル
1589 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!