Mémo n ° 4 que les débutants Python lisent "Explication détaillée de la grammaire Python"

Numéro de retour

is


#Renvoie vrai pour le même objet
>>> a = b = [1, 2, 3]
>>> a is b
True

#Dans ce cas, le résultat de est est faux car il s'agit d'un autre objet.
>>> a = [1, 2, 3]
>>> b = [1, 2, 3]
>>> a is b
False
>>> a == b
True

#Le résultat de est est jugé par l'id de l'objet
>>> id(a)
4353816328
>>> id(b)
4353060616

>>> a = b = [1, 2, 3]
>>> id(a)
4353816392
>>> id(b)
4353816392

Opérateur conditionnel (opérateur ternaire)


>>> x = 1
>>> 100 if x == 1 else 200
100

>>> x = 2
>>> 100 if x == 1 else 200
200
>>> x == 1 and 100 or 200   #Réécriture par et et ou
200

Conversion de type automatique des résultats de calculs numériques


>>> 1 + 1.0  #entier+Nombre à virgule flottante
2.0          #Le résultat est un nombre à virgule flottante
>>> 1 + 1j   #entier+Nombre complexe
(1+1j)       #Le résultat est un nombre complexe

Méthode de calcul numérique


>>> divmod(20, 6)
(3, 2)  #Le quotient et le reste de la division sont retournés en tapple. Cela semble pratique.

>>> pow(3, 4)     # 3 **Identique à 4
81
>>> pow(3, 4, 5)  # 3 ** 4 %Identique à 5, mais plus rapide
1

int([x, byte])


#Renvoie 0 sans argument
>>> int()
0

#Si vous passez un nombre à virgule flottante, il sera arrondi à 0
>>> int(10.5)
10
>>> int(-10.5)
-10

#Vous pouvez spécifier la base lors du passage d'une chaîne de caractères
>>> int('100')    #Si la base est omise, c'est un nombre décimal
100
>>> int('100', 2)
4
>>> int('100', 8)
64
>>> int('100', 10)
100
>>> int('100', 16)
256

#Si la base est 0, elle est convertie en littéral entier.
>>> int('100', 0)
100
>>> int('0b100', 0)
4
>>> int('0o100', 0)
64
>>> int('0x100', 0)
256

#Convertit tout caractère considéré comme un nombre dans la base de données de caractères Unicode
>>> int('V', 32)
31
>>> int('100', 2)
4

Objet binaire → entier


>>> int.from_bytes(b'\x00\xff', byteorder = 'big')  #Puisqu'il s'agit d'une méthode de classe, appelez-la comme une méthode de type int
255
# signed =True pour convertir la chaîne d'octets en entier signé avec un complément à 2
>>> int.from_bytes(b'\xfe\xff\xff\xff', byteorder = 'little', signed=True)
-2

Méthode d'objet entier


#Obtenir une chaîne de valeurs entières
>>> (255).to_bytes(2, byteorder = 'big')
b'\x00\xff'
#Converti en complément de 2
>>> (-2).to_bytes(4, 'little', signed = True)
b'\xfe\xff\xff\xff'

#Renvoie le nombre de bits requis pour convertir un nombre en binaire (sans compter les bits de signe)
>>> (100000000).bit_length()
27

Type de valeur logique


#Dérivé du type entier, True est en fait 1 pour l'entier et False est 0 pour l'entier.
>>> int(True)
1
>>> int(False)
0

#Peut effectuer les mêmes opérations que les entiers ordinaires
>>> True + False
1
>>> True * False
0
>>> False - 1
-1
>>> True + 1
2
>>> True / 2
0.5

Objet de valeur logique


#L'objet de valeur logique est un objet de type booléen
#Il n'y a toujours qu'un seul objet True et un objet False chacun
>>> bool(0)
False
>>> bool(1)
True
>>> bool([100])
True
>>> bool([])
False
>>> bool()
False

Inversion de bits


# ~x est-1*(x+1)Renvoie une valeur entière qui est (Aucune opération de bit dans Python)
>>> ~5
-6
>>> ~(-6)
5
>>> '{:08b}'.format(5 & 0xff)
'00000101'
>>> '{:08b}'.format(-6 & 0xff)
'11111010'

Infini / non-nombre en arithmétique à virgule flottante


#Si la valeur en virgule flottante est supérieure à la plage valide
>>> 1e200 * 1e200
inf  #L'infini est affiché comme inf
>>> -1e200 * 1e200
-inf

#Le résultat est un non-nombre (pas un nombre) en raison d'opérations avec des valeurs infinies.:NaN)
>>> 0 * 1e1000
nan

#La valeur est inf,le nombre à virgule flottante de nan est float()Créer avec méthode
>>> float('nan')        #Non numérique
nan
>>> float('inf')        #Infini
inf
>>> float('-inf')       #Infini négatif
-inf
>>> float('infinity')   # 'infinity'Infini
inf

Méthode d'objet à virgule flottante


#Renvoie un tuple de deux valeurs entières dont le rapport est le même que la valeur de l'objet. La deuxième valeur est toujours positive.
>>> (0.5).as_integer_ratio()
(1, 2)
>>> (-2.5).as_integer_ratio()
(-5, 2)

# inf,L'exception suivante est levée pour nan
>>> float('inf').as_integer_ratio()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OverflowError: Cannot pass infinity to float.as_integer_ratio.

>>> float('nan').as_integer_ratio()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: Cannot pass NaN to float.as_integer_ratio.


#Sortie de la valeur de l'objet sous forme de chaîne de caractères au format hexadécimal
# [sign]['0x']integer['.'fraction]['p'exponent]Créé au format
>>> 1.0.hex()
'0x1.0000000000000p+0'


#Renvoie True si la valeur est zéro après la virgule décimale et est une valeur entière autre que inf ou nan
>>> (-2.0).is_integer()
True
>>> (3.2).is_integer()
False
>>> float('inf').is_integer()
False
>>> float('nan').is_integer()
False

Nombre décimal à virgule flottante


#Les calculs avec des nombres à virgule flottante sont généralement inexacts
>>> 0.3 - 0.2
0.09999999999999998

#Python fournit un module décimal pour l'arithmétique décimale à virgule flottante
#Contrairement aux opérations de type flottant, tous les calculs sont effectués par logiciel, les performances sont donc dégradées.
>>> import decimal
>>> print(decimal.Decimal('0.3') - decimal.Decimal('0.2'))
0.1

# inf, nan
>>> from decimal import Decimal
>>> Decimal('inf')
Decimal('Infinity')

>>> Decimal('nan') + 1   #Le résultat de l'opération avec nan est nan,
Decimal('NaN')
>>> Decimal('sNaN') + 1  #Les exceptions peuvent être levées en utilisant une valeur spéciale appelée signalisation NaN
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
decimal.InvalidOperation: [<class 'decimal.InvalidOperation'>]

Recommended Posts

Mémo n ° 4 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Mémo n ° 3 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Mémo n ° 1 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Mémo n ° 2 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Mémo n ° 7 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Mémo n ° 6 pour les débutants Python à lire "Explication détaillée de la grammaire Python"
Mémo n ° 5 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Grammaire de base Python pour les débutants
~ Conseils pour les débutants de Python présentés avec amour par Pythonista ③ ~
Mémo pour demander des KPI avec python
Les débutants lisent "Introduction à TensorFlow 2.0 pour les experts"
[Python] Lire des images avec OpenCV (pour les débutants)
Le moyen le plus rapide pour les débutants de maîtriser Python
Pour les débutants à créer un environnement Anaconda. (Note)
Python pour les super débutants Super débutants Python # Facile à éliminer
Manuel python pour les débutants
Essayez de calculer RPN avec Python (pour les débutants)
Mémo de grammaire de base Python
Introduction à la programmation (Python) TA Tendency pour les débutants
Comment rendre le Python des débutants plus rapide [numpy]
[Pour les débutants] Comment étudier la programmation Mémo privé
OpenCV pour les débutants en Python
[Pour les débutants] Comment utiliser la commande say avec python!
Comment convertir le type Python # pour les super débutants de Python: str
[Pour les débutants] Comment étudier le test d'analyse de données Python3
[Pour les débutants] Apprenez la grammaire de base Python gratuitement en 5 heures!
Python # Comment vérifier le type et le type pour les super débutants
Mémo Python (pour moi): Array
Flux d'apprentissage pour les débutants en Python
Mémo de grammaire de base Python (1)
Mémo de code personnel Python
Construction de l'environnement Python3 (pour les débutants)
3 raisons pour lesquelles les débutants en programmation devraient commencer avec Python
Grammaire de base Python (divers) Mémo (3)
Python #function 2 pour les super débutants
Grammaire de base Python (divers) Mémo (2)
Pandas 100 coups pour les débutants en Python
[Python] Exemple de code pour la grammaire Python
Python #function 1 pour les super débutants
#List Python pour les super débutants
Grammaire de base Python (divers) Mémo (4)
Introduction à Python pour, pendant
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 4 Utiliser l'interface graphique
[R] [Python] Memo pour lire plusieurs fichiers csv dans plusieurs fichiers zip
Méthode d'apprentissage TensorFlow pour les professionnels des arts libéraux et les débutants en Python
Conseils pour coder courts et faciles à lire en Python
Comment convertir le type Python # pour les super débutants de Python: int, float
[Pour les débutants] Script dans 10 lignes (4. Connexion de python à sqlite3)
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image par eux-mêmes
[Python] Introduction à la création de graphiques à l'aide de données de virus corona [Pour les débutants]
Exercices Python pour les débutants # 2 [pour instruction / instruction while]
Notes de grammaire minimales pour écrire Python
Python pour les super débutants Super débutants Python # dictionnaire type 1
Python #index pour les super débutants, tranches
<Pour les débutants> bibliothèque python <Pour l'apprentissage automatique>
Fonction Python #len pour les super débutants
Web scraping pour les débutants en Python (1)
[Nanonets] Comment publier un mémo [Python]
Exécutez unittest en Python (pour les débutants)
Web scraping pour les débutants en Python (4) -1