>백엔드 개발 >파이썬 튜토리얼 >Python 3.6 공식 버전의 새로운 기능에 대한 자세한 설명

Python 3.6 공식 버전의 새로운 기능에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-03-24 17:51:151667검색

파이썬 공식 홈페이지 계획에 따르면, 파이썬 3.6 정식 버전은 2016년 12월 16일, 즉 이번주 금요일에 출시될 예정이라고 합니다. 지난해 5월부터 파이썬 3.6이 개발 중이며 간헐적으로 알파 버전 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. 변수 주석
은 Python 3.5부터 사용할 수 있는 Typehint입니다. 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. 숫자 리터럴의 밑줄(Underscores in Numeric Literals)
즉, 밑줄을 사용할 수 있습니다. 여러 자리 숫자의 가독성을 향상시키는 숫자.

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. Python 3.5에서는 코루틴을 구현하기 위해 새로운 구문 async 및 wait가 도입되었습니다. 그러나 제한 사항이 있습니다. 동일한 함수 본문에서 Yield와 Wait를 동시에 사용할 수 없습니다. Python 3.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. 비동기식 이해
를 사용하면 목록, 집합 및 사전 구문 분석기에서 비동기 구문을 사용하거나 대기할 수 있습니다.

result = [i async for i in aiter() if i % 2]
result = [await fun() for fun in funcs if await condition()]


새로 추가된 모듈Python 표준 라이브러리(표준 라이브러리)에 새 모듈인 secrets가 추가되었습니다. 이 모듈은 비밀번호, 계정 인증, 보안 토큰 및 관련 비밀과 같은 데이터를 관리하기 위해 보다 안전한 난수를 생성하는 데 사용됩니다. 구체적인 사용법은 공식 문서를 참조하세요: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.