[Python] Road to the Serpent (3) Classe Python

Il s'agit d'une formation pour devenir un data scientist en utilisant Python. Celui qui contrôle le type fait la classe principale de Python en contrôlant tout.

** PREV ** → [Python] Road to the Serpent (2) Basics of Python ** SUIVANT ** → [Python] Road to the Serpent (4) Tweaking Numpy

Principales classes en Python

classe La description Classification Exemple d'instance
object type d'objet objet object()
bool Type logique Valeur logique True, False
int Type entier Valeur numérique 26, 0b11010, 0o32, 0x1a
float Type à virgule flottante Valeur numérique 3.1415, 1.5e-3, 1/2
complex Type de nombre complexe Valeur numérique 1j, 1.1+2.3j
tuple Type de taple séquence (), (1,), (True,False)
list Type de liste séquence [],[1], [True,False]
str Type de chaîne séquence 'man',"man",'Homme',"Homme"
bytes Type de chaîne d'octets séquence b'man', b'¥xe4¥xba¥xba'
bytearray Type de tableau d'octets séquence bytearray(b'man')
range Type de gamme Itérateur range(1,10,2)
dict Sorte de dictionnaire cartographie {}, {'y':2014,'m':12,'d':25}
set Type collectif ensemble {1,3,5,7,9}
function Type de fonction une fonction lambda x:x**2

Comment vérifier la classe

Utilisez type ().

In [1]: type('man')
Out[1]: str

Sinon, utilisez ʻis instance () `.

In [2]: isinstance('man', str)
Out[2]: True

In [3]: isinstance('man', bytes)
Out[3]: False

ʻIs instance (x, X) est True même si type (x) est une sous-classe de X`. Autrement dit, toutes les classes sont des sous-classes de la classe d'objets.

In [4]: isinstance('man', object)
Out[4]: True

In [5]: issubclass(str, object)
Out[5]: True

Conversion de classe (distribution)

En règle générale, il peut être converti en plaçant la source de conversion dans le premier argument de la classe de destination de la conversion.

In [6]: float(1) #int to float
Out[6]: 1.0

In [7]: int(-1.9) #float to int
Out[7]: -1

In [8]: complex(0) #int to complex
Out[8]: 0j

In [9]: list((1, 2, 3)) #tuple to list
Out[9]: [1, 2, 3]

In [10]: tuple([1, 2, 3]) #list to tuple
Out[10]: (1, 2, 3)

In [11]: list(range(5)) #range to list
Out[11]: [0, 1, 2, 3, 4]

In [12]: list('abc') #str to list
Out[12]: ['a', 'b', 'c']

bool Vrai et faux de la classe booléenne (type logique) sont représentés par «True», «False». Les opérateurs pour la négation, le produit logique et la somme logique sont «not», «and», «or».

In [13]: not True, True and True, True or False
Out[13]: (False, True, True) 

Tous les objets peuvent être convertis en booléens. En Python, la conversion en types logiques implicites est effectuée dans diverses situations telles que les instructions conditionnelles.

In [14]: bool(0), bool(0.1), bool(()), bool([]), bool({}), bool({0})
Out[14]: (False, True, False, False, True)

Le produit logique et la somme des entiers renvoie le dernier entier de la procédure d'évaluation. Dans [16] est le produit logique et la somme des bits entiers.

In [15]: 3 and 6, 3 or 6, 1 and 0 
Out[15]: (6, 3, 0)

In [16]: 3 & 6, 3 | 6
Out[16]: (2, 7)

int, float

Il n'y a pas de limite supérieure au type int.

In [26]: 10 ** 30
Out[26]: 1000000000000000000000000000000

«10/5» devient «float», «10 // 5» devient «int ».

In [27]: 10 / 5, 10 // 5
Out[27]: (2.0, 2)

Recherche de quotient et de reste.

In [28]: 10 // 3, 10 % 3 
Out[28]: (3, 1)

list, tuple --list peut changer les éléments et les sous-colonnes --tuple ne peut pas être changé

list Générer une liste

In [29]: a = [10, 20, 30, 40, 50]

Vous pouvez vous y référer par index. Vous pouvez vous référer à la fin de la liste avec «-1».

In [30]: a[0], a[-1]
Out[30]: (10, 50)

Bien sûr, vous pouvez le changer.

In [31]: a[0], a[-1] = 11,51

Vous pouvez utiliser une fonction appelée découpage des séquences.

#Objet String[Index de départ:Index de fin]
In [32]: a[1:4]
Out[32]: [20, 30, 40]

Vous pouvez spécifier une étape dans le troisième argument de la tranche. Si vous l'utilisez, vous pouvez ignorer le numéro spécifié et vous y référer.

In [33]: a[::2]
Out[33]: [11, 30, 51]

tuple Générer tuple

In [33]: a = (10,20,30,40,50)

Vous pouvez également faire référence à «tuple» par index. Le () dans tuple peut être omis à moins qu'il ne soit mal interprété.

In [34]: a[0], a[-1]
Out[34]: (10, 50)

Le changement entraînera une erreur.

In [35]: a[0] = 11
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-45-1ffcdc5ca638> in <module>()
----> 1 a[0]=11

TypeError: 'tuple' object does not support item assignment

