[Introduction à Python3 Jour 3] Chapitre 2 Composants Py: valeurs numériques, chaînes de caractères, variables (2.2 à 2.3.6)

2.2 Valeur numérique

Python a un support intégré pour les entiers (nombres sans fractions tels que 5 et 10000000), les nombres décimaux immobiles (3.12121, 14.99, 1.32e3, etc.) et les nombres imaginaires.

2.2.1 entier

Opération à quatre règles.

>>> 5
5
>>> 0
0

#Ne mettez pas de zéro devant le nombre.
>>> 09
  File "<stdin>", line 1
    09
     ^
SyntaxError: invalid token  
>>> 123
123
>>> +123
123
>>> -123
-123
>>> 5+9
14
>>> 100-7
93
>>> 4-10
-6
>>> 5+9+3
17
>>> 4+3-2-1+6
10
>>> 6*7
42
>>> 7*7
49
>>> 6*7*2*3
252

#Calcul progressif du nombre à virgule flottante (décimal)
>>> 9/5  
1.8

#Effectuer un calcul progressif d'entiers (tronqués)
>>> 9//5  
1
>>> 9/0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero
>>> 9//0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero

C'est la même règle que le langage C, donc j'aimerais l'omettre. .. ..

>>> a=85
>>> a
85
>>> a-5
80
>>> a
85
>>> a=a-3
>>> a
82
>>> a
82
>>> a=95
>>> a-=3
>>> a
92
>>> a +=8
>>> a
100
>>> a *=3
>>> a
300
>>> a/=3
>>> a
100.0
>>> a=12
>>> a=13
>>> a//=4
>>> a
3
>>> 9%5
4

 #Vous pouvez obtenir le quotient (tronqué) et le surplus ensemble
>>> divmod(9,5) 
(1, 4)

2.2.2 Priorité

Comme avec d'autres langues, la multiplication et la division ont une priorité plus élevée que l'addition et la soustraction.

>>> 2+3*4
14
>>> 2+(3*4)
14

2.2.3 Nombre d'unités

Les nombres entiers sont considérés comme décimaux (base 10) sauf indication contraire dans le préfixe.

La base indique le nombre de nombres qui peuvent être utilisés jusqu'à ce que «porter». Par exemple, les nombres binaires ne sont que 0 et 1. 0 a la même signification que le décimal 0, et 1 a la même signification que le décimal 1 mais l'addition de 1 à 1 donne 10 (1 nombre décimal 2 et 0 1).


#Pour binaire, cela signifie 1 décimal 2 et 0 1
>>> 0b10  
2 

#Pour octal, cela signifie 1 décimal 8 et 0 1
>>> 0o10  
8

#Pour hexadécimal, cela signifie 1 nombre décimal 16 et 0 1
>>> 0x10  
16

2.2.4 Conversion de type

fonction int ()

Utilisé lors de la conversion de types de données non entiers dans Python en entiers. Ne laissez que la partie entière et tronquez la partie fractionnaire.

>>> int(True)
1
>>> int(False)
0
>>> int(98.6)
98
>>> int(1.0e4)
10000
>>> int('99')
99
>>> int(''-213)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'str' and 'int'
>>> int('-123')
-123
>>> int(12345)
12345

#Une erreur se produit lorsque vous essayez de convertir quelque chose qui ne ressemble pas à un nombre
>>> int('9aaaaaa')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '9aaaaaa'  
>>> int('')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: ''
>>> int('98.6')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '98.6'

#Ne traite pas les chaînes contenant des exposants ou des nombres à virgule flottante.
>>> int('1.9e2')  
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '1.9e2'
>>> 4+7.4
11.4

#Vrai est 1 ou 1.Traité comme 0
>>> True +2
3 

#False est 0 ou 0.Traité comme 0
>>> False+3.5
3.5  

Quelle est la taille de 2.2.5 int?

