Il existe de nombreux petits partenaires en arrière-plan pour me contacter, disant qu'elle cherche Python, mais il n'y a pas de bonne information. D'une part, il y avait vraiment trop de marché sur le marché, ce qui fait que les nouveaux arrivants choisissent de choisir, un autre problème est également très mélangé, de 1 + 1 à étudier profondément, entièrement faire attention à la syntaxe de clé Python. Le Le manuel de qualité n'est pas grand chose.
Récemment, j'ai vu une bonne information d'introduction de Python anglais, je l'ai créée et la traduction a écrit cet article. Cette information est complètement, seule la grammaire de base de Python, en particulier pour les petits blancs en python. Pour les camarades de classe qui souhaitent voir l'anglais en anglais, veuillez cliquer sur pour voir le texte d'origine .
Premier, note
Python utilise # pour montrer une ligne de commentaire unique et le contenu des collègues plus tard #nake sera commenté.
# Python中单行注释用#表示,#之后同行字符全部认为被注释。
Utilisez trois devis consécutifs pour indiquer de nombreuses lignes commentairesEt le contenu entre les commentaires des deux lignes sera considéré comme un commentaire.
<""" 与之对应的是多行注释 用三个双引号表示,这两段双引号当中的内容都会被视作是注释""" Le lundi, type de variable de base et opérateur
Nous utilisons +, -, *, -, *, / Donner supplémentaire et soustraction et division de quatre opérateurs.
#获得一个整数3# 获得一个浮点数10.0
Ici pour noter que dans Python2, ces 10/3 de cette opération sont 3, pas 3 33333. Étant donné que les estimations et les chiffres sont entier, Python effectuera automatiquement des entiers, nous aidant à obtenir l'appareil. S'il est 10,0 / 3, ce sera 3 333333. Actuellement, Python2 n'est plus maintenu et vous pouvez être intéressé par les détails. Mais le problème est que Python est une langue de
faible1 + 1 # => 28 - 1 # => 710 * 2 # => 2035 / 5 # => 7.0
. Si nous recevons deux variables dans une fonction, vous ne pouvez pas déterminer leur type directement. Cela conduit au même ordinateur, qui peut obtenir différents résultats, très douloureux. Par conséquent, lorsque les programmeurs fonctionnent, ont souvent besoin de gérer le type de variable et seront dépensésA dans des scores flottants. En cas de python3, le problème a été surmonté et ce problème a été surmonté, même si les deux entiers ont été supprimés et peuvent être resserrés, le résultat des résultats doit également être des marques dynamiques.
Si nous voulons un entier, nous pouvons le faire: Deux enregistrements enregistrés indiqués
ont fait, Python se réservera le résultat de la suppression du reste.
En plus d'éliminer les activités, il y a une opération restante et une activité mathématique appelée moules et% représentante dans Python est utilisée.
5 // 3 # => 1-5 // 3 # => -25.0 // 3.0 # => 1.0 # works on floats too-5.0 // 3.0 # => -2.0
Support Python Multiples opérations nous pouvons utiliser ** icônes sans appel: Lorsque vous utilisez plus complexe, nous pouvons utiliser des parenthèses pour appliquer la ordre actif.
MARDI, Opération logique
# Modulo operation7 % 3 # => 1
VRAI et FAUX avec les premières lettres de Python a déclaré vrai et faux.
Utiliser et représentant des activités ouEffectuer ou opérer, ne montre pas l'inactif. Au lieu de C ++ ou à Java & Amp; & amp ;, || .# Exponentiation (x**y, x to the yth power)2**3 # => 8
Dans la couche inférieure de Python,
TRUE et FAUX est en fait 1 et 0# Enforce precedence with parentheses1 + 3 * 2 # => 7(1 + 3) * 2 # => 8
, donc si nous effectuons ce qui suit, il ne signalera pas une erreur, mais cela ne signalera pas une signification de la logique d'erreur. Nous utilisons == pour déterminer une opération égale, vous pouvez voir true == 1, false == 0.
Nous devons faire attention à Python cette fonction n'est pas se convertir en type BOOL. Si nous appliquons cette fonction,
True # => TrueFalse # => False
seulement 0 sera considéré comme faux, toutes les autres valeurs sont vraies :
# negate with notnot True # => Falsenot False # => True# Boolean Operators# Note "and" and "or" are case-sensitiveTrue and False # => FalseFalse or True # => True
Python In == Judg décidé, & GT, montrent Plus grand, et gt; = indiquant supérieur ou égal, & lt; indiquer moins, & lt; = Indique moins ou égal, (les signes ne sont pas égaux.
Nous pouvons utiliser et assembler chaque opération de comparaison:# True and False are actually 1 and 0 but with different keywordsTrue + True # => 2True * 8 # => 8False - 5 # => -5
NoteIl et ou une priorité, dans laquelle no & gt; et & gt ou. Si vous ne le savez pas, vous pouvez utiliser des parenthèses pour modifier l'ordre de fonctionnement.
Quatre, listes et chaînes
# Comparison operators look at the numerical value of True and False0 == False # => True1 == True # => True2 == True # => False-5 != False # => True
À propos de la liste de la liste, il existe deux types d'examens, l'un est == et l'un est. Parfois, nous utilisons est d'évaluer, quelle est la différence entre les deux? Jetons un coup d'oeil à l'exemple:
Python est une langue référencée complète, en utilisant la référence à utiliser. Révisé Si les deux points se rapportent au même objet
et == sont déterminés si le contenu spécifique des deux références est égal ou non. Par exemple, si nous définissons la référence à l'adresse, pour déterminer si les deux variables ont des points à la même adresse, telles que le numéro XX le long de la ligne de hedong. Et == est de déterminer si le destinataire des deux adresses s'appelle Zhang ou non.bool(0) # => Falsebool(4) # => Truebool(-6) # => True0 and 2 # => 0-5 or 0 # => -5
Évidemment, les personnes vivant dans la même adresse doivent appeler Zhang San, mais deux personnes vivent dans des géographiquesDifférent, peut également appeler Zhang San ou appeler des noms différents. Donc, si A est B, alors A == B doit être défini, mais pas.
# Equality is ==1 == 1 # => True2 == 1 # => False# Inequality is !=1 != 1 # => False2 != 1 # => True# More comparisons1 < 10 # => True1 > 10 # => False2 <= 2 # => True2 >= 2 # => True
Python relativement lâche sur la chaîne, Les citations et les guillemets peuvent afficher la chaîne voir Options personnelles à l'aide de crochets Dual ou citations. Personnellement, j'aime les seules citations parce que c'est commode d'écrire.
# Seeing whether a value is in a range1 < 2 and 2 < 3 # => True2 < 3 and 3 < 2 # => False# Chaining makes this look nicer1 < 2 < 3 # => True2 < 3 < 2 # => False
La chaîne prend également en charge + fonctionne, indiquant que les deux chaînes sont connectées. De plus, nous écrivons deux cordes ensemble, même sans +, Python nous donnera un point: Nous pouvons utiliser [] pour trouver une chaîne un caractère de position, calculant la longueur de la chaîne avec
Laine
.a = [1, 2, 3, 4] # Point a at a new list, [1, 2, 3, 4]b = a # Point b at what a is pointing tob is a # => True, a and b refer to the same objectb == a # => True, a's and b's objects are equalb = [1, 2, 3, 4] # Point b at a new list, [1, 2, 3, 4]b is a # => False, a and b do not refer to the same objectb == a # => True, a's and b's objects are equal
Nous pouvons ajouter Format de représentation F devant la chaîne
et fonctionner dans le formatage. Cependant, veuillez porter une attention particulière à Python3.6 ou versions multiples versions prises en charge F.
enfin l'évaluation de kQui est hanches et aucun objet n'est des objets en python,Toutes les variables ne pointeront pas sur cet objet
Sur la base de ce que nous avons dit plus tôt, car il n'y avait aucun point à la même adresse, nous devons évaluer si une variable n'est pas, vous pouvez utiliser est d'évaluer, bien sûr, ==, mais nous l'utilisons habituellement.
Après non, nous répondrons à la fonction BOOL () introduite précédemment et l'utilisation de celle-ci est vraiment si la valeur de jugement est vide ou non. Tous types La valeur null par défaut sera renvoyée à False , sinon elle est vraie. Par exemple: 0,, " [], {}, (), V.V.
Toutes les valeurs différentes de ces valeurs seront vraies.
# Strings are created with " or '"This is a string."'This is also a string.'# Strings can be added too! But try not to do this."Hello " + "world!" # => "Hello world!"# String literals (but not variables) can be concatenated without using '+'"Hello " "world!" # => "Hello world!"
La sortie d'entrée standard en Python est
# A string can be treated like a list of characters"This is a string"[0] # => 'T'# You can find the length of a stringlen("This is a string") # => 16
entrée et d'impression L'impression exportera une chaîne si elle ne peut pas appeler automatiquement la méthode __STR__ pour convertir une chaîne pour la sortie. La sortie par défaut seraEnveloppement automatique , si vous souhaitez remplacer les fils en différents caractères, vous pouvez commuter le paramètre d'extrémité:
# You can also format using f-strings or formatted string literals (in Python 3.6+)name = "Reiko"f"She said her name is {name}." # => "She said her name is Reiko"# You can basically put any Python statement inside the braces and it will be output in the string.f"{name} is {len(name)} characters long." # => "Reiko is 5 characters long."
Lorsque vous utilisez l'entrée, Python sera dans la ligne de commande reçue une chaîne rangée sous forme d'entrée. Vous pouvez passer à la chaîne dans l'entrée, il sera utilisé comme sortie rapide:
Objectifs de déclaration# None is an objectNone # => None# Don't use the equality "==" symbol to compare objects to None# Use "is" instead. This checks for equality of object identity."etc" is None # => FalseNone is None # => True
dans Python Pas besoin de reporter de type attribuer directement une valeur, Python Tapez automatiquement combine, si nous ne déclarons pas de variables avant que nous n'utilisons, vous quitterez Excaireror Exception. Support Python
# None, 0, and empty strings/lists/dicts/tuples all evaluate to False.# All other values are Truebool(None)# => Falsebool(0) # => Falsebool("") # => Falsebool([]) # => Falsebool({}) # => Falsebool(()) # => False
Expressions Trois yuans mais la syntaxe et C ++ varie, en utilisant si la structure, veuillez écrire: ]
Le code dominant est équivalent à:
] SLIME UTILISATION [] Pour indiquer la liste de batterie, nous pouvons également l'initialiser directement à:
# Python has a print functionprint("I'm Python. Nice to meet you!") # => I'm Python. Nice to meet you!# By default the print function also prints out a newline at the end.# Use the optional argument end to change the end string.print("Hello, World", end="!") # => Hello, World!
Utilisez le connecteur et la pop pour insérer ou supprimer des éléments au bas de la liste: La liste peut être terminée.Via [] plus un index pour accéder à l'élément de l'emplacement désigné, si le nombre négatif,
# Simple way to get input data from consoleinput_string_var = input("Enter some data: ") # Returns the data as a string# Note: In earlier versions of Python, input() method was named as raw_input()变量
d'accès inversé . -1 représente le dernier élément, -2 a déclaré la seconde du dérivé, V.V. Si l'élément d'accès dépasse la longueur de la matrice, l'erreur
IndexError est activée.
# There are no declarations, only assignments.# Convention is to use lower_case_with_underscoressome_var = 5some_var # => 5# Accessing a previously unassigned variable is an exception.# See Control Flow to learn more about exception handling.some_unknown_var # Raises a NameError
La liste de support d'une opération de tranche, appelée tranche provient de la liste d'origine Copie
SEGMENTS SPÉCIFIÉS. Nous utilisons le format de début: Format de fin d'avoir des tranches, notez qu'il s'agit de l'ouverture gauche . Si le congé est toutes acquisitions, nous pouvons également ajouter un paramètre à la taille de l'étape, tels que [1: 5: 2], à partir de la 1ère position, les étapes sont 2 pour obtenir l'élément. Résultats obtenus [1, 3]. Si la taille de l'étape est réglée sur -1, elle représente la transmission inverse.
# if can be used as an expression# Equivalent of C's '?:' ternary operator"yahoo!" if 3 > 2 else 2 # => "yahoo!"
Si nous voulons spécifier une période d'étapes, de commencer et de mettre fin, par exemple, je veux une période de temps [3: 6], devrait être écrit [6: 3: -1].
Seulement écrire un:
if 3 > 2: return 'yahoo'else: return 2
L'insertion peut effectuer l'élément d'insertion de position spécifié
, la méthode d'index peut interroger l'index d'un premier élément qui apparaît.
# Lists store sequencesli = []# You can start with a prefilled listother_li = [4, 5, 6]
La liste peut être ajoutée, deux listes supplémentaires dans les éléments sont consolidées dans la liste.
équivalent à l'utilisation de l'expansion# Add stuff to the end of a list with appendli.append(1) # li is now [1]li.append(2) # li is now [1, 2]li.append(4) # li is now [1, 2, 4]li.append(3) # li is now [1, 2, 4, 3]# Remove from the end with popli.pop() # => 3 and li is now [1, 2, 4]# Let's put it backli.append(3) # li is now [1, 2, 4, 3] again.
: Nous voulons déterminer si l'élément apparaîtra dans la liste, vous pouvez utiliser dans le mot-clé , en utilisant la laine de calcul de la longueur de la liste:
# Access a list like you would any arrayli[0] # => 1# Look at the last elementli[-1] # => 3# Looking out of bounds is an IndexErrorli[4] # Raises an IndexError
tuple tuple et très proche liste et tuple a été initialisé. Contrairement à la liste, tuple est un objet inconnu . Cela signifie, tuple ne change pas une fois qu'il est créé. Si nous modifions TUPLE, vous activerez les exceptions TypeError.
Parce que les parenthèses ont des changements de priorité, nous déterminons que l'ensemble de données d'un seul élément# You can look at ranges with slice syntax.# The start index is included, the end index is not# (It's a closed/open range for you mathy types.)li[1:3] # Return list from index 1 to 3 => [2, 4]li[2:] # Return list starting from index 2 => [4, 3]li[:3] # Return list from beginning until index 3 => [1, 2, 4]li[::2] # Return list selecting every second entry => [1, 4]li[::-1] # Return list in reverse order => [3, 4, 2, 1]# Use any combination of these to make advanced slices# li[start:end:step]
doit être ajouté avec des virgules , sinon ce seraest un élément unique.:
TUPLE prend en charge la plupart des opérations de la liste:
# Make a one layer deep copy using slicesli2 = li[:] # => li2 = [1, 2, 4, 3] but (li2 is li) will result in false.# Remove arbitrary elements from a list with "del"del li[2] # li is now [1, 2, 3]# Remove first occurrence of a valueli.remove(2) # li is now [1, 3]li.remove(2) # Raises a ValueError as 2 is not in the list
Nous pouvons utiliser de nombreuses variables pour extraire un tuple:
# Insert an element at a specific indexli.insert(1, 2) # li is now [1, 2, 3] again# Get the index of the first item found matching the argumentli.index(2) # => 1li.index(4) # Raises a ValueError as 4 is not in the list
# You can add lists# Note: values for li and for other_li are not modified.li + other_li # => [1, 2, 3, 4, 5, 6]# Concatenate lists with "extend()"li.extend(other_li) # Now li is [1, 2, 3, 4, 5, 6]
Expliquez ce code de ligne:
Nous avons ajouté un signe de pré-marché B,# Check for existence in a list with "in"1 in li # => True# Examine the length with "len()"len(li) # => 6
, il s'agit d'une liste . Par conséquent, Python attribuera tous les éléments restants avec B dans le cas d'autres variables correspondant à la valeur.
En outre, TUPLE ne peut pas être modifié, mais les éléments de tuple peuvent changer
Par exemple, nous avons un tuple: Bien que nous ne puissiez pas ajouter ou supprimer des éléments dans A, puis contenir une liste, nous pouvons modifier le type de cette liste, ne déclenchera pas l'exception de TUPLE:
# Tuples are like lists but are immutable.tup = (1, 2, 3)tup[0] # => 1tup[0] = 3 # Raises a TypeError
Le dict est également un conteneur couramment utilisé en Python, équivalent à la carte entre C ++, c'est-à-dire
Serrures de stockage et valeur de la valeur de verrouillage . Nous représentons un dict avec {}, avec: verrouillage de la tasse et valeur.
# Note that a tuple of length one has to have a comma after the last element but# tuples of other lengths, even zero, do not.type((1)) # => <class 'int'>type((1,)) # => <class 'tuple'>type(()) # => <class 'tuple'>
clésLe verrouillage de la dicte doit être un objet qui ne tourne pas, la liste et la dicte ne peuvent donc pas être utilisées comme une autre touche dict , sinon elle lancera une exception:
# You can do most of the list operations on tuples toolen(tup) # => 3tup + (4, 5, 6) # => (1, 2, 3, 4, 5, 6)tup[:2] # => (1, 2)2 in tup # => True
# You can unpack tuples (or lists) into variablesa, b, c = (1, 2, 3) # a is now 1, b is now 2 and c is now 3# You can also do extended unpackinga, *b, c = (1, 2, 3, 4) # a is now 1, b is now [2, 3] and c is now 4# Tuples are created by default if you leave out the parenthesesd, e, f = 4, 5, 6 # tuple 4, 5, 6 is unpacked into variables d, e and f# respectively such that d = 4, e = 5 and f = 6# Now look how easy it is to swap two valuese, d = d, e # d is now 5 and e is now 4
a, *b, c = (1, 2, 3, 4) # a is now 1, b is now [2, 3] and c is now 4
Nous utilisons également [] pour trouver des facteurs en dict, nous arrivons à verrouiller la valeur, équivalente à la méthode GET.
Nous pouvons obtenir une liste de toutes les clés et valeurs de DICT, nous pouvons obtenir une liste de toutes les clés et valeurs de DICT. Dans Python3.7, les résultats de l'ordre des résultats peuvent être différents de l'ordre insertion, en Python 3.7 et au-dessus, Python assure l'ordre de la chaîne de commande de retour et la chaîne d'insertion:
. Utilisez pour évaluer si une clé est en dict ou non, faites attention à la clé.
a = (3, [4])
Si vous utilisez [] pour trouver la clé n'existe pas, cela activera l'exception de KeyError. Si vous utilisez la méthode cela ne causera pas d'exceptions, juste non :
a[1].append(0) # 这是合法的
Méthode SetdefaulT peut être inséré dans la touche
n'existe pas. Valeur, si le verrou est existé, il ne remplacera pas:
# Dictionaries store mappings from keys to valuesempty_dict = {}# Here is a prefilled dictionaryfilled_dict = {"one": 1, "two": 2, "three": 3}
Nous pouvons utiliser la méthode de mise à jour pour mettre à jour la dicte actuelle, telle que A. Mise à jour (B). La clé, alternant par a et b, sera b et la clé n'existe pas dans une volonté sera insérée:
# Note keys for dictionaries have to be immutable types. This is to ensure that# the key can be converted to a constant hash value for quick look-ups.# Immutable types include ints, floats, strings, tuples.invalid_dict = {[1,2,3]: "123"} # => Raises a TypeError: unhashable type: 'list'valid_dict = {(1,2,3):[1,2,3]} # Values can be of any type, however.
Nous pouvons utiliser DEL pour supprimer des éléments de dict, le même ne peut que Passer la touche Entrée. Python3.5 ci-dessus Les supports utilisent ** pour extraire un dict:
# Look up values with []filled_dict["one"] # => 1filled_dict.get('one') #=> 1
Régler
# Get all keys as an iterable with "keys()". We need to wrap the call in list()# to turn it into a list. We'll talk about those later. Note - for Python# versions <3.7, dictionary key ordering is not guaranteed. Your results might# not match the example below exactly. However, as of Python 3.7, dictionary# items maintain the order at which they are inserted into the dictionary.list(filled_dict.keys()) # => ["three", "two", "one"] in Python <3.7list(filled_dict.keys()) # => ["one", "two", "three"] in Python 3.7+# Get all values as an iterable with "values()". Once again we need to wrap it# in list() to get it out of the iterable. Note - Same as above regarding key# ordering.list(filled_dict.values()) # => [3, 2, 1] in Python <3.7list(filled_dict.values()) # => [1, 2, 3] in Python 3.7+
Utilisé pour stocker Ne répétez pas le conteneur de L'élément
différemment, les mêmes éléments seront supprimés. Nous pouvons initialiser avec ensemble () ou par {}. Remarque Lorsque nous utilisons {}, vous devez transmettre les données, sinon Python le mélangera et dictera. Les éléments de l'ensemble doivent également être un objet non variable, la liste ne peut donc pas être transférée sur l'ensemble. Vous pouvez appeler les méthodesAvantages à insérer des éléments: peut également être considéré comme une collection. Il prend également en charge un certain nombre d'activités de collecte d'activités. L'ensemble prend également en charge le jugement de Super-calcul et sous-ensemble , nous pouvons utiliser plus ou plus petit ou égal à des nombres pour identifier un ensemble ou un sous-ensemble de personnes autres: . Comme avec dict, nous pouvons utiliser l'élément de jugement dans l'ensemble. Utilisez une copie pour copier un ensemble.