Peut être combiné.

In [36]: a, b = (1,2),(True,'Japan',(None,'dog'))

In [37]: a + b
Out[37]: (1, 2, True, 'Japan', (None, 'dog'))

Ne peut pas être ajouté.

In [38]: a.append(10)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-52-fb2e87d24477> in <module>()
----> 1 a.append(10)

AttributeError: 'tuple' object has no attribute 'append'

Signification de l'existence du tuple

Vous pourriez penser que vous venez de le limiter à «list», mais «tuple» a les significations suivantes.

--Peut être la clé de dict (dictionnaire) --Parce qu'il n'est pas modifiable, il peut être traité plus rapidement que list --tuple initialement destiné à "simplement" combiner plusieurs objets en un seul

str, bytes, bytearray str (chaîne) signifie toujours Unicode. D'un autre côté, "bytes" et "bytearray" sont de simples chaînes d'octets. La différence entre "bytes" et "bytearray" est la même que la différence entre "tuple" et "list".

La méthode de référence de la chaîne de caractères est fondamentalement la même que la liste et le tuple.

In [53]: a, b = 'ABCDE','FG'

In [54]: a[0],a[-1],a[-2],a[1:4]
Out[54]: ('A', 'E', 'D', 'BCD')

Vous pouvez inclure des sauts de ligne avec un guillemet triple.


In [55]: s = '''
   ....: #include <stdio.h>
   ....: int main(){
   ....:   printf("hello world\n");
   ....:   return 0;
   ....: }
   ....: '''

In [56]: s
Out[56]: '\n #include <stdio.h>\n int main(){\n printf("hello world\n");\n return 0;\n}\n'

dict

Dans list, index était un entier commençant à 0, mais dans dict (type de dictionnaire), un entier, une chaîne de caractères, un tuple, etc. peut être utilisé comme clé correspondant à cet index.

In [61]: exts={'py':'Python','rb':'Ruby','pl':'Perl'}

In [62]: for key in exts:
   ....:     value=exts[key]
   ....:     print(key,value)
pl Perl
py Python
rb Ruby

Vous pouvez récupérer la clé et la valeur ensemble en utilisant ʻitems () `.

In [63]: for key,value in exts.items():
   ....:     print(key,value)
pl Perl
py Python
rb Ruby

Utilisez pour voir si la clé est incluse dans le dict.

In [64]:  'py' in exts, 'c' in exts
Out[64]: (True, False)

** SUIVANT ** → [Python] Road to the Serpent (4) Tweaking Numpy

Recommended Posts

[Python] Road to the Serpent (3) Classe Python
[Python] Road to snakes (1) Construction de l'environnement
[Python] La route du serpent (4) Numpy
[Python] La route du serpent (6) Manipuler les pandas
[Python] Road to the Serpent (5) Jouez avec Matplotlib
Une route vers Python intermédiaire
[Route vers Python intermédiaire] Définir la fonction __getattr__ dans la classe
[Road to Intermediate Python] Définissez dans votre propre classe
[Road to Intermediate] Comprendre les propriétés Python
[Road to Intermediate Python] Appelez une instance de classe comme une fonction avec __call__
[Route vers Python intermédiaire] Utiliser des opérateurs ternaires
[Python] Comment rendre une classe itérable
Comment utiliser __slots__ dans la classe Python
[Route vers Python intermédiaire] Utiliser des expressions lambda
La route de la compilation vers Python 3 avec Thrift
[Route vers Python intermédiaire] Résumé du lien de l'article
Mis à jour vers Python 2.7.9
[Python] classe, instance
"Kanrika" la classe python
À propos de python, classe
classe python, instance
Les bases de #Python (classe)
"Backport" vers python 2
Essayez de résoudre le problème de l'héritage de classe Python
[Road to Intermediate] Python semble être tous des objets
classe wrapper python syslog
Classe Python (mémo d'apprentissage Python ⑦)
classe de cas en python
Changements de Python 3.0 à Python 3.5
Tri par classe Python
[python] méthode de base de la classe
Comment installer python
Introduction au langage Python
[Python] Héritage de classe, remplacement
Introduction à OpenCV (python) - (2)
classe de wrapper de sous-processus python
Remarque pour faire de python un démon
Introduction de Python 2.7 à CentOS 6.6
Convertir / renvoyer des objets de classe au format JSON en Python
La route vers Pythonista
Connectez python à mysql
La route vers Djangoist
Classe wrapper YOLO Python
Notation de classe en Python
Liste des classes d'exception Python
En route vers l'acquisition de LPIC-1
[Road to Intermediate Python] Installer des packages en masse avec pip
Comment utiliser la méthode __call__ dans la classe Python
[Python] Comment jouer avec les variables de classe avec décorateur et métaclasse
[Route vers Python intermédiaire] Utiliser l'instruction if dans la notation d'inclusion de liste
[Road to Intermediate Python] Permet des opérations de comparaison pour des classes uniques
Connectez-vous à BigQuery avec Python
[2020.8 dernière] Comment installer Python
Python: variables de classe et d'instance
[python] Convertir la date en chaîne
Publier de Python vers Slack
Comment installer Python [Windows]
publier sur vim → Python → Slack