Il peut représenter des nombres supérieurs à 64 bits. (N'importe quelle taille est OK)

2.2.6 Nombre à virgule flottante

Un entier est un nombre qui n'a pas de valeur sous-décimale, mais un nombre à virgule flottante a une valeur de subdivision.

>>> float(True)
1.0
>>> float(False)
0.0
>>> float(45)
45.0
>>> float('45')
45.0
>>> float('98.6')
98.6
>>> float('-1.2')
-1.2
>>> float('2.0e5')
200000.0

2.3 chaîne

Les chaînes Python sont immuables et ne peuvent pas être réécrites à la volée. Cependant, il est possible de copier une partie d'une chaîne de caractères dans une autre chaîne de caractères.

2.3.1 Créé avec des citations

L'interpréteur interactif ajoute un guillemet simple lors de l'écho d'une chaîne, mais Python le traite exactement de la même manière quelle que soit la citation que vous utilisez.

>>> 'Snap'
'Snap'
>>> 'Crackle'
'Crackle'
>>> "Crackle"
'Crackle'
>>> "'Ue'mura"
"'Ue'mura"
>>> '"Ue"mura'
'"Ue"mura'
>>> ''
''
>>> """"""
''  #Chaîne vide

2.3.2 Conversion de type à l'aide de str ()

Vous pouvez utiliser la fonction str () pour convertir d'autres types de données Python en chaînes. Python appelle en interne la fonction str () lorsqu'un appel print () est effectué avec un objet non-string comme argument ou lorsqu'une chaîne est développée.

>>> str(98.6)
'98.6'
>>> str(1.9e4)
'19000.0'
>>> str(True)
'True'

Échapper avec 2.3.3 \

Python échappe certains caractères de la chaîne pour obtenir des effets difficiles à exprimer d'une autre manière.


#\n signifie saut de ligne
>>> palindorome = "A man,\nA plan,\nA canal:\nPanama" 
>>> print(palindorome)
A man,
A plan,
A canal:
Panama

#\t sert à aligner le texte
>>> print('\tabc')  
	abc
>>> print('a\tbc')
a	bc
>>> print('abc\t')
abc

#Si vous souhaitez utiliser des guillemets dans la chaîne, avant eux\Entrer.
>>> testimony = "\"I did nothing! \""  
>>> print(testimony)
"I did nothing! "
>>> testimony = "I did nothing! \\"
>>> print(testimony)
I did nothing! \

2.3.4 + connexion

Vous pouvez concaténer des chaînes littérales et des variables de chaîne à l'aide de l'opérateur + comme indiqué ci-dessous.

>>> 'a' + "a"
'aa'
#Dans le cas de chaînes littérales, vous pouvez les concaténer simplement en les arrangeant dans l'ordre.
>>> 'a'  "a"  
'aa'
>>> a="Duck."
>>> b=a
>>> c="Great Duck."

#Pas d'espace
>>> a+b+c
'Duck.Duck.Great Duck.'  

#L'espace est automatiquement entré
>>> print(a,b,c)
Duck. Duck. Great Duck.  

2.3.5 * Répéter

Vous pouvez répéter la chaîne à l'aide de l'opérateur *.

>>> start ="Na" * 4 + "\n"
>>> start 
'NaNaNaNa\n'
>>> middle="Hey" * 3 + "\n"
>>> middle
'HeyHeyHey\n'
>>> end = "goobye."
>>> print(start + start + middle + end)
NaNaNaNa
NaNaNaNa
HeyHeyHey
goobye.

2.3.6 Extraction de caractères avec []

Lorsque vous souhaitez extraire un caractère dans une chaîne de caractères, suivez le décalage du caractère entre crochets ([]) après le nom de la chaîne de caractères. Comment compter le décalage Le premier décalage (le plus à gauche) est 0, et le droit est 1 .... Le décalage (le plus à droite) du dernier caractère est -1, à gauche est -2 ....

>>> letters = 'abcdefghijklmnopqrstuvwxyz'
>>> letters[0]
'a'
>>> letters[-1]
'z'
>>> letters[-2]
'y'
>>> letters[25]
'z'
>>> letters[4555]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>

IndexError: string index out of range # Une erreur se produit si un décalage plus long que la longueur de la chaîne est spécifié. (N'oubliez pas que le décalage va de ["0" à "length-1".)


#Comme la chaîne de caractères est immuable, il n'est pas possible d'insérer des caractères directement dans la chaîne de caractères ou de réécrire le caractère à la position d'index spécifiée.
>>> name="Henny"
>>> name[0]=P  
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'P' is not defined
>>> name[0]='P'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

#Remplacer la fonction de chaîne()Et des combinaisons de tranches doivent être utilisées.
>>> name.replace('H','P') 
'Penny'
>>> 'P'+name[1:]
'Penny'

Impressions

La plupart de ce chapitre a également été appris en langage C. Faisons de notre mieux demain.

Les références

"Introduction à Python3 par Bill Lubanovic (publié par O'Reilly Japon)"

Recommended Posts

[Introduction à Python3 Jour 3] Chapitre 2 Composants Py: valeurs numériques, chaînes de caractères, variables (2.2 à 2.3.6)
[Introduction à Python3 Jour 2] Chapitre 2 Composants Py: valeurs numériques, chaînes de caractères, variables (2.1)
[Introduction à Python3 Jour 4] Chapitre 2 Composants Py: valeurs numériques, chaînes de caractères, variables (2.3.7 à 2.4)
[Introduction à Python3 Jour 13] Chapitre 7 Chaînes de caractères (7.1-7.1.1.1)
[Introduction à Python3 Jour 15] Chapitre 7 Chaînes de caractères (7.1.2-7.1.2.2)
[Introduction à Python3 Jour 8] Chapitre 4 Py Skin: Structure du code (4.1-4.13)
[Introduction à Python3 Day 21] Chapitre 10 Système (10.1 à 10.5)
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.1-8.2.5)
[Introduction à Python3, jour 17] Chapitre 8 Destinations de données (8.3-8.3.6.1)
[Introduction à Python3 Jour 19] Chapitre 8 Destinations de données (8.4-8.5)
[Introduction à Python3 Day 18] Chapitre 8 Destinations de données (8.3.6.2 à 8.3.6.3)
[Introduction à Python3 Jour 7] Chapitre 3 Outils Py: Listes, Taples, Dictionnaires, Ensembles (3.3-3.8)
[Introduction à Python3 Jour 6] Chapitre 3 Liste des outils Py, tapple, dictionnaire, set (3.2.7-3.2.19)
[Introduction à Python3, jour 22] Chapitre 11 Traitement parallèle et mise en réseau (11.1 à 11.3)
[Introduction à Python3 Jour 11] Chapitre 6 Objets et classes (6.1-6.2)
[Introduction à Python3, Jour 23] Chapitre 12 Devenir un Paisonista (12.1 à 12.6)
[Introduction à Python3 Jour 20] Chapitre 9 Démêler le Web (9.1-9.4)
[Introduction à Python3 Jour 1] Programmation et Python
[Introduction à Python3 Jour 10] Chapitre 5 Boîte cosmétique de Py: modules, packages, programmes (5.4-5.7)
[Introduction à Python3 Jour 9] Chapitre 5 Boîte cosmétique de Py: modules, packages, programmes (5.1-5.4)
[Introduction à l'application Udemy Python3 +] 11. Chaîne de caractères
Introduction à la vérification de l'efficacité Chapitre 1 écrit en Python
Introduction à la vérification de l'efficacité Chapitre 3 écrit en Python
Introduction à la vérification de l'efficacité Chapitre 2 écrit en Python
Introduction au langage Python
Introduction à OpenCV (python) - (2)
[Chapitre 5] Introduction à Python avec 100 coups de traitement du langage
[Chapitre 3] Introduction à Python avec 100 coups de traitement du langage
[Chapitre 2] Introduction à Python avec 100 coups de traitement du langage
[Livre technique] Introduction à l'analyse de données avec Python -1 Chapitre Introduction-
[Chapitre 4] Introduction à Python avec 100 coups de traitement du langage
Introduction à Python Django (2) Win
Introduction à la communication série [Python]
Afficher les nombres et les caractères affectés aux variables dans l'impression python
[Introduction à Python] <liste> [modifier le 22/02/2020]
Introduction à Python (version Python APG4b)
Une introduction à la programmation Python
Introduction à Python pour, pendant
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 10 Introduction à Cupy
J'ai lu "Renforcer l'apprentissage avec Python de l'introduction à la pratique" Chapitre 1
[Introduction à l'application Udemy Python3 +] 12. Indexation et découpage des chaînes de caractères
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 9 Introduction à scikit-learn
J'ai lu "Renforcer l'apprentissage avec Python de l'introduction à la pratique" Chapitre 2
[Présentation de l'application Udemy Python3 +] 58. Lambda
[Présentation de l'application Udemy Python3 +] 31. Commentaire
Introduction à la bibliothèque de calcul numérique Python NumPy
Entraine toi! !! Introduction au type Python (conseils de type)
[Présentation de l'application Udemy Python3 +] 57. Décorateur
[Introduction à Python] Comment analyser JSON
[Présentation de l'application Udemy Python3 +] 56. Clôture
Introduction à Protobuf-c (langage C ⇔ Python)
[Présentation de l'application Udemy Python3 +] 59. Générateur
[Introduction à Python] Utilisons les pandas
[Python] Convertit les nombres naturels en nombres ordinaux
Convertir décimal en n-aire [python]
[Introduction à Python] Utilisons les pandas
[Introduction à l'application Udemy Python3 +] Résumé
Introduction à l'analyse d'image opencv python
[Introduction à Python] Utilisons les pandas
Premiers pas avec Python pour les non-ingénieurs