11 Types de données de Python

In [6]:
from __future__ import division
In [1]:
a = 4
In [2]:
a
Out[2]:
4
In [3]:
from sympy import S
b = S(4)
In [4]:
b
Out[4]:
4
In [7]:
a / 5
Out[7]:
0.8
In [8]:
b / 5
Out[8]:
4/5

11.1 Le type d'un objet

In [9]:
type(a)
Out[9]:
int
In [10]:
type(b)
Out[10]:
sympy.core.numbers.Integer

11.2 Nombres entiers (type int)

In [12]:
type(2**33)
Out[12]:
int
In [13]:
type(2**50)
Out[13]:
int
In [14]:
type(2**60)
Out[14]:
int
In [18]:
type(2**63-1)
Out[18]:
long
In [19]:
int()
Out[19]:
0
In [20]:
int(45)
Out[20]:
45
In [21]:
int(b)
Out[21]:
4
In [22]:
type(int(b))
Out[22]:
int
In [24]:
int("12345")
Out[24]:
12345
In [25]:
int("12345a")
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-25-baacb0b2c65f> in <module>()
----> 1 int("12345a")

ValueError: invalid literal for int() with base 10: '12345a'
In [27]:
17  // 5
Out[27]:
3
In [28]:
type(b)
Out[28]:
sympy.core.numbers.Integer
In [29]:
b // 5
Out[29]:
0
In [31]:
type(b // 5)
Out[31]:
sympy.core.numbers.Zero
In [32]:
int(3.565462)
Out[32]:
3
In [33]:
int(-3.5)
Out[33]:
-3

11.3 Nombres flottants (type float)

In [35]:
c = 125.142545
In [36]:
c
Out[36]:
125.142545
In [37]:
type(c)
Out[37]:
float
In [38]:
c + c
Out[38]:
250.28509
In [39]:
type(c+c)
Out[39]:
float
In [40]:
type(c + 34)
Out[40]:
float
In [41]:
float()
Out[41]:
0.0
In [42]:
float(4)
Out[42]:
4.0
In [43]:
float('234.12341324')
Out[43]:
234.12341324

11.4 Booléens (type bool)

In [44]:
True, False
Out[44]:
(True, False)
In [45]:
True or False
Out[45]:
True
In [46]:
False or True
Out[46]:
True
In [47]:
True or True
Out[47]:
True
In [48]:
False or False
Out[48]:
False
In [ ]:
 
In [49]:
True and True
Out[49]:
True
In [50]:
False and False
Out[50]:
False
In [51]:
False and True
Out[51]:
False
In [52]:
True and False
Out[52]:
False
In [ ]:
 
In [53]:
not True
Out[53]:
False
In [54]:
not False
Out[54]:
True
In [ ]:
 
In [56]:
(34 == 30 + 4) and (4 < 2)
Out[56]:
False
In [57]:
4 < 2
Out[57]:
False
In [58]:
type(True)
Out[58]:
bool
In [59]:
bool(0)
Out[59]:
False
In [60]:
bool(1)
Out[60]:
True
In [61]:
bool(34)
Out[61]:
True
In [62]:
bool('asdfas')
Out[62]:
True
In [63]:
bool("")
Out[63]:
False
In [ ]:
 

11.5 Chaînes de caractères (type str)

In [64]:
a = 'bonjour'
In [65]:
a
Out[65]:
'bonjour'
In [66]:
type(a)
Out[66]:
str
In [67]:
b = "aujourd'hui"
In [69]:
b
Out[69]:
"aujourd'hui"
In [71]:
c = """test je aujourd'hui je dis "yo" a """
In [73]:
print(c)
test je aujourd'hui je dis "yo" a 
In [ ]:
 
In [74]:
a
Out[74]:
'bonjour'
In [75]:
a[1]
Out[75]:
'o'
In [77]:
a[0]
Out[77]:
'b'
In [78]:
a[5]
Out[78]:
'u'
In [80]:
a[6]
Out[80]:
'r'
In [81]:
a[-1]
Out[81]:
'r'
In [82]:
a[-7]
Out[82]:
'b'
In [83]:
str()
Out[83]:
''
In [84]:
str(12341234)
Out[84]:
'12341234'

12 Listes

In [86]:
L = [34, 1245, 23465, 145.1345, 'assfda', []]
In [87]:
L
Out[87]:
[34, 1245, 23465, 145.1345, 'assfda', []]
In [88]:
L[1]
Out[88]:
1245
In [89]:
L[-1]
Out[89]:
[]
In [90]:
L.append(34)
In [91]:
L
Out[91]:
[34, 1245, 23465, 145.1345, 'assfda', [], 34]
In [92]:
type(L)
Out[92]:
list
In [93]:
list()
Out[93]:
[]
In [94]:
list('asdfadsf')
Out[94]:
['a', 's', 'd', 'f', 'a', 'd', 's', 'f']
In [95]:
list(12341234)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-95-944a9ade9724> in <module>()
----> 1 list(12341234)

TypeError: 'int' object is not iterable
In [96]:
list(str(12341234))
Out[96]:
['1', '2', '3', '4', '1', '2', '3', '4']
In [97]:
L
Out[97]:
[34, 1245, 23465, 145.1345, 'assfda', [], 34]
In [98]:
L + [1,2,3]
Out[98]:
[34, 1245, 23465, 145.1345, 'assfda', [], 34, 1, 2, 3]
In [99]:
L
Out[99]:
[34, 1245, 23465, 145.1345, 'assfda', [], 34]
In [100]:
len(L)
Out[100]:
7
In [101]:
len('bonjour')
Out[101]:
7

12.1 Opérations sur les listes

In [102]:
L
Out[102]:
[34, 1245, 23465, 145.1345, 'assfda', [], 34]
In [103]:
L[1:4]
Out[103]:
[1245, 23465, 145.1345]
In [ ]:
 
In [104]:
L = [1,2,3,3,4,4,4,5,5,7,8]
In [105]:
L.count(4)
Out[105]:
3
In [106]:
L.count(34)
Out[106]:
0
In [107]:
2 in L
Out[107]:
True
In [108]:
2345 in L
Out[108]:
False
In [109]:
L.index(2)
Out[109]:
1
In [110]:
L.index(4)
Out[110]:
4

12.2 Modification de listes

In [112]:
L = [1,2,3,6,7,1,2,3]
In [113]:
L
Out[113]:
[1, 2, 3, 6, 7, 1, 2, 3]
In [114]:
L.remove(2)
In [115]:
L
Out[115]:
[1, 3, 6, 7, 1, 2, 3]
In [116]:
L.reverse()
In [117]:
L
Out[117]:
[3, 2, 1, 7, 6, 3, 1]
In [118]:
L.sort()
In [119]:
L
Out[119]:
[1, 1, 2, 3, 3, 6, 7]
In [ ]:
 
In [ ]:
 

12.3 La fonction range

In [120]:
range(10)
Out[120]:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [121]:
range(3, 10)
Out[121]:
[3, 4, 5, 6, 7, 8, 9]
In [123]:
range(3,99,5)
Out[123]:
[3, 8, 13, 18, 23, 28, 33, 38, 43, 48, 53, 58, 63, 68, 73, 78, 83, 88, 93, 98]
In [124]:
range(3,98,5)
Out[124]:
[3, 8, 13, 18, 23, 28, 33, 38, 43, 48, 53, 58, 63, 68, 73, 78, 83, 88, 93]
In [ ]:
 

12.4 Compréhension de listes

In [125]:
[n**3 for n in range(11)]
Out[125]:
[0, 1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
In [126]:
[n**3 for n in range(11) if n % 2 == 1]
Out[126]:
[1, 27, 125, 343, 729]
In [ ]:
 
In [ ]:
 
In [ ]:
 
In [ ]:
 

13 Boucle for

In [132]:
for n in range(11):
    if n % 2 == 1:
        print(n**3)
1
27
125
343
729
In [133]:
L = []
for n in range(11):
    if n % 2 == 1:
        L.append(n**3)
In [135]:
L = []
for n in range(1,11,2):
    L.append(n**3)
In [136]:
L
Out[136]:
[1, 27, 125, 343, 729]
In [137]:
from sympy import factor, Eq
from sympy.abc import x
In [138]:
factor(x**2-1)
Out[138]:
(x - 1)*(x + 1)
In [139]:
factor(x**3-1)
Out[139]:
(x - 1)*(x**2 + x + 1)
In [140]:
factor(x**4-1)
Out[140]:
(x - 1)*(x + 1)*(x**2 + 1)
In [145]:
for k in range(2,20):
    expr = x**k-1
    resultat = factor(expr)
    eq = Eq(expr, resultat)
    print(eq)
x**2 - 1 == (x - 1)*(x + 1)
x**3 - 1 == (x - 1)*(x**2 + x + 1)
x**4 - 1 == (x - 1)*(x + 1)*(x**2 + 1)
x**5 - 1 == (x - 1)*(x**4 + x**3 + x**2 + x + 1)
x**6 - 1 == (x - 1)*(x + 1)*(x**2 - x + 1)*(x**2 + x + 1)
x**7 - 1 == (x - 1)*(x**6 + x**5 + x**4 + x**3 + x**2 + x + 1)
x**8 - 1 == (x - 1)*(x + 1)*(x**2 + 1)*(x**4 + 1)
x**9 - 1 == (x - 1)*(x**2 + x + 1)*(x**6 + x**3 + 1)
x**10 - 1 == (x - 1)*(x + 1)*(x**4 - x**3 + x**2 - x + 1)*(x**4 + x**3 + x**2 + x + 1)
x**11 - 1 == (x - 1)*(x**10 + x**9 + x**8 + x**7 + x**6 + x**5 + x**4 + x**3 + x**2 + x + 1)
x**12 - 1 == (x - 1)*(x + 1)*(x**2 + 1)*(x**2 - x + 1)*(x**2 + x + 1)*(x**4 - x**2 + 1)
x**13 - 1 == (x - 1)*(x**12 + x**11 + x**10 + x**9 + x**8 + x**7 + x**6 + x**5 + x**4 + x**3 + x**2 + x + 1)
x**14 - 1 == (x - 1)*(x + 1)*(x**6 - x**5 + x**4 - x**3 + x**2 - x + 1)*(x**6 + x**5 + x**4 + x**3 + x**2 + x + 1)
x**15 - 1 == (x - 1)*(x**2 + x + 1)*(x**4 + x**3 + x**2 + x + 1)*(x**8 - x**7 + x**5 - x**4 + x**3 - x + 1)
x**16 - 1 == (x - 1)*(x + 1)*(x**2 + 1)*(x**4 + 1)*(x**8 + 1)
x**17 - 1 == (x - 1)*(x**16 + x**15 + x**14 + x**13 + x**12 + x**11 + x**10 + x**9 + x**8 + x**7 + x**6 + x**5 + x**4 + x**3 + x**2 + x + 1)
x**18 - 1 == (x - 1)*(x + 1)*(x**2 - x + 1)*(x**2 + x + 1)*(x**6 - x**3 + 1)*(x**6 + x**3 + 1)
x**19 - 1 == (x - 1)*(x**18 + x**17 + x**16 + x**15 + x**14 + x**13 + x**12 + x**11 + x**10 + x**9 + x**8 + x**7 + x**6 + x**5 + x**4 + x**3 + x**2 + x + 1)
In [ ]: