Guido van Rossum proposuit addendo exemplar adaptare operatores ad Pythonem

Guido van Rossum summitto latrinam pro conventu review cubits ad exsequendam exemplar congruens operariorum (par et causa) in Pythone. Notandum est propositiones addere formas adaptas operatores iam anno 2001 et 2006 editae sunt (pep-0275, pep-3103), sed reiecti sunt in favorem optimizing "si ... elif ... aliud" construere ad catenas componendas.

Nova exsecutio multum est similis "par" operantis in Scala, Rust et F# comparata, quae effectum certae expressionis comparat cum indice exemplarium in caudices qui "casus" operantis innituntur. Dissimilis "switch" operantis in C, Java et in JavaScript, "par" -based locutiones multo magis offerunt wide functionality. Notandum est quod operatores propositus emendare promptitudinem codicis, simpliciorem reddere comparationem obiecti et debugging arbitrarii Pythonis, ac etiam augere fidem codicam gratiae possibilitatis extensam. elit genus reprehendo.

def http_error (status);
par status:
400 casu:
redire "petum malum"
casus 401| 403| 404;
redire "Non licet"
418 casu:
revertere "ego sum teapot"
case_:
revertere "Aliquid"

Exempli gratia, obiectis, tuples, tabulae, et arbitrariae series potes ligare variabiles in valoribus existentibus. Formulas nestas definire licet, additas condiciones "si" in Formula utere, larvis ("[x, y, *reliquis]"), clavis / valoris mappings (exempli gratia, {"Sed": b, "latency ": l} extrahere "bandwidth" et "latentiam" valores et dictionarium), extrahere subtemplatas (":=" operator), utere nomine constantes in template. In classes, potest mos adaptare mores utendo modum "__match_)".

ex dataclasses import dataclass

@dataclass
classis Point:
x:int
y: int

def ubi (punctum);
par punctum:
case Point(0, 0);
print("Origin")
case Point(0, y);
imprimere(f"Y={y}")
case Point(x, 0);
print(f"X={x}")
causa Point ():
print ( "Alicubi")
case_:
imprimere ("non punctum")

par punctum:
punctum (x, y) si x == y:
imprimere(f"Y=X ad {x}")
case Point (x, y);
print (f "Non in diametro")

RED, UF, RED = 0, 1, 2
par color:
casus .RED:
print ("rubrum video!"
apud .GREEN:
print ("Gras viridis est")
apud .BLU
E:
print ( "Im Sententia quod cæruleus:(")

Statuto parata ad recensionem pittacia passim disposita cum experimentum implementation specificatio proposita, sed ultima versio adhuc est de quibus. Eg oblatum Loco "casus _" pro valore defectu, keyword "aliud:" vel "default:" utere, quoniam "_" in aliis adiunctis pro temporalis variabilis adhibetur. Etiam quaestio interna ordinatio, quae in bytecode novas expressiones transferendis innititur, similes ei adhibitis pro "si ... elif ... aliud" construere, quod optatum effectum non praebebit cum comparationibus amplissimis componendis.

Source: opennet.ru

Add a comment