Python per a desenvolupadors de JavaScript

Bloc

Python per a desenvolupadors de JavaScript

JavaScript és el meu pa, però no m’agraden gens els altres llenguatges de programació. Sempre m’havia enamorat Python que vaig utilitzar al llarg dels anys, des de scripts fins a aplicacions API amb Flask i Django.

En aquest post us guiaré a través d’una comparació de 10.000 peus entre aquests dos idiomes.

Per seguir-lo necessiteu almenys un comprensió bàsica de JavaScript i les seves peculiaritats.

Podeu provar els exemples de codi de JavaScript a la consola del navegador o a REPL de Node.js. Per a Python, podeu utilitzar el fitxer Python REPL . Cada vegada que veieu >>> als exemples de codi, aquest és el REPL.

Gaudiu de la lectura!

  • Operadors aritmètics a Python i JavaScript
  • Operadors d’increment i disminució de Python i JavaScript
  • Operadors de comparació a Python i JavaScript
  • Operadors lògics a Python i JavaScript
  • Tipus bàsics de dades a Python i JavaScript
  • Expressions regulars a Python i JavaScript
  • Tipus de dades Python i JavaScript: immutabilitat i variables
  • Tipus de dades complexos a Python i JavaScript
  • Tipus de dades Python: llista i tuples
  • Tipus de dades Python: diccionaris i objectes JavaScript
  • Sense commutador, sense festa
  • Difusió / combinació d’objectes JavaScript, dictat de Python / combinació
  • Tipus de dades Python: Set i JavaScript Set
  • L'operador de pertinença a Python i JavaScript
  • Operadors d’instàncies: una exempció de responsabilitat
  • Classes Python, isinstance i JavaScript instanceof
  • Python type () i JavaScript typeof
  • Com gestionar les excepcions a Python: què és una excepció?
  • Gestió d'excepcions síncrones a Python i JavaScript
  • Com gestionar les excepcions: utilitzar el missatge d'error a Python i JavaScript
  • Plantejar les vostres pròpies excepcions a Python i JavaScript
  • Documentació de codi a Python amb reStructuredText
  • Una mica de teoria de tipus: escriptura dinàmica vs escriptura estàtica
  • Escriptura gradual a Python amb reStructuredText
  • Escriptura estàtica a Python i JavaScript
  • Comprovació de tipus amb mypy
  • Python per a desenvolupadors de JavaScript: anar més enllà

Operadors aritmètics a Python i JavaScript

Comencem per l'aritmètica!

Tant Python com JavaScript comparteixen més o menys els mateixos operadors aritmètics. A més (sense joc de paraules) del operador de divisió , Python també té un fitxer operador de divisió de pis .

La divisió de pis retorna el quocient enter de la divisió entre dos nombres. Penseu en el següent exemple de Python:

>>> 89 / 4 ## Output: 22.25

Per obtenir un enter en lloc d'un float, podem utilitzar-lo divisió pis . (// a JavaScript és un comentari):

>>> 89 // 4 ## Output: 22

Per reproduir el mateix resultat a JavaScript, utilitzeu Math.floor:

Math.floor(89 / 4) // Output: 22

Aritmètica de Python operadors no opereu exclusivament amb números . Per exemple, podeu utilitzar-lo multiplicació en cordes per repetir un patró:

activar xbox one en qualsevol moment
>>> 'a' * 9 ## Output: 'aaaaaaaaa'

O bé addició per concatenar cadenes simples:

>>> 'a' + 'aa' ## Output: 'aaa'

Per a tota la resta, Python genera un TypeError. Això significa no podeu sumar número i cadena junts :

>>> 'a' + 9 ## TypeError: can only concatenate str (not 'int') to str

Ni dividir-los (a més de no tenir sentit):

>>> 'a' / 9 ## TypeError: unsupported operand type(s) for /: 'str' and 'int'

En aquest front JavaScript és un embolic complet a l 'ull d' un observador extern a causa de la coacció de tipus infame . No només Els operadors aritmètics de JavaScript poden convertir els números en cadenes de forma lliure :

'a' + 9 // Output: 'a9'

Ells no susciteu cap error en cas d'operacions aritmètiques no vàlides :

'a' / 9 // Output: NaN

En lloc d’això, obtenim NaN, un valor especial de JavaScript resultant d’operacions aritmètiques no vàlides, dificultats per tractar, fins a ECMAScript 2015 Number.isNaN .

Operadors d’increment i disminució de Python i JavaScript

JavaScript té un operador d’increment i un decrement. Es poden utilitzar tots dos prefix (abans del número):

var a = 34; ++a

o bé postfix (després del número):

var a = 34; a++

En el primer cas ( prefix ), l'operador augmenta el número i retorna el número nou :

var a = 34; ++a // returns 35

En el segon cas ( postfix ), l'operador augmenta el número, però retorna el número original :

var a = 34; a++ // returns 34 // increments to 35

El les mateixes regles són certes per a l'operador de decrement .

A Python, en canvi, no hi ha cap operador de decrement / increment . Més aviat heu d'utilitzar un fitxer operador d'assignació . Aquí teniu una tasca d’increment a Python:

>>> a = 34 >>> a += 1 ## a is now 35

I aquí teniu una tasca de decrement:

>>> a = 35 >>> a -= 2 ## a is now 33

Operadors de comparació a Python i JavaScript

JavaScript i Python tenen els mateixos operadors de comparació, excepte el triple igual , emblemàtic de Les estranyes regles de coacció de JavaScript .

Per ser precisos, Python també té és operador (no es parla aquí) que per a mi cau més en la família d'operadors d'identitat.

Aquí l’important és això Python és previsible en comparar valors :

>>> 9 == '9' ## Output: False

JavaScript, en canvi, realitza una conversió cada vegada que comparació abstracta l'operador està implicat:

9 == '9' // Output: true

Aquí el primer operador 9 es converteix en una cadena just abans de la comparació . Per evitar la conversió, heu d'utilitzar el fitxer operador de comparació estricte , també anomenat triple igual :

9 === '9' // Output: false

#python #javascript # desenvolupament web # programació # desenvolupador

www.valentinog.com

Python per a desenvolupadors de JavaScript

Python per a desenvolupadors de JavaScript. Una guia d’autostop de Python per a desenvolupadors de JavaScript.