Ausführliche Erläuterung der neuen Funktionen der offiziellen Version von Python 3.6

高洛峰
Freigeben: 2017-03-24 17:51:15
Original
1589 Leute haben es durchsucht

Laut dem Plan auf der offiziellen Python-Website wird die offizielle Version von Python 3.6 voraussichtlich am 16. Dezember 2016, also an diesem Freitag, veröffentlicht. Seit Mai letzten Jahres befindet sich Python 3.6 in der Entwicklung und es wurden zeitweise 4 Alpha-Versionen, 4 Beta-Versionen und eine Kandidatenversion veröffentlicht.
Neue Syntaxfunktionen
1. Formatierte String-Literale
Das heißt, das Hinzufügen des Präfixes f oder F vor gewöhnlichen Strings ähnelt dem von str.format( ). Beispielsweise entspricht

name = "Fred"
print(f"He said his name is {name}.") # 'He said his name is Fred.'
Nach dem Login kopieren


:

print("He said his name is {name}.".format(**locals()))
Nach dem Login kopieren


Darüber hinaus unterstützt diese Funktion auch verschachtelte Felder wie:

width = 10
precision = 4
value = decimal.Decimal("12.34567")
print(f"result: {value:{width}.{precision}}") #'result:   12.35'
Nach dem Login kopieren


2. Variablenanmerkungen
Dies sind die Typehints, die seit Python 3.5 verfügbar sind. In Python3.5 wird es wie folgt verwendet:

from typing import List
def test(a: List[int], b: int) -> int:
  return a[0] + b
print(test([3, 1], 2))
Nach dem Login kopieren


Die Syntaxprüfung wird hier nur im Editor generiert (z. B. Pycharm). Bei der tatsächlichen Verwendung wird keine strenge Prüfung durchgeführt.
In Python3.6 wurde eine neue Syntax eingeführt:

from typing import List, Dict
primes: List[int] = []
captain: str  # 此时没有初始值
class Starship:
  stats: Dict[str, int] = {}
Nach dem Login kopieren


3. Unterstriche in numerischen Literalen (Unterstriche in numerischen Literalen)
ermöglicht die Verwendung von Unterstrichen in Zahlen. um die Lesbarkeit mehrstelliger Zahlen zu verbessern.

a = 1_000_000_000_000_000    # 1000000000000000
b = 0x_FF_FF_FF_FF       # 4294967295
Nach dem Login kopieren


Darüber hinaus unterstützt „String Formatting“ auch die Option „_“, um eine besser lesbare numerische Zeichenfolge auszudrucken:

'{:_}'.format(1000000)     # '1_000_000'
'{:_x}'.format(0xFFFFFFFF)   # 'ffff_ffff'
Nach dem Login kopieren


4 Generatoren
In Python 3.5 werden die neuen Syntaxen „async“ und „await“ eingeführt, um Coroutinen zu implementieren. Es gibt jedoch eine Einschränkung. In Python3.6 ist diese Einschränkung nicht möglich:

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)
Nach dem Login kopieren


5. Asynchronous Comprehensions
ermöglicht die Verwendung von Async für oder Wait-Syntax in Listen-, Mengen- und Wörterbuchparsern.

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


Neues Modul hinzugefügt
Der Python-Standardbibliothek (The Standard Library) wurde ein neues Modul hinzugefügt: Secrets. Dieses Modul wird verwendet, um einige sicherere Zufallszahlen zur Verwaltung von Daten wie Passwörtern, Kontoauthentifizierung, Sicherheitstokens und zugehörigen Geheimnissen zu generieren. Informationen zur spezifischen Verwendung finden Sie in der offiziellen Dokumentation: Geheimnisse
Weitere neue Funktionen
1. Mit der neuen Umgebungsvariablen PYTHONMALLOC können Entwickler die Speicherzuweisung festlegen, Debug-Hooks registrieren usw.
2. Das Asyncio-Modul ist stabiler und effizienter und kein temporäres Modul mehr, und die darin enthaltenen APIs sind ebenfalls stabile Versionen.
3. Das Tippmodul wurde ebenfalls verbessert und ist kein temporäres Modul mehr.
4. datetime.strftime und date.strftime beginnen mit der Unterstützung der ISO 8601-Zeitkennungen %G, %u, %V.
5. Die Hashlib- und SSL-Module beginnen mit der Unterstützung von OpenSSL1.1.0.
6. Das Hashlib-Modul beginnt mit der Unterstützung neuer Hash-Algorithmen wie BLAKE2, SHA-3 und SHAKE.
7. Die Standardkodierung von Dateisystem und Konsole unter Windows wird auf UTF-8 geändert.
8. Die Funktionen json.load() und json.loads() im JSON-Modul beginnen, binäre Eingaben zu unterstützen.

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der neuen Funktionen der offiziellen Version von Python 3.6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!