* Da ich ein wenig über die zukünftigen Möglichkeiten von Anmerkungen vom Typ Python 3.6 verstanden habe, ist dies ein Memorandum, das von einem Python-Anfänger mit Täuschung geschrieben wurde. </ font>
Python 3.6 wurde Ende des Jahres veröffentlicht, als der Adventskalender kurz vor dem Finale stand.
Die Python 3.6-Version aus Windows-Sicht kann wie folgt zusammengefasst werden:
Die Standard-UTF-8-Konvertierung ist groß. Kurz gesagt, es wird mit Linux / Mac vergleichbar sein, sodass Personen im 2-Byte-Bereich weniger wahrscheinlich unter zusätzlicher Belastung durch den Zeichencode leiden.
Laden Sie das Installationsprogramm von der [offiziellen Website] herunter und installieren Sie es (https://www.python.org/downloads/release/python-360/).
Wenn Sie sich etwas unwohl fühlen, weil es gerade veröffentlicht wurde, können Sie es installieren, indem Sie "Launcher für alle Benutzer installieren" für temporäre Benutzer auskommentieren (..?)
Geben Sie nach der Installation python in die Konsole ein, um die interaktive Umgebung von python3.6 aufzurufen:
f "Mein Name ist {Name}"
Die neue Funktion von python3.6 "Formatiertes Zeichenfolgenliteral (PEP-498)" kann problemlos verwendet werden.
--Um die neuen Funktionen von Python3.6 kennenzulernen, einschließlich formatierter String-Literale Sie sollten die folgende Reihe von Blogs lesen. http://atsuoishimoto.hatenablog.com/entry/2016/12/25/122220
Im Folgenden werden kurz Typanmerkungen erläutert, die typisierte Beschreibungen in Python ermöglichen.
In der dynamischen Sprache Python ist es nicht erforderlich, den Typ in der Variablendefinition anzugeben.
Beispiel ①:
person.py
class Person :
def __init__(self):
self.name = ''
self.age = 0
def __init__(self,name ,age):
self.name = name
self.age = age
def greet(self):
print(f"Hi, I'm {self.name} .")
print(f"I am {self.age} years old.")
Wenn Sie es in einer interaktiven Umgebung versuchen:
Das variable Alter kann vom Typ int oder str sein.
In Python3.6 kann die Variablentypisierung weitgehend durchgeführt werden.
Fügen Sie Beispiel (1) ein wenig hinzu und geben Sie den Typ für die Instanzvariable der Klasse an.
Beispiel ②:
person.py
class Person :
#Typanmerkung hinzufügen
name : str
age : int
def __init__(self):
self.name = ''
self.age = 0
def __init__(self,name ,age):
self.name = name
self.age = age
def greet(self):
print(f"Hi, I'm {self.name} .")
print(f"I am {self.age} years old.")
Ausführungsergebnis:
Infolge des Erstaunens fühlen sich einige Leute möglicherweise unwohl, dass sich das Ausführungsergebnis von Q Taro nicht ändert, wenn nicht (obwohl Sie den Typ im Argument der Methode der Personenklasse beschreiben können, aber dies Auch wenn sich das Ergebnis nicht ändert). Die Beschreibung, die den Typ in Python 3.6 angibt, heißt (statische) Typanmerkung und wird zur Typprüfung in umfangreichen Entwicklungen usw. verwendet ("Klassenname .__ Anmerkungen __", wie in der letzten Zeile des Ausführungsergebnisses gezeigt. (Wird so verwendet). Es unterscheidet sich von der Typspezifikation in Kompilierungssprachen wie Java und C #.
--Für mypy für die praktische Verwendung von Anmerkungen vom Typ Python lesen Sie das folgende übersetzte Dokument.
http://qiita.com/t2y/items/2a1310608da7b5c4860b
Verwenden von Python zum Aufrufen von Computerbibliotheken usw. Ich würde vorerst keine Typanmerkungen verwenden (dies scheint nicht sehr vorteilhaft zu sein). Im Gegensatz dazu wird in dem Team, das viele Webdienste usw. mit Python betreibt, eine Typprüfung mithilfe von Typanmerkungen durchgeführt.
Wie ich aus der Einführung in Python gelernt habe, zusätzlich zu verschiedenen Versionen von Cpython (2.x-Serie, 3.y-Serie), die verschiedene Implementierungen in Python haben, beginnend mit pypy, Implementierungssystemen auf Jython, Ironpython, DartVM usw. Und so weiter ... Natürlich gibt es in der Bibliothek viele Werkzeuge, nur für historische Sprachen. Es gibt viele Bibliotheken, die mit C / C ++ - Sprachen kombiniert werden. Bekannte Bibliotheken sind gut, aber es gibt keine Garantie dafür, dass sie mit Ihrer Implementierung funktionieren, wenn Sie eine Bibliothek verwenden möchten, die von einer erstaunlichen Person erstellt wurde. Ich denke, dass es bisher die Open-Source-Kultur von Python war, dass Sie die Quelle lesen und den Patch selbst anwenden sollten, aber es scheint ein bisschen schwierig mit Python zu sein, das aufgrund des jüngsten Big-Data- und KI-Booms an Bedeutung gewonnen hat. ..
Ich verstehe mypy nicht sehr gut, daher kann ich es nicht als konkrete Geschichte schreiben, aber ich denke, es wird bald ein großartiges Werkzeug für die Verwendung von Anmerkungen vom Typ Python geben, um die Benutzeroberfläche mit anderen Sprachen zu umgehen. Oder (und erwarten).
Kürzlich habe ich Python mehrmals in Adventskalender der neuen Sprache nim erwähnt. Ich habe mich gefragt, ob es viele großartige Tools gibt, die Python und C / C ++ kombinieren, aber ich denke, wir können auch ein Tool erstellen, das Nim und Python kombiniert und in C / C ++ kompiliert wird. falls Sie können, In einer Form, die die Funktionen der Kompilierungssprache nim nutzt, die eine pythonähnliche Grammatik hat.
Das erste ist ein Tool, das das in Python definierte Modell automatisch in den Quellcode von nim umschreibt.
Tatsächlich ist das obige Codebeispiel ② eine Umschreibung des Strukturverwendungsbeispiels, das auf der obersten Seite der offiziellen Website von nim als "grab" für Python angezeigt wird (da Python keine Struktur hat, habe ich es in der Klasse geschrieben. Eine einfachere pythonähnliche Beschreibung wäre möglich.
person.nim
type Person = object
name: string
age: int
proc greet(p: Person) =
echo "Hi, I'm ", p.name, "."
echo "I am ", p.age, " years old."
let p = Person(name:"Jon", age:18)
p.greet() # or greet(p)
Gespräche wie Coffeescript-> Javascript sind in den letzten Jahren alltäglich geworden, und es scheint sehr wahrscheinlich, dass diese Konvertierungen selbst automatisiert werden. Daher möchte ich mich herausfordern, nachdem ich mich mit beiden Sprachen ein wenig vertraut gemacht habe. Und von hier an ist der Schlüssel zur Benutzerfreundlichkeit die automatische Generierung von Schnittstellen, die gegenseitige Typprüfung und Nullsicherheit umfassen.
Mit dem jüngsten Trend zur Offenheit (?) Scheint Microsoft ein pythonfreundliches Unternehmen zu werden (Python wird im Visual Studio unterstützt). Mit der weit verbreiteten Verwendung von iOS / Android Liegt es am Krisengefühl, dass das Überleben des Unternehmens gefährdet wird, wenn es zur einbeinigen C # -Methode wird?
Es war Xamarin, das aus der aus der Linux-Kultur abgeleiteten .NET-kompatiblen Umgebung Mono hervorgegangen ist und Microsoft gerettet hat. Die Geschichte, die C # -Benutzer neben Windows auch auf iOS / Android entwickeln können, ist sehr ansprechend. mono ist eine CLR-Umgebung (C # -Ausführungsumgebung), die in der folgenden C-Sprache geschrieben ist. In Xamarin ist der Code auch in Objective-C / C ++ für iOS / Android-Unterstützung geschrieben. Xamarin ist ein "Sprachbrüder der C-Serie". xamarinがより広く使われ始めると、もっともメジャーなスクリプト言語のひとつpythonを使いたい、C系のライブラリを呼びだしたいとの要求が広まるものと考えられる。ということで、.NET/mono/xamarin界隈では,近いうちにironpythonの話題が登場するのではないかと考える。その時、言語と実行系の組み合わせだけで複雑系になるpython周りの開発現場で型アノテーションを用いた静的解析が大規模に活用されるのではないか(...されるとまずいことになりそうな...)。
Ich habe die Pointe des Python-Materials für persönliche Erinnerungen gewaltsam in Xamarin geändert.
Xamarin wurde seit der Übernahme durch Microsoft als Open-Source-Version bereitgestellt. In den letzten sechs Monaten wurden viele Informationen veröffentlicht. Es scheint also endlich Zeit zu sein, sie zu verwenden. In der Tat gibt es Leute, die Xamarin mit Python verwenden wollen, oder? ... Also, sobald ich einen Python (und manchmal auch einen) Blick auf Xamarin werfen wollte, könnte dies Microsoft in Zukunft retten :)