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
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 |
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
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'
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