Cours Python 3

132
Bob C ORDEAU & Laurent P OINTAL Une introduction à Python 3 version1.6

description

COURS PYTHON

Transcript of Cours Python 3

Page 1: Cours Python 3

Bob CORDEAU & Laurent POINTAL

Une introduction à Python 3version 1.6

Page 2: Cours Python 3
Page 3: Cours Python 3

Bob CORDEAU

Laurent POINTAL

UNE INTRODUCTION

à

PYTHON 3version 1.6

En se partageant le savoir ne se divise pas, il se multiplie.

Page 4: Cours Python 3
Page 5: Cours Python 3

LQWERRO

IORDWFRPSOH[

Page 6: Cours Python 3

LI � >HOLI@ � >HOVH@

ZKLOH

IRU

EUHDN

FRQWLQXH

GLFW

VHW

Page 7: Cours Python 3

8QXP

FODVV

WNLQWHU

WNLQWHU

WN3KRQH,'/(

ODPEGD

Page 8: Cours Python 3

PDS ILOWHU UHGXFH

XQLWWHVW

GRFWHVW

Page 9: Cours Python 3

k ERE�FRUGHDX#ODSRVWH�QHWk ODXUHQW�SRLQWDO#OLPVL�IU

FUHDWLYHFRPPRQV�RUJ�OLFHQVHV�E\�����IU�

ϕ = 1+√5

2

Page 10: Cours Python 3
Page 11: Cours Python 3
Page 12: Cours Python 3

b

Page 13: Cours Python 3

�S\ �S\Z

�S\R �S\F

Page 14: Cours Python 3

b

b

����������������������� 9RLFL XQ FRPPHQWDLUH����������������������

� � � � (Q YRLFL XQ DXWUH

Page 15: Cours Python 3

b

Page 16: Cours Python 3

B

j

833(5&$6( 833(5B&$6(7LWOH&DVH8QH([FHSWLRQ(UURUFDPHO&DVHXQPRGXOHBPORZHUFDVH ORZHUBFDVH

1%B,7(06 �� � 833(5B&$6(FODVV 0D&ODVVH� SDVV � 7LWOH&DVHGHI PD)RQFWLRQ��� SDVV � FDPHO&DVHPRQBLG � � ORZHUBFDVH

O 2 ,

B[[[ � XVDJH LQWHUQHBB[[[ � DWWULEXW GH FODVVHBB[[[BB � QRP VS«FLDO U«VHUY«

DQG GHO IURP 1RQH 7UXHDV HOLI JOREDO QRQORFDO WU\DVVHUW HOVH LI QRW ZKLOHEUHDN H[FHSW LPSRUW RU ZLWKFODVV )DOVH LQ SDVV \LHOGFRQWLQXH ILQDOO\ LV UDLVHGHI IRU ODPEGD UHWXUQ

b

!!! LG� ����!!!!!! LG� PD)RQFWLRQ�LG��!!!!!! LI LG� ! ����� LG� PDWK�VTUW�LG����� HOVH���� LG� LG� � ��� LG�

Page 17: Cours Python 3

LQW ERRO

LQW

LQW

!!! ���� � G«FLPDO����!!! �E����������� � ELQDLUH����!!! �R���� � RFWDO����!!! �[�GG � KH[DGHFLPDO����

!!! �� � ���!!! �� � ���!!! �� ���!!! �� �����!!! �� � ������������������!!! �� �� �� �GLYLVLRQ HQWLªUH�!!! �� � � � PRGXOR�!!! DEV�� � ��� � YDOHXU DEVROXH��

���

!!! �E�������� � ELQDLUH���!!! ELQ������E��������!!! �R��� � RFWDO���!!! RFW������R���!!! �[%� � KH[DG«FLPDO���!!! KH[������[E�

Page 18: Cours Python 3

ERRO

ERRO)DOVH 7UXH

ERRO � ! ! � �

!!! � ! �)DOVH!!! � � � � ��7UXH

QRW RU DQGDQG RU

)DOVH )DOVH DQG H[SUHVVLRQ� )DOVH

7UXH 7UXH RU H[SUHVVLRQ�7UXH

!!! �� �� RU �� ! ���7UXH!!! �� ! ��� DQG �� ��)DOVH

)DOVH 7UXHQRW DQG RU

QRW

RU DQG

jERRO��

IORDW

IORDWH

������������H��������H��

Page 19: Cours Python 3

PDWK

!!! LPSRUW PDWK!!! SULQW�PDWK�VLQ�PDWK�SL������������������!!!! SULQW�PDWK�GHJUHHV�PDWK�SL�������!!!! SULQW�PDWK�IDFWRULDO����������!!! SULQW�PDWK�ORJ������ �������

FRPSOH[

M

!!! SULQW��M��M!!! SULQW�����M� � ����M������M�!!! SULQW�����M��UHDO����!!! SULQW�����M��LPDJ����!!! SULQW��DEV����M��� � PRGXOH���

FPDWK

!!! LPSRUW FPDWK!!! SULQW�FPDWK�SKDVH��� � �M���������������!!! SULQW�FPDWK�SRODU�� � �M������� �������������������!!! SULQW�FPDWK�UHFW���� FPDWK�SL����������������������������������M�

b

b

D � � SURQRQFH] � D �UH©RLW� �E ��� PDWK�ORJ�PDWK�H � ������ � � PDWK�SLF E D

Page 20: Cours Python 3

!!! D � �!!! D��!!! E � �!!! E�!!! D E � �!!! D�

!!! D �!!! D D � � � LQFU«PHQWDWLRQ!!! D�!!! D D � � � G«FU«PHQWDWLRQ!!! D�

!!! F 7UXH!!! V �F 7UXH� DQG 7UXH)LOH ��VWGLQ!�� OLQH �V �F 7UXH� DQG 7UXH

A6\QWD[(UURU� LQYDOLG V\QWD[

ERRO

!!! F �D�!!! V �F �D�� DQG 7UXH!!! V7UXH

!!! Y � � DIIHFWDWLRQ VLPSOH!!! � DIIHFWDWLRQ DXJPHQW«H!!! Y � � � LGHP ¢ � Y Y � � VL Y HVW G«M¢ U«I«UHQF«!!! F G � � DIIHFWDWLRQ GH GURLWH ¢ JDXFKH!!! � DIIHFWDWLRQV SDUDOOªOHV GXQH V«TXHQFH!!! H� I ���� ��� � WXSOH!!! J� K� L >*� +� ,@ � OLVWH!!! [� \ FRRUGRQQHHV6RXULV�� � UHWRXU PXOWLSOH GXQH IRQFWLRQ

Page 21: Cours Python 3

F ]E

D [G

b VWU

!!! V\QWD[H� �3UHPLªUH IRUPH DYHF XQ UHWRXU ¢ OD OLJQH ?Q�!!! V\QWD[H� U�'HX[LªPH IRUPH VDQV UHWRXU ¢ OD OLJQH ?Q�!!! V ������ 7URLVLªPH IRUPH PXOWL�OLJQHV��� ���!!!!!! SULQW�V�

7URLVLªPH IRUPH PXOWL�OLJQHV

!!! JXLOOHPHWV �/HDX YLYH�!!! DSRVWURSKHV ,O D GLW �JªUH ��

!!! V �DEFGH�!!! OHQ�V��

Page 22: Cours Python 3

!!! V� �DEF�!!! V� �GHIJ�!!! V� V� � V�!!! V�DEFGHIJ

!!! V� �)L� �!!! V� V� �!!! V�)L� )L� )L�

OHQ��

!!! OQJ OHQ��DEF��!!! OQJ�

XSSHU��

!!! �DEUDFDGDEUD��XSSHU���$%5$&$'$%5$�

7UXH)DOVH

✓ >[[[@

V F+$LVHܞ EDV6Hܞ

LVXSSHU�� LVORZHU�� 7UXH

!!! V�LVXSSHU��)DOVH

LVWLWOH�� 7UXH

!!! V�LVWLWOH��)DOVH

LVDOQXP�� LVDOSKD�� LVGLJLW�� LVVSDFH�� 7UXH

!!! V�LVDOSKD��7UXH!!! V�LVGLJLW��)DOVH

VWDUWVZLWK�SUHIL[>� VWDUW>� VWRS@@� HQGVZLWK�VXIIL[>� VWDUW>� VWRS@@�VWDUW VWRS SUHIL[ VXIIL[

!!! V�VWDUWVZLWK�F+�7UXH!!! V�HQGVZLWK�D66H�)DOVH

Page 23: Cours Python 3

ORZHU�� XSSHU�� FDSLWDOL]H�� VZDSFDVH��

!!! V�ORZHU��FKDLVH EDVVH!!! V�XSSHU��&+$,6( %$66(!!! V�FDSLWDOL]H��&KDLVH EDVVH!!! V�VZDSFDVH��&KD,6( %$6V(

H[SDQGWDEV�>WDEVL]H@� WDEVL]HFHQWHU�ZLGWK>� ILOOFKDU@� OMXVW�ZLGWK>� ILOOFKDU@�UMXVW�ZLGWK>� ILOOFKDU@�

ILOOFKDU

!!! V�FHQWHU���� ������F+$LVH EDV6H����!!! V�UMXVW���� #�########F+$LVH EDV6H

]ILOO�ZLGWK� FK � ZLGWK

!!! V�]ILOO������������F+$LVH EDV6H

VWULS�>FKDUV@� OVWULS�>FKDUV@� UVWULS�>FKDUV@� FKDUV

!!! V�VWULS�FH�+$LVH EDV6

ILQG�VXE>� VWDUW>� VWRS@@� VXE VWDUW VWRSUILQG�� LQGH[�� ULQGH[��

!!! V�ILQG�VH E��

UHSODFH�ROG>� QHZ>� FRXQW@@� FRXQW ROG QHZ

!!! V�UHSODFH�+$� KD�FKDLVH EDV6H

VSOLW�VHSV>� PD[VSOLW@� PD[VSOLW UVSOLW��VWULSOLQHV��

!!! V�VSOLW��>F+$LVH� EDV6H@

MRLQ�VHT� VHT

!!! � ��MRLQ�>F+$LVH� EDV6H@�F+$LVH EDV6H

>@�

!!! V �5D\RQ ;� � OHQ�V� ! �!!! V>�@5!!! V>�@\!!! V>��@;!!! V>��@Q

Page 24: Cours Python 3

b >@ �

!!! V �5D\RQ ;� � OHQ�V� ! �!!! V>���@ � GH OLQGH[ � FRPSULV ¢ � QRQ FRPSULVD\R!!! V>���@ � GH OLQGH[ �� FRPSULV ¢ OD ILQ ;!!! V>��@ � GX G«EXW ¢ OLQGH[ � QRQ FRPSULV5D\!!! V>��@ � GH OLQGH[ � FRPSULV ¢ OD ILQRQ ;!!! V>���@ � GX G«EXW ¢ OD ILQ� GH � HQ �5\Q;

E\WHV E\WHDUUD\

!!! PRW $QLPDO � W\SH VWU!!! EBPRW E�$QLPDO� � W\SH E\WHV!!! E0RW E\WHDUUD\�EBPRW� � W\SH E\WHDUUD\

VWUE\WHDUUD\ OLVW

Page 25: Cours Python 3

LQSXW��✄✂ #✁(QWU«H

LQSXW��

!!! I� LQSXW��(QWUH] XQ IORWWDQW � ��(QWUH] XQ IORWWDQW � ������!!! W\SH�I���FODVV VWU!!!! I� LQSXW��(QWUH] XQ DXWUH IORWWDQW � ��(QWUH] XQ DXWUH IORWWDQW � ������!!! W\SH�I���FODVV IORDW!

☞ SULQW��

!!! D� E �� �!!! SULQW�D� E�� �!!! SULQW��6RPPH ��� D � E�6RPPH � �!!!! SULQW�D � E� �HVW OD GLII«UHQFH���� HVW OD GLII«UHQFH!!! SULQW��/H SURGXLW GH�� D� �SDU�� E� �YDXW ��� D E�/H SURGXLW GH � SDU � YDXW � ��!!! SULQW��

!!! SULQW��2Q D ��� � ��� �! FDV ��� VHS ������2Q D �����������������! FDV �!!! � SRXU DIILFKHU DXWUH FKRVH TXXQ HVSDFH HQ ILQ GH OLJQH �!!! SULQW�D� HQG �#��� SULQW�E��#�

Page 26: Cours Python 3

?VDXWBOLJQH????�?D?E?I?Q?U?W?Y?1^QRP`?XKKKK?8KKKKKKKK?RRR?[KK

!!! SULQW��?1^SRXQG VLJQ` ?X��$ ?8������$���e e e� �!!! SULQW��G ?��� ?[����G G G!!! SULQW�U�G ?��� ?[����V ?��� ?[��

Page 27: Cours Python 3

? >�^

j ☞

!!! � ������!!! Q ��!!! LI Q � ����� SULQW��9RWUH QRPEUH HVW Q«JDWLI������9RWUH QRPEUH HVW Q«JDWLI�!!! � ��� VXLWH GX SURJUDPPH

!!! � ������!!! Q �

Page 28: Cours Python 3

!!! LI Q � ����� SULQW��9RWUH QRPEUH HVW Q«JDWLI RX QXO������ HOVH���� SULQW��9RWUH QRPEUH HVW SRVLWLI������ LI Q ! ����� SULQW��,O HVW VXS«ULHXU ¢ �������9RWUH QRPEUH HVW SRVLWLI�,O HVW VXS«ULHXU ¢ ��!!! � ��� VXLWH GX SURJUDPPH

LI � >HOLI@ � >HOVH@

!!! [ �!!! LI [ � ����� SULQW��[ HVW Q«JDWLI� 3RXU VD YDOHXU DEVROXH� RQ SUHQG ORSSRV«����� HOLI [ � ����� SULQW��[ HVW SRVLWLI HW LPSDLU����� HOVH���� SULQW��[ QHVW SDV Q«JDWLI HW HVW SDLU�����[ HVW SRVLWLI HW LPSDLU

!!! LI HVW3DLU� � PLHX[ TXH LI HVW3DLU 7UXH���� SULQW��/D FRQGLWLRQ HVW YUDLH��

!!! [� \ �� �!!! LI [ � \� � «FULWXUH FODVVLTXH��� SOXVBSHWLW [��� HOVH���� SOXVBSHWLW \���!!! SULQW��3OXV SHWLW � �� SOXVBSHWLW�3OXV SHWLW � �!!! SOXVBSHWLW [ LI [ � \ HOVH \ � XWLOLVDWLRQ GH ORS«UDWHXU WHUQDLUH!!! SULQW��3OXV SHWLW � �� SOXVBSHWLW�3OXV SHWLW � �

Page 29: Cours Python 3

UDQJH��

!!! XQH/LVWH OLVW�UDQJH����!!! XQH/LVWH>�� �� �� �� �� �@

ZKLOH

!!! [� FSW ���� �!!! VDXYH [!!! ZKLOH [ ! ����� [ �� � � GLYLVLRQ DYHF WURQFDWXUH��� FSW � � � LQFU«PHQWDWLRQ���!!! SULQW��$SSUR[LPDWLRQ GH ORJ� GH�� VDXYH� �HVW ��� FSW�$SSUR[LPDWLRQ GH ORJ� GH ��� HVW � �

LQSXW��

Q LQW�LQSXW�(QWUH] XQ HQWLHU >� �� ��@ � ��ZKLOH QRW�� � Q � ����

Q LQW�LQSXW�(QWUH] XQ HQWLHU >� �� ��@� 6�9�3� � ��

IRU

!!! IRU OHWWUH LQ �FLDR����� SULQW�OHWWUH����FLDR!!! IRU [ LQ >�� D� ����@���� SULQW�[�����D����!!! IRU L LQ UDQJH����

Page 30: Cours Python 3

��� SULQW�L���������!!!!!! QEBYR\HOOHV �!!! IRU OHWWUH LQ �3\WKRQ HVW XQ ODQJDJH WUHV V\PSD����� LI OHWWUH LQ �DHLRX\����� QEBYR\HOOHV QEBYR\HOOHV � ����!!! QEBYR\HOOHV��

EUHDN

IRU ZKLOH

!!! IRU [ LQ UDQJH��� ������� LI [ ����� EUHDN��� SULQW�[� HQG � ������ � � �!!! SULQW��%RXFOH LQWHUURPSXH SRXU [ �� [�%RXFOH LQWHUURPSXH SRXU [ �

FRQWLQXH

IRU ZKLOH

!!! IRU [ LQ UDQJH��� ������� LI [ ����� FRQWLQXH��� SULQW�[� HQG � ������ � � � � � � � ��!!! � OD ERXFOH D VDXW« OD YDOHXU �

ZKLOH � HOVH

ZKLOH IRU HOVH

\ LQW�LQSXW��(QWUH] XQ HQWLHU SRVLWLI � ���ZKLOH QRW�\ ! ���

\ LQW�LQSXW�(QWUH] XQ HQWLHU SRVLWLI� 6�9�3� � ��

[ \ �� �ZKLOH [ ! ��

LI \ � [ ��SULQW�[� �D SRXU IDFWHXU�� \�EUHDN � YRLFL OLQWHUUXSWLRQ �

[ � �HOVH�

SULQW�\� �HVW SUHPLHU���

Page 31: Cours Python 3

IRU � HOVH

XQHBVHTXHQFH >�� �� �� �� ��@

FLEOH LQW�LQSXW��(QWUH] XQ HQWLHU � ���

IRU L LQ XQHBVHTXHQFH�LI L FLEOH�

VDXYH LEUHDN � YRLFL OLQWHUUXSWLRQ �

HOVH�SULQW�FLEOH� �QHVW SDV GDQV�� XQHBVHTXHQFH�VDXYH 1RQH

� VDXYH YDXW GRQF FLEOH RX 1RQH �SULQW��2Q REWLHQW VDXYH �� VDXYH�

✎ WU\H[FHSW

IURP PDWK LPSRUW VLQ

IRU [ LQ UDQJH���� ��� � ��� ��� ��� ��� �� �� �� �� �WU\�

SULQW�^���I`�IRUPDW�VLQ�[��[�� HQG � ��H[FHSW =HUR'LYLVLRQ(UURU� � WRXMRXUV IRXUQLU XQH H[FHSWLRQ

SULQW����� HQG � �� � JªUH OH[FHSWLRQ HQ �� ������ ����� ����� ����� ��� ����� ����� ����� ������

([FHSWLRQ

WU\���� � V«TXHQFH QRUPDOH GH[«FXWLRQ

H[FHSW �H[FHSWLRQB�! DV H����� � WUDLWHPHQW GH OH[FHSWLRQ �

H[FHSW �H[FHSWLRQB�! DV H����� � WUDLWHPHQW GH OH[FHSWLRQ �

���HOVH�

��� � FODXVH H[«FXW«H HQ ODEVHQFH GHUUHXUILQDOO\�

��� � FODXVH WRXMRXUV H[«FXW«H

$ULWPHWLF(UURU =HUR'LYLVLRQ(UURU ,QGH[(UURU .H\(UURU $WWULEXWH(UURU ,2(UURU ,PSRUW(U�URU 1DPH(UURU 6\QWD[(UURU 7\SH(UURU

Page 32: Cours Python 3

UDLVH

[ �LI QRW�� � [ � ���

UDLVH 9DOXH(UURU��[ QHVW SDV GDQV >� �� �@��

✓ UDLVH H[FHSW

Page 33: Cours Python 3

b

b✎FRXOHXUV >WUªIOH� FDUUHDX� FRHXU� SLTXH@SULQW�FRXOHXUV� � >WUªIOH� FDUUHDX� FRHXU� SLTXH@FRXOHXUV>�@ ��SULQW�FRXOHXUV� � >WUªIOH� ��� FRHXU� SLTXH@OLVW� >D� E@OLVW� >�� �����@OLVW� >OLVW�� OLVW�@ � OLVWH GH OLVWHVSULQW�OLVW�� � >>D� E@� >�� �����@@

Page 34: Cours Python 3

UDQJH�� LQ

!!! WUXF >@!!! PDFKLQ >���@ �!!! WUXF>@!!! PDFKLQ>���� ���� ���@!!!!!! OLVWHB� OLVW�UDQJH����!!! OLVWHB�>�� �� �� �@!!! OLVWHB� OLVW�UDQJH��� ���!!! OLVWHB�>�� �� �� �@!!! OLVWHB� OLVW�UDQJH��� �� ���!!! OLVWHB�>�� �� �� �@!!!!!! � LQ OLVWHB�� � LQ OLVWHB�� � LQ OLVWHB��7UXH� )DOVH� 7UXH�

!!! QRPEUHV >��� ��� ��� ��� ��@!!! QRPEUHV�VRUW��!!! QRPEUHV>��� ��� ��� ��� ��@!!! QRPEUHV�DSSHQG����!!! QRPEUHV�UHYHUVH��!!! QRPEUHV�UHPRYH����!!! QRPEUHV>��� ��� ��� ��� ��@!!! QRPEUHV�LQGH[�����!!! QRPEUHV>�@ ��!!! QRPEUHV>���@ >��� ��� �@!!! QRPEUHV�SRS����!!! QRPEUHV>��� ��� ��� �� ��@!!! QRPEUHV�FRXQW�����!!! QRPEUHV�H[WHQG�>�� �� �@�!!! QRPEUHV>��� ��� ��� �� ��� �� �� �@

!!! PRWV >MDPERQ� VHO� PLHO� FRQILWXUH� EHXUUH@!!! PRWV>���@ >@ � HIIDFHPHQW SDU DIIHFWDWLRQ GXQH OLVWH YLGH!!! PRWV>MDPERQ� VHO� EHXUUH@!!! PRWV>���@ >VDODGH@!!! PRWV>MDPERQ� VDODGH@!!! PRWV>��@ >PD\RQQDLVH� SRXOHW� WRPDWH@!!! PRWV>MDPERQ� PD\RQQDLVH� SRXOHW� WRPDWH@!!! PRWV>���@ >PLHO@ � LQVHUWLRQ HQ �ª SRVLWLRQ!!! PRWV>MDPERQ� PD\RQQDLVH� PLHO� SRXOHW� WRPDWH@

Page 35: Cours Python 3

!!! OLVWHB� >�� �� �@!!! OLVWHV >OLVWHB�� >�� �@� �DEFG�@!!!!!! IRU OLVWH LQ OLVWHV���� IRU HOHP LQ OLVWH���� SULQW�HOHP���� SULQW��������

��

DEFG

b

PRQBWXSOH �D� �� >�� �@�

j

L �PVJ �4XRL GH QHXI "�H �����

Page 36: Cours Python 3

IDEOH >�-H�� �SOLH�� �PDLV�� �QH�� �URPSV�� �SRLQW�@SKUDVH IDEOH

SKUDVH>�@ �FDVVH�

SULQW�IDEOH� � >-H� SOLH� PDLV� QH� FDVVH� SRLQW@

FRS\�GHHSFRS\��

!!! LPSRUW FRS\!!! D >�� �� �@!!! E D � XQH U«I«UHQFH!!! E�DSSHQG���!!! D>�� �� �� �@!!! F D>�@ � XQH FRSLH VLPSOH!!! F�DSSHQG���!!! F>�� �� �� �� �@!!! G FRS\�FRS\�D� � XQH FRSLH GH �VXUIDFH�!!! G�DSSHQG���!!! G>�� �� �� �� �@!!! D>�� �� �� �@!!! G� ^D � >�� �@� E � >�� �@`!!! G� ^F � ��� �� ��� F � ��� �� ��`!!! OLVWHBGHBGLFRV >G�� G�@!!! QRXYHOOHBOLVWHBGHBGLFRV FRS\�GHHSFRS\�OLVWHBGHBGLFRV� � FRSLH �SURIRQGH� �RX �U«FXUVLYH��!!! QRXYHOOHBOLVWHBGHBGLFRV>^D� >�� �@� E� >�� �@`� ^F� ��� �� ��`@

Page 37: Cours Python 3

b FOH � YDOHXU

LQOHQ��

GLFW

GLFW

✎ FOH � YDOHXU

!!! G� ^` � GLFWLRQQDLUH YLGH!!! G�>�QRP�@ �!!! G�>�WDLOOH�@ ���!!! G�^QRP� �� WDLOOH� ���`!!!!!! G� ^�QRP�� �� �WDLOOH�� ���` � G«ILQLWLRQ HQ H[WHQVLRQ!!! G�^QRP� �� WDLOOH� ���`!!!!!! G� ^[� [ � IRU [ LQ ��� �� ��` � G«ILQLWLRQ HQ LQWHQVLRQ!!! G�^�� �� �� ��� �� ��`!!!!!! G� GLFW�QRP �� WDLOOH ���� � XWLOLVDWLRQ GH SDUDPªWUHV QRPP«V!!! G�

Page 38: Cours Python 3

^WDLOOH� ���� QRP� �`!!!!!! G� GLFW�>��QRP�� ��� ��WDLOOH�� ����@� � XWLOLVDWLRQ GXQH OLVWH GH FRXSOHV FO«V�YDOHXUV!!! G�^QRP� �� WDLOOH� ���`

!!! WHO ^MDFN� ����� VDSH� ����`!!! WHO>JXLGR@ ����!!! WHO^VDSH� ����� MDFN� ����� JXLGR� ����`!!! WHO>MDFN@����!!! GHO WHO>VDSH@!!! WHO>LUY@ ����!!! WHO^MDFN� ����� LUY� ����� JXLGR� ����`!!!!!! WHO�NH\V��>MDFN� LUY� JXLGR@!!! VRUWHG�WHO�NH\V���>JXLGR� LUY� MDFN@!!! VRUWHG�WHO�YDOXHV���>����� ����� ����@!!! JXLGR LQ WHO� MDFN QRW LQ WHO�7UXH� )DOVH�

VHW

bVHW

VHWIUR]HQVHW

!!! ; VHW�DEFG�!!! < VHW�VEGV�!!! ;VHW�>D� F� E� G@�!!! <VHW�>V� E� G@�!!! F LQ ;7UXH!!! D LQ <)DOVH!!! ; � <VHW�>D� F@�!!! < � ;VHW�>V@�

Page 39: Cours Python 3

!!! ; _ <VHW�>D� F� E� G� V@�!!! ; <VHW�>E� G@�

I� RSHQ��PRQ)LFKLHUB��� �U�� HQFRGLQJ XWI��� � �U� PRGH OHFWXUHI� RSHQ��PRQ)LFKLHUB��� �Z�� HQFRGLQJ XWI��� � �Z� PRGH «FULWXUHI� RSHQ��PRQ)LFKLHUB��� �D�� HQFRGLQJ XWI��� � �D� PRGH DMRXW

WE

HQFRGLQJ E\WHVWU

XWI�� ODWLQ�DVFLL

I��FORVH��

I RSHQ��WUXF�W[W�� �Z��V WRWR?QI�ZULWH�V� � «FULW OD FKD°QH V GDQV IO >D� E� F@I�ZULWHOLQHV�O� � «FULW OHV FKD°QHV GH OD OLVWH O GDQV II�FORVH��

I� RSHQ��WUXF��W[W�� �Z��SULQW��DEFG�� ILOH I�� � XWLOLVDWLRQ GH ORSWLRQ ILOHI��FORVH��

IOXVK��

Page 40: Cours Python 3

I RSHQ��WUXF�W[W�� �U��V I�UHDG�� � OLW WRXW OH ILFKLHU ��! FKD°QHV I�UHDG��� � OLW DX SOXV Q RFWHWV ��! FKD°QHV I�UHDGOLQH�� � OLW OD OLJQH VXLYDQWH ��! FKD°QHV I�UHDGOLQHV�� � OLW WRXW OH ILFKLHU ��! OLVWH GH FKD°QHVI�FORVH��

� $IILFKDJH GHV OLJQHV GXQ ILFKLHU XQH ¢ XQHI RSHQ��WUXF�W[W�� � PRGH �U� SDU G«IDXWIRU OLJQH LQ I�

SULQW�OLJQH�I�FORVH��

NQLJKWV ^�*DOODKDG�� �WKH SXUH�� �5RELQ�� �WKH EUDYH�`IRU N� Y LQ NQLJKWV�LWHPV���

SULQW�N� Y�� *DOODKDG WKH SXUH� 5RELQ WKH EUDYH

IRU L� Y LQ HQXPHUDWH�>�WLF�� �WDF�� �WRH�@��SULQW�L� Y� HQG � �� VHS ��!�� � ��!WLF ��!WDF ��!WRH

TXHVWLRQ >�QDPH�� �TXHVW�� �IDYRULWH FRORU�@DQVZHUV >�/DQFHORW�� �WKH +RO\ *UDLO�� �EOXH�@IRU T� D LQ ]LS�TXHVWLRQ� DQVZHUV��

SULQW��:KDW LV \RXU ^`" ,W LV ^`���IRUPDW�T� D��� :KDW LV \RXU QDPH" ,W LV /DQFHORW�� :KDW LV \RXU TXHVW" ,W LV WKH +RO\ *UDLO�� :KDW LV \RXU IDYRULWH FRORU" ,W LV EOXH�

IRU L LQ UHYHUVHG�UDQJH��� ��� ����SULQW�L� HQG � �� � � � � � �

EDVNHW >�DSSOH�� �RUDQJH�� �DSSOH�� �SHDU�� �RUDQJH�� �EDQDQD�@IRU I LQ VRUWHG�VHW�EDVNHW���

SULQW�I� HQG � �� � DSSOH EDQDQD RUDQJH SHDU

IRUPDW��SULQW�� I�ZULWH��

SULQW��^` ^` ^`��IRUPDW��]«UR�� �XQ�� �GHX[��� � ]«UR XQ GHX[

� IRUPDWDJH GXQH FKD°QH SRXU XVDJHV XOW«ULHXUVFKDLQ �^�` ^�` ^�`��IRUPDW��]«UR�� �XQ�� �GHX[��

SULQW�FKDLQ� � DIILFKDJH � GHX[ ]«UR XQ

Page 41: Cours Python 3

ZLWK RSHQ��WHVW�W[W�� �Z�� HQFRGLQJ �XWI��� DV I�I�ZULWH�FKDLQ� � HQUHJLVWUHPHQW GDQV XQ ILFKLHU

SULQW��-H PDSSHOOH ^`��IRUPDW��%RE��� � -H PDSSHOOH %RESULQW��-H PDSSHOOH ^^^```��IRUPDW��%RE��� � -H PDSSHOOH ^%RE`SULQW��^`��IRUPDW���� ���� � ����������

D� E �� �SULQW��7KH VWRU\ RI ^F` DQG ^G`��IRUPDW�F D�E� G D�E�� � 7KH VWRU\ RI � DQG �

VWRFN >SDSLHU� HQYHORSSH� FKHPLVH� HQFUH� EXYDUG@SULQW��1RXV DYRQV GH O^�>�@` HW GX ^�>�@` HQ VWRFN?Q��IRUPDW�VWRFN�� � 1RXV DYRQV GH OHQFUH HW GX SDSLHU HQ VWRFN

SULQW��0\ QDPH LV ^�>QDPH@`��IRUPDW�GLFW�QDPH )UHG��� � 0\ QDPH LV )UHG

G GLFW�SRLGV ������ DQLPDO «O«SKDQW�SULQW��/^�>DQLPDO@` SªVH ^�>SRLGV@` NJ?Q��IRUPDW�G�� � /«O«SKDQW SªVH ����� NJ

LPSRUW PDWKLPSRUW V\V

SULQW��PDWK�SL ^�SL`� HSVLORQ ^�IORDWBLQIR�HSVLORQ`��IRUPDW�PDWK� V\V��� PDWK�SL �������������� HSVLORQ �������������H���

VWU�� UHSU��

!!! SULQW��^��V` ^��U`��IRUPDW��WH[WH?Q���WH[WH

WH[WH?Q

V �LQW �^��G`� KH[� ^��[`� RFW� ^��R`� ELQ� ^��E`��IRUPDW����SULQW�V� � LQW ���� KH[� �D� RFW� ��� ELQ� ������V �LQW �^��G`� KH[� ^���[`� RFW� ^���R`� ELQ� ^���E`��IRUPDW����SULQW�V� � LQW ���� KH[� �[�D� RFW� �R��� ELQ� �E������

Q ���SL ������������������N ���

SULQW��^���H`��IRUPDW�SL�� � ������H���SULQW��^�J`��IRUPDW�SL�� � �������SULQW��^����`��IRUPDW�Q���� SL��� � ������

PVJ �5«VXOWDW VXU ^�G` «FKDQWLOORQV � ^���I`��IRUPDW�Q� SL�SULQW�PVJ� � 5«VXOWDW VXU ��� «FKDQWLOORQV � ����

PVJ �^��UHDO` HW ^��LPDJ` VRQW OHV FRPSRVDQWHV GX FRPSOH[H ^�`��IRUPDW����M�SULQW�PVJ� � ��� HW ���� VRQW OHV FRPSRVDQWHV GX FRPSOH[H ����M�

SULQW��^��G` ^��G`��IRUPDW�Q� N�� � ���� ��� �RQ IRUFH ODIILFKDJH GX VLJQH�

SULQW��^��`��IRUPDW����������������� � ����������������

V �7KH VZRUG RI WUXWK�SULQW��>^`@��IRUPDW�V�� � >7KH VZRUG RI WUXWK@SULQW��>^���`@��IRUPDW�V�� � >7KH VZRUG RI WUXWK @SULQW��>^�!��`@��IRUPDW�V�� � > 7KH VZRUG RI WUXWK@SULQW��>^�A��`@��IRUPDW�V�� � > 7KH VZRUG RI WUXWK @SULQW��>^��A��`@��IRUPDW�V�� � >���7KH VZRUG RI WUXWK����@SULQW��>^�����`@��IRUPDW�V�� � >7KH VZRUG RI WUXWK�������@

VWU�� UHSU��

Page 42: Cours Python 3

ORQJ ��SULQW��>^`@��IRUPDW�V>�ORQJ@�� � >7KH VZRUG RI@P ���������SULQW��^�� ��`��IRUPDW�P�� � ������������SULQW��^�� ��`��IRUPDW�P�� � ������������

Page 43: Cours Python 3

b

✎GHI

SDVV

GHI DIILFKH$GG0XO�D� E�����&DOFXOH HW DIILFKH OD VRPPH HW OH SURGXLW GH D HW E����VRPPH D � ESURGXLW D ESULQW��/D VRPPH GH�� D� � HW�� E� � HVW�� VRPPH� � HW OH SURGXLW� SURGXLW�

Page 44: Cours Python 3
Page 45: Cours Python 3

UHWXUQ SURF«GXUH1RQH

GHI WDEOH�EDVH� GHEXW� ILQ�����$IILFKH OD WDEOH GH PXOWLSOLFDWLRQ GHV �EDVH! GH �GHEXW! ¢ �ILQ!����Q GHEXWZKLOH Q � ILQ�

SULQW�Q� [� EDVH� � Q EDVH�Q � �

� H[HPSOH GDSSHO �WDEOH��� �� ��� � [ � �� � [ � �� � [ � �� � [ � �� � [ � �� � [ � �� � [ � ��

� DXWUH H[HPSOH GX P¬PH DSSHO� PDLV HQ QRPPDQW OHV SDUDPªWUHV �WDEOH�EDVH �� GHEXW �� ILQ ��

UHWXUQ

IURP PDWK LPSRUW SL

GHI FXEH�[�����5HWRXUQH OH FXEH GH ODUJXPHQW����UHWXUQ [ �

GHI YROXPH6SKHUH�U�����5HWRXUQH OH YROXPH GXQH VSKªUH GH UD\RQ �U!����UHWXUQ ��� SL FXEH�U� � ���

� 6DLVLH GX UD\RQ HW DIILFKDJH GX YROXPHUD\RQ IORDW�LQSXW�5D\RQ � ��SULQW��9ROXPH GH OD VSKªUH �� YROXPH6SKHUH�UD\RQ��

Page 46: Cours Python 3

UHWXUQ

LPSRUW PDWK

GHI VXUIDFH9ROXPH6SKHUH�U��VXUI ��� PDWK�SL U �YRO VXUI U��UHWXUQ VXUI� YRO

� SURJUDPPH SULQFLSDOUD\RQ IORDW�LQSXW�5D\RQ � ��V� Y VXUIDFH9ROXPH6SKHUH�UD\RQ�SULQW��6SKªUH GH VXUIDFH ^�J` HW GH YROXPH ^�J`��IRUPDW�V� Y��

!!! GHI I�[����� UHWXUQ � [�����!!! GHI J�[����� UHWXUQ [������!!! GHI K�IRQF� [����� UHWXUQ IRQF�[����!!!!!! K�I� ���!!! K�J� ���

!!! GHI DFFXHLO�QRP� SUHQRP� GHSDUW �03�� VHPHVWUH �6������� SULQW�SUHQRP� QRP� �'«SDUWHPHQW�� GHSDUW� �VHPHVWUH�� VHPHVWUH����!!! DFFXHLO��6WXGHQW�� �-RH��-RH 6WXGHQW '«SDUWHPHQW 03 VHPHVWUH 6�!!! DFFXHLO��6WXGHQW�� �(YH�� �,QIR��(YH 6WXGHQW '«SDUWHPHQW ,QIR VHPHVWUH 6�!!! DFFXHLO��6WXGHQW�� �6WHSK�� VHPHVWUH �6���6WHSK 6WXGHQW '«SDUWHPHQW 03 VHPHVWUH 6�

j LQW IORDW VWU ERRO WXSOH

OLVW GLFW1RQH

GHI PD)RQFWLRQ�OLVWH 1RQH��LI OLVWH LV 1RQH�

OLVWH >�� �@

Page 47: Cours Python 3

QRPDUJV

GHI VRPPH� DUJV�����5HQYRLH OD VRPPH GX WXSOH �DUJV!����UHVXOWDW �IRU QRPEUH LQ DUJV�

UHVXOWDW � QRPEUHUHWXUQ UHVXOWDW

� ([HPSOHV GDSSHO �SULQW�VRPPH����� � ��SULQW�VRPPH���� ��� ���� � ��

j

GHI VRPPH�D� E� F��UHWXUQ D�E�F

� ([HPSOH GDSSHO �HOHPHQWV ��� �� ��SULQW�VRPPH� HOHPHQWV�� � ��

QRP

GHI XQ'LFW� NZDUJV��UHWXUQ NZDUJV

� ([HPSOHV GDSSHOV�� SDU GHV SDUDPªWUHV QRPP«V �SULQW�XQ'LFW�D ��� E ���� � ^D� ��� E� ��`

�� HQ IRXUQLVVDQW XQ GLFWLRQQDLUH �PRWV ^G� ��� H� ��� I��`SULQW�XQ'LFW� PRWV�� � ^H� ��� G� ��� I� �`

j

JOREDOV�� YDULDEOH �YDOHXU

ORFDOV�� YDULDEOH �YDOHXU

Page 48: Cours Python 3

JOREDO �LGHQWLILFDWHXUV!

� [ HW IRQF VRQW DIIHFW«V GDQV OH PRGXOH � JOREDX[

GHI IRQF�\�� � \ HW ] VRQW DIIHFW«V GDQV IRQF � ORFDX[JOREDO [ � SHUPHW GH PRGLILHU [ OLJQH VXLYDQWH[ � �] [ � \UHWXUQ ]

[ ��SULQW�IRQF���� � ���SULQW�[� � ���

� [ HW IRQF VRQW DIIHFW«V GDQV OH PRGXOH � JOREDX[

GHI IRQF�\�� � \ HW ] VRQW DIIHFW«V GDQV IRQF � ORFDX[� GDQV IRQF � SRUW«H ORFDOH] [ � \UHWXUQ ]

[ ��SULQW�IRQF���� � ���SULQW�[� � ��

� [ HW IRQF VRQW DIIHFW«V GDQV OH PRGXOH � JOREDX[

GHI IRQF�\�� � \� [ HW ] VRQW DIIHFW«V GDQV IRQF � ORFDX[[ � � FH QRXYHO [ HVW ORFDO HW PDVTXH OH [ JOREDO] [ � \UHWXUQ ]

[ ��SULQW�IRQF���� � �SULQW�[� � ��

Page 49: Cours Python 3

�S\

�S\Z

b

LPSRUW

LPSRUW �QRPBPRGXOH!

!!! LPSRUW WNLQWHU!!! SULQW��9HUVLRQ GH OLQWHUIDFH JUDSKLTXH WNLQWHU ��� WNLQWHU�7N9HUVLRQ�9HUVLRQ GH OLQWHUIDFH JUDSKLTXH WNLQWHU � ���

IURP �QRPBPRGXOH! LPSRUW QRP�� QRP�

Page 50: Cours Python 3

!!! IURP PDWK LPSRUW SL� VLQ!!! SULQW��9DOHXU GH 3L ��� SL� �VLQXV�SL��� ��� VLQ�SL����9DOHXU GH 3L � ������������� VLQXV�SL��� � ��������������

!!! VLQ PDWK�VLQ!!! SL PDWK�SL

j

BBQDPHBB

� MHBPHBQRPPH�S\SULQW��-H PH QRPPH ��� BBQDPHBB�

BBPDLQBB

� S\WKRQ� MHBPHBQRPPH�S\-H PH QRPPH � BBPDLQBB

!!! LPSRUW MHBPHBQRPPH-H PH QRPPH � MHBPHBQRPPH

� FXEHBP�S\

GHI FXEH�[�����UHWRXUQH OH FXEH GH �[!����UHWXUQ [ �

� DXWR�WHVW LI BBQDPHBB �BBPDLQBB�� � YUDL FDU PRGXOH SULQFLSDO

SULQW��2.��� LI FXEH��� ��� HOVH �.2��

Page 51: Cours Python 3

LPSRUW FXEHBP

� SURJUDPPH SULQFLSDO IRU L LQ UDQJH��� ���

SULQW��FXEH GH�� L� � �� FXEHBP�FXEH�L��

���FXEH GH � �FXEH GH � �FXEH GH � �����

GHI RN�PHVVDJH� ����5HWRXUQH 7UXH VL RQ VDLVLH �(QWU«H!� �2!� �R!� �<! RX �\!�)DOVH GDQV WRXV OHV DXWUHV FDV����V UDZBLQSXW�PHVVDJH � � �2�Q� " ��UHWXUQ 7UXH LI V �� RU V>�@ LQ �2R<\� HOVH )DOVH

� DXWR�WHVW LI BBQDPHBB BBPDLQBB �

LPSRUW V\V

ZKLOH 7UXH�LI RN��(QFRUH���

SULQW��-H FRQWLQXH��HOVH�

V\V�H[LW��-H PDUU¬WH��

���(QFRUH �2�Q� "-H FRQWLQXH(QFRUH �2�Q� " R-H FRQWLQXH(QFRUH �2�Q� " Q-H PDUU¬WH���

VWULQJ DVFLLBORZHUFDVH GLJLWV )RUPDWWHU

WH[WZUDS

VWUXFW

GLIIOLE

UH

Page 52: Cours Python 3

LR�6WULQJ,2

VFDQQHU��

GHI VFDQQHU�REMHWBILFKLHU� JHVWLRQQDLUHBOLJQH��IRU OLJQH LQ REMHWBILFKLHU�

JHVWLRQQDLUHBOLJQH�OLJQH�

GHI SUHPLHU0RW�OLJQH�� SULQW�OLJQH�VSOLW��>�@�

ILF RSHQ��GDWD�GDW��VFDQQHU�ILF� SUHPLHU0RW�

LPSRUW LRFKDLQH LR�6WULQJ,2��XQ?QGHX[ [[[?QWURLV?Q��VFDQQHU�FKDLQH� SUHPLHU0RW�

V\V�DUJYDUJY>�@� DUJY>�@ DUJY>�@

RSWSDUVH

IURP RSWSDUVH LPSRUW 2SWLRQ3DUVHUSDUVHU 2SWLRQ3DUVHU��SDUVHU�DGGBRSWLRQ���I�� ���ILOH�� GHVW �ILOHQDPH��

KHOS �ZULWH UHSRUW WR ),/(�� PHWDYDU �),/(��SDUVHU�DGGBRSWLRQ���T�� ���TXLHW��

DFWLRQ �VWRUHBIDOVH�� GHVW �YHUERVH�� GHIDXOW 7UXH�KHOS �GRQW SULQW VWDWXV PHVVDJHV WR VWGRXW��

�RSWLRQV� DUJV� SDUVHU�SDUVHBDUJV��

S\WKRQ �B����S\ �K

S\WKRQ �B����S\ ��KHOS

8VDJH� �B����S\ >RSWLRQV@

2SWLRQV��K� ��KHOS VKRZ WKLV KHOS PHVVDJH DQG H[LW�I ),/(� ��ILOH ),/( ZULWH UHSRUW WR ),/(�T� ��TXLHW GRQW SULQW VWDWXV PHVVDJHV WR VWGRXW

PDWK

!!! LPSRUW PDWK!!! PDWK�SL � PDWK�H������������������!!! H[S��H��� � �������������������H���!!! PDWK�ORJ���������������������!!! PDWK�ORJ���������!!! PDWK�FRV�PDWK�SL���������������������!!! PDWK�DWDQ����������

Page 53: Cours Python 3

������������������!!! PDWK�K\SRW��� �����!!! PDWK�GHJUHHV��������������������

IUDFWLRQ GHFLPDO

IURP IUDFWLRQV LPSRUW )UDFWLRQLPSRUW GHFLPDO DV G

SULQW�)UDFWLRQ���� ����� � ����SULQW�)UDFWLRQ������ � ���SULQW�)UDFWLRQ� ���� �� � ����SULQW�)UDFWLRQ�������� � ����SULQW�)UDFWLRQ��H���� � ���������

G�JHWFRQWH[W���SUHF �SULQW�G�'HFLPDO��� � G�'HFLPDO���� � ��������G�JHWFRQWH[W���SUHF ��SULQW�G�'HFLPDO��� � G�'HFLPDO���� � ��������������������

PDWK FPDWK UDQGRP

FDOHQGDU WLPH GDWHWLPH

LPSRUW FDOHQGDU� GDWHWLPH� WLPH

PRRQBDSROOR�� GDWHWLPH�GDWHWLPH������ �� ��� ��� ��� ���SULQW�PRRQBDSROOR���SULQW�WLPH�DVFWLPH�WLPH�JPWLPH������ 7KX -DQ �� �������� ���� ��HSRFK� 81,;�

YHQGUHGLBSUHFHGHQW GDWHWLPH�GDWH�WRGD\��XQBMRXU GDWHWLPH�WLPHGHOWD�GD\V ��ZKLOH YHQGUHGLBSUHFHGHQW�ZHHNGD\�� � FDOHQGDU�)5,'$<�

YHQGUHGLBSUHFHGHQW � XQBMRXUSULQW�YHQGUHGLBSUHFHGHQW�VWUIWLPH���$� �G��E��<���� )ULGD\� ���2FW�����

FROOHFWLRQ

ELVHFW DUUD\

KHDST

LPSRUW KHDSTLPSRUW UDQGRP

KHDS >@IRU L LQ UDQJH�����

KHDST�KHDSSXVK�KHDS� UDQGRP�UDQGLQW��� ���

SULQW�KHDS� � >�� �� �� �� �� �� �� �� �� �@

FROOHFWLRQV

LPSRUW FROOHFWLRQV

� GHVFULSWLRQ GX W\SH �3RLQW FROOHFWLRQV�QDPHGWXSOH��3RLQW�� �[ \ ]��� RQ LQVWDQFLH XQ SRLQW �SRLQW 3RLQW����� ���� ����� RQ ODIILFKH �SULQW��SRLQW � >^`� ^`� ^`@�

�IRUPDW�SRLQW�[� SRLQW�\� SRLQW�]�� � SRLQW � >���� ���� ���@

Page 54: Cours Python 3

GHIDXOWGLFW

IURP FROOHFWLRQV LPSRUW GHIDXOWGLFW

V >�\� ��� �E� ��� �\� ��� �E� ��� �U� ��@G GHIDXOWGLFW�OLVW�IRU N� Y LQ V�

G>N@�DSSHQG�Y�SULQW�G�LWHPV���� GLFWBLWHPV�>�\� >�� �@�� �U� >�@�� �E� >�� �@�@�

V PLVVLVVLSSLG GHIDXOWGLFW�LQW�IRU N LQ V�

G>N@ � �SULQW�G�LWHPV���� GLFWBLWHPV�>�L� ��� �S� ��� �V� ��� �P� ��@�

8QXP

!!! IURP XQXP�XQLWV LPSRUW !!! GLVWDQFH ��� P!!! WHPSV ����� V!!! YLWHVVH GLVWDQFH � WHPSV!!! YLWHVVH������������������ >P�V@!!! YLWHVVH�DV8QLW�PLOH�K�������������� >PLOH�K@!!! DFFHOHUDWLRQ YLWHVVH�WHPSV!!! DFFHOHUDWLRQ������������������ >P�V�@

Page 55: Cours Python 3

bBBLQLWBB

Page 56: Cours Python 3
Page 57: Cours Python 3

OLVWVWU

>�� �� �@�VRUW���FDVVH��XSSHU��

>�� �� �@OLVW �FDVVH� VWU

FRPSOH[

LPDJ UHDOFRQMXJDWH�� DEV��

VWU

✞✝ ☎✆REMHW DWWULEXWV � P«WKRGHV

Page 58: Cours Python 3

FODVV

✎ FODVV

!!! FODVV &���� ���'RFXPHQWDWLRQ GH OD FOHVVH &������� [ ��

&[ &

!!! FODVV &���� ���'RFXPHQWDWLRQ GH OD FOHVVH &������� [ �� � DWWLEXW GH FODVVH���!!! D &�� � D HVW XQ REMHW GH OD FODVVH & �RX XQH LQVWDQFH�!!! D�[ � DIILFKH OD YDOHXU GH ODWWULEXW GH OLQVWDQFH D��!!! D�[ �� � PRGLILH VRQ DWWULEXW GLQVWDQFH �DWWHQWLRQ����!!! D�[��!!! &�[ � PDLV ODWWULEXW GH FODVVH HVW LQFKDQJ«��!!! &�] � � ] � QRXYHO DWWULEXW GH FODVVH!!! D�\ �� � \ � QRXYHO DWWULEXW GH OLQVWDQFH D!!! E &�� � E HVW XQ DXWUH REMHW GH OD FODVVH & �XQH DXWUH LQVWDQFH�!!! E�[ � E FRQQD°W ELHQ VRQ DWWULEXW GH FODVVH� PDLV�����!!! E�\ � ��� E QD SDV GDWWULEXW \ �

Page 59: Cours Python 3

7UDFHEDFN �PRVW UHFHQW FDOO ODVW��)LOH ��VWGLQ!�� OLQH �� LQ �PRGXOH!

$WWULEXWH(UURU� & LQVWDQFH KDV QR DWWULEXWH \

✓D�\ ��

&�] �

b [ &

b \ D

&�[ �

GLPHQVLRQ

GLPHQVLRQ�KDXWHXU

&&

!!! Y �!!! FODVV &���� [ Y � � � XWLOLVDWLRQ GXQH YDULDEOH JOREDOH GDQV OD G«ILQLWLRQ GH FODVVH��� \ [ � � � UHFKHUFKH GDQV OHVSDFH GH QRPV GH OD FODVVH ORUV GH OD G«ILQLWLRQ���!!! D &��!!! D�[ � XWLOLVDWLRQ VDQV PRGLILFDWLRQ GH OD YDULDEOH GH FODVVH HQ SDVVDQW SDU OREMHW�!!! D�[ � � FU«DWLRQ GXQH YDULDEOH GLQVWDQFH SRXU OREMHW D!!! D�[�!!! &�[ � OD YDULDEOH GH FODVVH QHVW SDV PRGLIL«H�!!! &�[ �� � RQ PRGLILH OD YDULDEOH GH FODVVH HQ SDVVDQW SDU OHVSDFH GH QRPV GH OD FODVVH!!! &�[��

!!! FODVV &���� [ �����!!! &�BBGLFWBB^[� ��� BBPRGXOHBB� BBPDLQBB� BBGRFBB� 1RQH`

Page 60: Cours Python 3

!!! D &��!!! GLU�D�>BBGRFBB� BBPRGXOHBB� [@

✎ VHOIVHOI

VHOI

!!! FODVV &� � [ HW \ � DWWULEXWV GH FODVVH��� [ ����� \ [ � ���� GHI DIILFKH�VHOI�� � P«WKRGH DIILFKH����� VHOI�] �� � DWWULEXW GLQVWDQFH��� SULQW�&�\� � GDQV XQH P«WKRGH� RQ TXDOLILH XQ DWWULEXW GH FODVVH���� SULQW�VHOI�]� � PDLV SDV XQ DWWULEXW GLQVWDQFH���!!! REM &�� � LQVWDQFLDWLRQ GH OREMHW RE!!! REM�DIILFKH������

�� BBDGGBB��

BBLQLWBB

!!! FODVV &���� GHI BBLQLWBB�VHOI� Q����� VHOI�[ Q � LQLWLDOLVDWLRQ GH ODWWULEXW GLQVWDQFH [���!!! XQHBLQVWDQFH &���� � SDUDPªWUH REOLJDWRLUH� DIIHFW« ¢ Q!!! XQHBLQVWDQFH�[��

[ � � � � DGGLWLRQ HQWLªUHV DE � FG � FRQFDW«QDWLRQ

Page 61: Cours Python 3

BBFDOOBB BBVWUBBBBDGGBB BBGLYBBBBOHQBB BBLWHUBB

BBQHJBB �REM�BBDGGBB REM� � REM�BBVXEBB REM� � REM�BBPXOBB REM� REM�BBGLYBB REM� � REM�

BBIORRUGLYBB REM� �� REM�

9HFWHXU�'BBVWUBB SULQW��

!!! FODVV 9HFWHXU�'���� GHI BBLQLWBB�VHOI� [�� \������ VHOI�[ [���� VHOI�\ \���� GHI BBDGGBB�VHOI� VHFRQG�� � DGGLWLRQ YHFWRULHOOH��� UHWXUQ 9HFWHXU�'�VHOI�[ � VHFRQG�[� VHOI�\ � VHFRQG�\���� GHI BBVWUBB�VHOI�� � DIILFKDJH GXQ 9HFWHXU�'��� UHWXUQ �9HFWHXU�^�J`� ^�J`���IRUPDW�VHOI�[� VHOI�\����!!!!!! Y� 9HFWHXU�'����� ����!!! Y� 9HFWHXU�'����� ����!!!!!! SULQW�Y� � Y��9HFWHXU����� ����

b

b

UHSU�� VWU��

Page 62: Cours Python 3

4XDGUXSHGH'HERXW 4XDGUXSHGH SLHG�V$X&RQWDFW'X6RO��

!!! FODVV 4XDGUXSHGH���� GHI SLHGV$X&RQWDFW'X6RO�VHOI����� UHWXUQ ����!!! FODVV 4XDGUXSHGH'HERXW�4XDGUXSHGH����� GHI SLHGV$X&RQWDFW'X6RO�VHOI����� UHWXUQ ����!!! T� 4XDGUXSHGH��!!! T��SLHGV$X&RQWDFW'X6RO���!!! T� 4XDGUXSHGH'HERXW��!!! T��SLHGV$X&RQWDFW'X6RO���

b

FODVV 3RLQW�GHI BBLQLWBB�VHOI� [� \��

VHOI�S[� VHOI�S\ [� \

FODVV 6HJPHQW����&ODVVH FRQWHQHXU XWLOLVDQW OD FODVVH 3RLQW����GHI BBLQLWBB�VHOI� [�� \�� [�� \���

VHOI�RULJ 3RLQW�[�� \��VHOI�H[WUHP 3RLQW�[�� \��

GHI BBVWUBB�VHOI��UHWXUQ ��6HJPHQW � >�^�J`� ^�J`�� �^�J`� ^�J`�@�

�IRUPDW�VHOI�RULJ�S[� VHOI�RULJ�S\�VHOI�H[WUHP�S[� VHOI�H[WUHP�S\��

V 6HJPHQW����� ���� ���� ����SULQW�V� � 6HJPHQW � >��� ��� ��� ��@

Page 63: Cours Python 3

b

b

&RPPXQH 6HUYLFHV &RQVHLOB0XQLFLSDO9LOODJH

b

VXSHU��

&DUUH 5HFWDQJOHORQJXHXU FRWH ODUJHXU FRWH

!!! FODVV 5HFWDQJOH���� GHI BBLQLWBB�VHOI� ORQJXHXU ��� ODUJHXU ������� VHOI�/� VHOI�O ORQJXHXU� ODUJHXU��� VHOI�QRP �UHFWDQJOH���� GHI BBVWUBB�VHOI����� UHWXUQ �QRP � ^`��IRUPDW�VHOI�QRP����!!!

Page 64: Cours Python 3

!!! FODVV &DUUH�5HFWDQJOH�� � K«ULWDJH VLPSOH��� ���6RXV�FODVVH VS«FLDOLV«H GH OD VXSHU�FODVVH 5HFWDQJOH������� GHI BBLQLWBB�VHOI� FRWH ������� � DSSHO DX FRQVWUXFWHXU GH OD VXSHU�FODVVH GH &DUUH ���� VXSHU���BBLQLWBB�FRWH� FRWH���� VHOI�QRP �FDUU«� � VXUFKDUJH GDWWULEXW���!!!!!! U 5HFWDQJOH��!!! F &DUUH��!!! SULQW�U�QRP � UHFWDQJOH!!! SULQW�F�QRP � FDUU«

WDEOH

,RQ $WRPH

FODVV $WRPH����DWRPHV VLPSOLIL«V �OHV �� SUHPLHUV «O«PHQWV�����

WDEOH >1RQH� �K\GURJªQH���� �KHOLXP���� �OLWKLXP���� �EHU\OOLXP�����ERUH���� �FDUERQH���� �D]RWH���� �R[\JªQH�����IOXRU����� �QHRQ����@

GHI BBLQLWBB�VHOI� QDW���OH QXP«UR DWRPLTXH G«WHUPLQH OH QRPEUH GH SURWRQV� G«OHFWURQV HW GH QHXWURQV�VHOI�QS� VHOI�QH QDW� QDW � QDW QXP«UR DWRPLTXHVHOI�QQ $WRPH�WDEOH>QDW@>�@

GHI DIILFKH�VHOI��SULQW��SULQW��1RP GH O«O«PHQW ��� $WRPH�WDEOH>VHOI�QS@>�@�SULQW���V SURWRQV� �V «OHFWURQV� �V QHXWURQV� � �VHOI�QS� VHOI�QH� VHOI�QQ��

FODVV ,RQ�$WRPH�� � ,RQ K«ULWH G$WRPH���/HV LRQV VRQW GHV DWRPHV TXL RQW JDJQ« RX SHUGX GHV «OHFWURQV���

GHI BBLQLWBB�VHOI� QDW� FKDUJH���OH QXP«UR DWRPLTXH HW OD FKDUJH «OHFWULTXH G«WHUPLQHQW OLRQ�VXSHU���BBLQLWBB�QDW�VHOI�QH VHOI�QH � FKDUJH � VXUFKDUJHVHOI�FKDUJH FKDUJH

Page 65: Cours Python 3

GHI DIILFKH�VHOI�� � VXUFKDUJH$WRPH�DIILFKH�VHOI�SULQW��3DUWLFXOH «OHFWULV«H� &KDUJH �� VHOI�FKDUJH�

� 3URJUDPPH SULQFLSDO D� $WRPH���D� ,RQ��� ��D� ,RQ��� ���D��DIILFKH��D��DIILFKH��D��DIILFKH��

���

1RP GH O«O«PHQW � ERUH� SURWRQV� � «OHFWURQV� � QHXWURQV

1RP GH O«O«PHQW � OLWKLXP� SURWRQV� � «OHFWURQV� � QHXWURQV3DUWLFXOH «OHFWULV«H� &KDUJH �

1RP GH O«O«PHQW � R[\JªQH� SURWRQV� �� «OHFWURQV� � QHXWURQV3DUWLFXOH «OHFWULV«H� &KDUJH �����

Page 66: Cours Python 3
Page 67: Cours Python 3

*7.� Z[3\WKRQ 4WWNLQWHU WFO�7N

WNLQWHU

Page 68: Cours Python 3

WNLQWHU

7N 7FO

7FO�7NWNLQWHU

7N7L[7FO�7N

7WN

WNLQWHU ☞

LPSRUW WNLQWHU

� FU«DWLRQ GXQ ZLGJHW DIILFKDQW XQ VLPSOH PHVVDJH WH[WXHOZLGJHW WNLQWHU�/DEHO�1RQH� WH[W %RQMRXU PRQGH JUDSKLTXH ��ZLGJHW�SDFN�� � SRVLWLRQQHPHQW GX ODEHOZLGJHW�PDLQORRS�� � ODQFHPHQW GH OD ERXFOH G«Y«QHPHQWV

/DEHO

WNLQWHU

b

0HQXEXWWRQ

Page 69: Cours Python 3

7H[W

WNLQWHU

WN3KRQH

)UDPH��SDFNHU 7N�� ☞

SKR�QH/LVW

URRW PDNH:LGJHWV��

Page 70: Cours Python 3

)UDPH

SDVV

LPSRUW WNLQWHU DV WN

� FODVVFODVV $OORB,+0�REMHFW��

���,+0 GH ODSSOLFDWLRQ U«SHUWRLUH W«O«SKRQLTXH����GHI BBLQLWBB�VHOI� ILF��

���,QLWLDOLVDWHXU�ODQFHXU GH OD IHQ¬WUH GH EDVH���VHOI�SKRQH/LVW >@VHOI�ILF ILFI RSHQ�ILF�WU\�

IRU OLQH LQ I�VHOI�SKRQH/LVW�DSSHQG�OLQH>� ��@�VSOLW� ��

H[FHSW� � FU«DWLRQ GX ILFKLHU GH U«SHUWRLUHI RSHQ�VHOI�ILF� �Z��

ILQDOO\�I�FORVH��

VHOI�SKRQH/LVW�VRUW��VHOI�URRW WN�7N��VHOI�URRW�WLWOH��$OOR ���VHOI�URRW�FRQILJ�UHOLHI WN�5$,6('� EG ��VHOI�PDNH:LGJHWV��VHOI�URRW�PDLQORRS��

GHI PDNH:LGJHWV�VHOI���&RQILJXUH HW SRVLWLRQQH OHV ZLGJHWV�� IUDPH �VDLVLH� �HQ KDXW DYHF ERXWRQ GHIIDFHPHQW�IUDPH+ WN�)UDPH�VHOI�URRW� UHOLHI WN�*5229(� EG ��IUDPH+�SDFN��

WN�/DEHO�IUDPH+� WH[W �1RP ����JULG�URZ �� FROXPQ �� VWLFN\ WN�:�

Page 71: Cours Python 3

VHOI�QDPH(QW WN�(QWU\�IUDPH+�VHOI�QDPH(QW�JULG�URZ �� FROXPQ �� VWLFN\ WN�:� SDG[ �� SDG\ ���

WN�/DEHO�IUDPH+� WH[W �7HO ����JULG�URZ �� FROXPQ �� VWLFN\ WN�:�VHOI�SKRQH(QW WN�(QWU\�IUDPH+�VHOI�SKRQH(QW�JULG�URZ �� FROXPQ �� VWLFN\ WN�:� SDG[ �� SDG\ ��

E WN�%XWWRQ�IUDPH+� WH[W �(IIDFHU �� FRPPDQG VHOI�FOHDU�E�JULG�URZ �� FROXPQ �� FROXPQVSDQ �� SDG\ ��

� IUDPH �OLVWH� �DX PLOLHX�IUDPH0 WN�)UDPH�VHOI�URRW�IUDPH0�SDFN��

VHOI�VFUROO WN�6FUROOEDU�IUDPH0�VHOI�VHOHFW WN�/LVWER[�IUDPH0� \VFUROOFRPPDQG VHOI�VFUROO�VHW� KHLJKW ��VHOI�VFUROO�FRQILJ�FRPPDQG VHOI�VHOHFW�\YLHZ�VHOI�VFUROO�SDFN�VLGH WN�5,*+7� ILOO WN�<� SDG\ ��VHOI�VHOHFW�SDFN�VLGH WN�/()7� ILOO WN�%27+� H[SDQG �� SDG\ ���� UHPSOLVVDJH GH OD /LVWER[IRU L LQ VHOI�SKRQH/LVW�

VHOI�VHOHFW�LQVHUW�WN�(1'� L>�@�VHOI�VHOHFW�ELQG���'RXEOH�%XWWRQ��!�� ODPEGD HYHQW� VHOI�DIILFKHU�HYHQW��

� IUDPH �ERXWRQV� �HQ EDV�IUDPH% WN�)UDPH�VHOI�URRW� UHOLHI WN�*5229(� EG ��IUDPH%�SDFN�SDG\ ��

E� WN�%XWWRQ�IUDPH%� WH[W �$MRXWHU �� FRPPDQG VHOI�DMRXWHU�E� WN�%XWWRQ�IUDPH%� WH[W �6XSSULPHU�� FRPPDQG VHOI�VXSSULPHU�E� WN�%XWWRQ�IUDPH%� WH[W �$IILFKHU �� FRPPDQG VHOI�DIILFKHU�E��SDFN�VLGH WN�/()7� SDG\ ��E��SDFN�VLGH WN�/()7� SDG\ ��E��SDFN�VLGH WN�/()7� SDG\ ��

GHI DMRXWHU�VHOI��SDVV

GHI VXSSULPHU�VHOI��SDVV

GHI DIILFKHU�VHOI� HYHQW 1RQH��SDVV

GHI FOHDU�VHOI��SDVV

� DXWR�WHVW ���������������������������������������������������������LI BBQDPHBB BBPDLQBB�

DSS $OORB,+0�SKRQHV�W[W� � LQVWDQFLH O,+0

$OORB,+0$OOR

� LPSRUWVLPSRUW WNLQWHU DV WNIURP WN3KRQHB,+0 LPSRUW $OORB,+0

� FODVVHVFODVV $OOR�$OORB,+0��

���5«SHUWRLUH W«O«SKRQLTXH����GHI BBLQLWBB�VHOI� ILF SKRQHV�W[W��

Page 72: Cours Python 3

�&RQVWUXFWHXU GH O,+0��$OORB,+0�BBLQLWBB�VHOI� ILF�

GHI DMRXWHU�VHOI��� PDM GH OD OLVWHDMRXW >��� ��@DMRXW>�@ VHOI�QDPH(QW�JHW��DMRXW>�@ VHOI�SKRQH(QW�JHW��LI �DMRXW>�@ ��� RU �DMRXW>�@ ����

UHWXUQVHOI�SKRQH/LVW�DSSHQG�DMRXW�VHOI�SKRQH/LVW�VRUW��� PDM GH OD OLVWHER[VHOI�VHOHFW�GHOHWH��� WN�(1'�IRU L LQ VHOI�SKRQH/LVW�

VHOI�VHOHFW�LQVHUW�WN�(1'� L>�@�VHOI�FOHDU��VHOI�QDPH(QW�IRFXV��� PDM GX ILFKLHUI RSHQ�VHOI�ILF� �D��I�ZULWH���V �V?Q� � �DMRXW>�@� DMRXW>�@��I�FORVH��

GHI VXSSULPHU�VHOI��VHOI�FOHDU��� PDM GH OD OLVWHUHWUDLW >��� ��@UHWUDLW>�@� UHWUDLW>�@ VHOI�SKRQH/LVW>LQW�VHOI�VHOHFW�FXUVHOHFWLRQ��>�@�@VHOI�SKRQH/LVW�UHPRYH�UHWUDLW�� PDM GH OD OLVWHER[VHOI�VHOHFW�GHOHWH��� WN�(1'�IRU L LQ VHOI�SKRQH/LVW�

VHOI�VHOHFW�LQVHUW�WN�(1'� L>�@�� PDM GX ILFKLHUI RSHQ�VHOI�ILF� �Z��IRU L LQ VHOI�SKRQH/LVW�

I�ZULWH���V �V?Q� � �L>�@� L>�@��I�FORVH��

GHI DIILFKHU�VHOI� HYHQW 1RQH��VHOI�FOHDU��QDPH� SKRQH VHOI�SKRQH/LVW>LQW�VHOI�VHOHFW�FXUVHOHFWLRQ��>�@�@VHOI�QDPH(QW�LQVHUW��� QDPH�VHOI�SKRQH(QW�LQVHUW��� SKRQH�

GHI FOHDU�VHOI��VHOI�QDPH(QW�GHOHWH��� WN�(1'�VHOI�SKRQH(QW�GHOHWH��� WN�(1'�

� SURJUDPPH SULQFLSDO ����������������������������������������������������DSS $OOR�� � LQVWDQFLH ODSSOLFDWLRQ

,'/(

,'/(

WNLQWHU

,'/(

Page 73: Cours Python 3
Page 74: Cours Python 3
Page 75: Cours Python 3

KHOS��

KHOS��

!!! KHOS��

:HOFRPH WR 3\WKRQ ���� 7KLV LV WKH RQOLQH KHOS XWLOLW\�

,I WKLV LV \RXU ILUVW WLPH XVLQJ 3\WKRQ� \RX VKRXOG GHILQLWHO\ FKHFN RXWWKH WXWRULDO RQ WKH ,QWHUQHW DW KWWS���GRFV�S\WKRQ�RUJ�WXWRULDO��

(QWHU WKH QDPH RI DQ\ PRGXOH� NH\ZRUG� RU WRSLF WR JHW KHOS RQ ZULWLQJ3\WKRQ SURJUDPV DQG XVLQJ 3\WKRQ PRGXOHV� 7R TXLW WKLV KHOS XWLOLW\ DQGUHWXUQ WR WKH LQWHUSUHWHU� MXVW W\SH �TXLW��

7R JHW D OLVW RI DYDLODEOH PRGXOHV� NH\ZRUGV� RU WRSLFV� W\SH �PRGXOHV���NH\ZRUGV�� RU �WRSLFV�� (DFK PRGXOH DOVR FRPHV ZLWK D RQH�OLQH VXPPDU\RI ZKDW LW GRHV� WR OLVW WKH PRGXOHV ZKRVH VXPPDULHV FRQWDLQ D JLYHQ ZRUGVXFK DV �VSDP�� W\SH �PRGXOHV VSDP��

KHOS! >@QR 3\WKRQ GRFXPHQWDWLRQ IRXQG IRU >@

KHOS! TXLW

<RX DUH QRZ OHDYLQJ KHOS DQG UHWXUQLQJ WR WKH 3\WKRQ LQWHUSUHWHU�,I \RX ZDQW WR DVN IRU KHOS RQ D SDUWLFXODU REMHFW GLUHFWO\ IURP WKHLQWHUSUHWHU� \RX FDQ W\SH �KHOS�REMHFW��� ([HFXWLQJ �KHOS�VWULQJ��KDV WKH VDPH HIIHFW DV W\SLQJ D SDUWLFXODU VWULQJ DW WKH KHOS! SURPSW�!!!

Page 76: Cours Python 3

!!! KHOS�>@�+HOS RQ OLVW REMHFW�

FODVV OLVW�REMHFW�_ OLVW�� �! QHZ HPSW\ OLVW_ OLVW�LWHUDEOH� �! QHZ OLVW LQLWLDOL]HG IURP LWHUDEOHCV LWHPV__ 0HWKRGV GHILQHG KHUH�__ BBDGGBB�����_ [�BBDGGBB�\� � ! [�\__ BBFRQWDLQVBB�����_ [�BBFRQWDLQVBB�\� � ! \ LQ [_

���

__ UHYHUVH�����_ /�UHYHUVH�� �� UHYHUVH ,1 3/$&( __ VRUW�����_ /�VRUW�FPS 1RQH� NH\ 1RQH� UHYHUVH )DOVH� �� VWDEOH VRUW ,1 3/$&( �_ FPS�[� \� �! ��� �� �__ ����������������������������������������������������������������������_ 'DWD DQG RWKHU DWWULEXWHV GHILQHG KHUH�__ BBKDVKBB 1RQH__ BBQHZBB �EXLOW�LQ PHWKRG BBQHZBB RI W\SH REMHFW!_ 7�BBQHZBB�6� ���� �! D QHZ REMHFW ZLWK W\SH 6� D VXEW\SH RI 7

SULQW,QIR��B KHOS��

GHI SULQW,QIR�REMHFW�����)LOWUH OHV P«WKRGHV GLVSRQLEOHV GH �REMHFW!����PHWKRGV >PHWKRG IRU PHWKRG LQ GLU�REMHFW�

LI FDOODEOH�JHWDWWU�REMHFW� PHWKRG�� DQG QRW PHWKRG�VWDUWVZLWK�B�@IRU PHWKRG LQ PHWKRGV�

SULQW�JHWDWWU�REMHFW� PHWKRG��BBGRFBB�

SULQW,QIR�>@�

/�DSSHQG�REMHFW� �� DSSHQG REMHFW WR HQG/�FRXQW�YDOXH� �! LQWHJHU �� UHWXUQ QXPEHU RI RFFXUUHQFHV RI YDOXH/�H[WHQG�LWHUDEOH� �� H[WHQG OLVW E\ DSSHQGLQJ HOHPHQWV IURP WKH LWHUDEOH/�LQGH[�YDOXH� >VWDUW� >VWRS@@� �! LQWHJHU �� UHWXUQ ILUVW LQGH[ RI YDOXH�5DLVHV 9DOXH(UURU LI WKH YDOXH LV QRW SUHVHQW�/�LQVHUW�LQGH[� REMHFW� �� LQVHUW REMHFW EHIRUH LQGH[/�SRS�>LQGH[@� �! LWHP �� UHPRYH DQG UHWXUQ LWHP DW LQGH[ �GHIDXOW ODVW��5DLVHV ,QGH[(UURU LI OLVW LV HPSW\ RU LQGH[ LV RXW RI UDQJH�/�UHPRYH�YDOXH� �� UHPRYH ILUVW RFFXUUHQFH RI YDOXH�5DLVHV 9DOXH(UURU LI WKH YDOXH LV QRW SUHVHQW�/�UHYHUVH�� �� UHYHUVH ,1 3/$&( /�VRUW�FPS 1RQH� NH\ 1RQH� UHYHUVH )DOVH� �� VWDEOH VRUW ,1 3/$&( �FPS�[� \� �! ��� �� �

W\SH�� GLU�� LG��

!!! OL >�� �� �@!!!!!! W\SH�OL��W\SH OLVW!!!!!!! GLU�OL�

Page 77: Cours Python 3

>BBDGGBB� BBFODVVBB� BBFRQWDLQVBB� BBGHODWWUBB� BBGHOLWHPBB�BBGHOVOLFHBB� BBGRFBB� BBHTBB� BBIRUPDWBB� BBJHBB� BBJHWDWWULEXWHBB�BBJHWLWHPBB� BBJHWVOLFHBB� BBJWBB� BBKDVKBB� BBLDGGBB� BBLPXOBB�BBLQLWBB� BBLWHUBB� BBOHBB� BBOHQBB� BBOWBB� BBPXOBB� BBQHBB�BBQHZBB� BBUHGXFHBB� BBUHGXFHBH[BB� BBUHSUBB� BBUHYHUVHGBB� BBUPXOBB�BBVHWDWWUBB� BBVHWLWHPBB� BBVHWVOLFHBB� BBVL]HRIBB� BBVWUBB�BBVXEFODVVKRRNBB� DSSHQG� FRXQW� H[WHQG� LQGH[� LQVHUW� SRS�UHPRYH� UHYHUVH� VRUW@!!!!!! LG�OL���������

V\V

!!! LPSRUW V\V!!!!!! V\V�H[HFXWDEOH�XVU�ELQ�S\WKRQ�!!!!!! V\V�SODWIRUPOLQX[�!!!!!! V\V�YHUVLRQ����� �GHIDXOW� 2FW �� ����� ��������� ?Q>*&& �����@!!!!!! V\V�DUJY>�XVU�ELQ�LS\WKRQ�@!!!!!! V\V�SDWK>�&�??3\WKRQ��??OLE??VLWH�SDFNDJHV??VS\GHUOLE??XWLOV??H[WHUQDO�&�??3\WKRQ��??OLE??VLWH�SDFNDJHV??GRFRSW�������S\����HJJ����&�??3\WKRQ��??OLE??VLWH�SDFNDJHV??3\WKRQZLQ�&�??3\WKRQ��??OLE??VLWH�SDFNDJHV??Z[�����PVZ�XQLFRGH@!!!!!! V\V�PRGXOHV^PDWSORWOLE�BWUL� �PRGXOH PDWSORWOLE�BWUL IURP &�?3\WKRQ��?OLE?VLWH�SDFNDJHV?PDWSORWOLE?BWUL�S\G!�QXPS\�FRUH�LQIR� �PRGXOH QXPS\�FRUH�LQIR IURP &�?3\WKRQ��?OLE?VLWH�SDFNDJHV?QXPS\?FRUH?LQIR�S\F!�PDWSORWOLE�DUWLVW� �PRGXOH PDWSORWOLE�DUWLVW IURP &�?3\WKRQ��?OLE?VLWH�SDFNDJHV?PDWSORWOLE?DUWLVW�S\F!����

� DX OLHX GH FH FRGH �IK 1RQHWU\�

IK RSHQ�ILOHQDPH�IRU OLQH LQ IK�

SURFHVV�OLQH�ILQDOO\�

LI IK LV QRW 1RQH�IK�FORVH��

� LO HVW SOXV VLPSOH G«FULUH �ZLWK RSHQ�ILOHQDPH� DV IK�

IRU OLQH LQ IK�SURFHVV�OLQH�

Page 78: Cours Python 3

DQLPDX[ >@QRPEUHBGHBIHOLQV �

GHI JHUHU&KDW���JOREDO QRPEUHBGHBIHOLQVSULQW��0LDRX��DQLPDX[�DSSHQG��I«OLQ��QRPEUHBGHBIHOLQV � �

GHI JHUHU&KLHQ���SULQW��2XDK��DQLPDX[�DSSHQG��FDQLG«��

GHI JHUHU2XUV���SULQW��$WWHQWLRQ DX 28,//( ���DQLPDX[�DSSHQG��SODQWLJUDGH��

GLFR ^�FKDW� � JHUHU&KDW��FKLHQ� � JHUHU&KLHQ��RXUV� � JHUHU2XUV`

EHWHV >�FKDW�� �RXUV�� �FKDW�� �FKLHQ�@ � XQH OLVWH GDQLPDX[ UHQFRQWU«V

IRU EHWH LQ EHWHV�GLFR>EHWH@�� � DSSHO GH OD IRQFWLRQ FRUUHVSRQGDQWH

QI QRPEUHBGHBIHOLQVSULQW��QRXV DYRQV UHQFRQWU« ^` I«OLQ�V���IRUPDW�QI��SULQW��/HV DQLPDX[ UHQFRQWU«V VRQW � ^`��IRUPDW�� �MRLQ�DQLPDX[�� HQG � ��

���0LDRX$WWHQWLRQ DX 28,//( �0LDRX2XDKQRXV DYRQV UHQFRQWU« � I«OLQ�V�/HV DQLPDX[ UHQFRQWU«V VRQW � I«OLQ� SODQWLJUDGH� I«OLQ� FDQLG«���

bN

N − 1

!!! IURP RV LPSRUW OLVWGLU!!! IURP RV�SDWK LPSRUW LVGLU� MRLQ!!!!!! GHI OLVWH)LFKLHUV3\WKRQ�UHSHUWRLUH����� QRPV OLVWGLU�UHSHUWRLUH���� IRU QRP LQ QRPV���� LI QRP LQ ����� ��������� FRQWLQXH��� LI LVGLU�QRP����� OLVWH)LFKLHUV3\WKRQ�MRLQ�UHSHUWRLUH� QRP����� HOLI QRP�HQGVZLWK���S\�� RU QRP�HQGVZLWK���S\Z������ SULQW��)LFKLHUV 3\WKRQ ��� MRLQ�UHSHUWRLUH� QRP�����!!!!!! OLVWH)LFKLHUV3\WKRQ�U�'�?S\WKXWLO��

Page 79: Cours Python 3

�)LFKLHUV 3\WKRQ �� '�??S\WKXWLO??HDV\JXL??HDV\JXL�S\��)LFKLHUV 3\WKRQ �� '�??S\WKXWLO??HDV\JXL??VHWXS�S\��)LFKLHUV 3\WKRQ �� '�??S\WKXWLO??IORDWBP�S\��)LFKLHUV 3\WKRQ �� '�??S\WKXWLO??0RUVH??JHQH6RQ�S\��)LFKLHUV 3\WKRQ �� '�??S\WKXWLO??0RUVH??PRUVH�S\��)LFKLHUV 3\WKRQ �� '�??S\WKXWLO??0RUVH??PRUVHBP�S\��)LFKLHUV 3\WKRQ �� '�??S\WKXWLO??RNBP�S\��)LFKLHUV 3\WKRQ �� '�??S\WKXWLO??SORWBP�S\��)LFKLHUV 3\WKRQ �� '�??S\WKXWLO??VWDUWXS�S\��)LFKLHUV 3\WKRQ �� '�??S\WKXWLO??YHULIBP�S\�

QRPVIRU

LI QRP LQ ����� ����� �

{x2|x ∈ [2, 11[}⇔ >[ � IRU [ LQ UDQJH��� ���@⇒ >�� �� ��� ��� ��� ��� ��� ��� ���@

b IRUDSSHQG��

UHVXOW� >[�� IRU [ LQ XQHBVHT@� D OH P¬PH HIIHW TXH �UHVXOW� >@IRU [ LQ XQHBVHT�

UHVXOW��DSSHQG�[���

UHVXOW� >[�� IRU [ LQ XQHBVHT LI [ ! ��@� D OH P¬PH HIIHW TXH �UHVXOW� >@IRU [ LQ XQHBVHT�

LI [ ! ���UHVXOW��DSSHQG�[���

UHVXOW� >[�\ IRU [ LQ XQHBVHT IRU \ LQ XQHBDXWUH@� D OH P¬PH HIIHW TXH �UHVXOW� >@IRU [ LQ XQHBVHT�

IRU \ LQ XQHBDXWUH�UHVXOW��DSSHQG�[�\�

YDOHXUVBV >����� ����� �����@� FRQYHUVLRQ GXQH OLVWH GH FKD°QHV HQ OLVWH GHQWLHUYDOHXUVBL >LQW�L� IRU L LQ YDOHXUVBV@ � >��� ��� ���@

� FDOFXO GH OD VRPPH GH OD OLVWH DYHF OD IRQFWLRQ LQW«JU«H VXPSULQW�VXP�>LQW�L� IRU L LQ YDOHXUVBV@�� � ���

� D OH P¬PH HIIHW TXH �V �IRU L LQ YDOHXUVBV�

V V � LQW�L�

Page 80: Cours Python 3

SULQW�V� � ���

� ,QLWLDOLVDWLRQ GXQH OLVWH �'PXOWLBOLVWH >>�@ � IRU OLJQH LQ UDQJH���@SULQW�PXOWLBOLVWH� � >>�� �@� >�� �@� >�� �@@

!!! &BGHJ UDQJH����� ��� ��!!! )BGHJ >������� F � �� IRU F LQ &BGHJ@!!! WDEOH >&BGHJ� )BGHJ@!!! IRU L LQ UDQJH�OHQ�WDEOH>�@������ SULQW�WDEOH>�@>L@� � !�� WDEOH>�@>L@������� ! ������� ! ������ ! ������ ! ����� ! ����� ! ������ ! ������ ! ������ ! ������ ! ������ ! ������ ! ������ ! �����

!!! ^Q � [ � IRU Q� [ LQ HQXPHUDWH�UDQJH����`^�� �� �� �� �� �� �� �� �� ��`

!!! ^Q IRU Q LQ UDQJH���`VHW�>�� �� �� �� �@�

b\LHOG

GHI FRXQWHU�PD[LPXP�����J«QªUH GHV HQWLHUV LQI«ULHXUV RX «JDX[ ¢ �PD[LPXP!����L �ZKLOH 7UXH�

\LHOG LLI L PD[LPXP� � DUU¬W GH J«Q«UDWHXU

UHWXUQL L � �

IRU YDO LQ FRXQWHU����SULQW�YDO� HQG � ��

Page 81: Cours Python 3

� � � � � �

IRU L LQ >[ � IRU [ LQ UDQJH���������@�

IRU L LQ �[ � IRU [ LQ UDQJH�����������

!!! GHI FUHHUBSOXV�DMRXW����� ���)RQFWLRQ IDEULTXH������� GHI SOXV�LQFUHPHQW����� ���)RQFWLRQ IHUPHWXUH � XWLOLVH GHV QRPV ORFDX[ ¢ FUHHUBSOXV��������� UHWXUQ LQFUHPHQW � DMRXW��� UHWXUQ SOXV���!!!!!! S FUHHUBSOXV����!!! T FUHHUBSOXV����!!!!!! SULQW��S����� �� S�������S����� � ����!!! SULQW��T����� �� T�������T����� � ����

!!! FODVV &DV1RUPDO���� GHI XQH0HWKRGH�VHOI����� SULQW��QRUPDO�����!!!!!! FODVV &DV6SHFLDO���� GHI XQH0HWKRGH�VHOI����� SULQW��VS«FLDO�����!!!!!! GHI FDV4XL&RQYLHQW�HVW1RUPDO 7UXH����� ���)RQFWLRQ IDEULTXH UHQYR\DQW XQH FODVVH������� LI HVW1RUPDO���� UHWXUQ &DV1RUPDO����� HOVH���� UHWXUQ &DV6SHFLDO�����!!!!!! XQHBLQVWDQFH FDV4XL&RQYLHQW��!!! XQHBLQVWDQFH�XQH0HWKRGH��

Page 82: Cours Python 3

QRUPDO!!! XQHBLQVWDQFH FDV4XL&RQYLHQW�)DOVH�!!! XQHBLQVWDQFH�XQH0HWKRGH��VS«FLDO

✎ GHFR��

GHI GHFR������

#GHFRGHI IRQFWLRQ�DUJ�� DUJ�� �����

SDVV

GHI I�������

GHI I�������

GHI I�������

#I� #I� #I�GHI J���

SDVV

GHI XQ'HFRUDWHXU�I��FSWU �GHI BLQWHUQH� DUJV� NZDUJV��

QRQORFDO FSWUFSWU FSWU � �SULQW��)RQFWLRQ GHFRU«H ��� I�BBQDPHBB� �� $SSHO QXP«UR ��� FSWU�UHWXUQ I� DUJV� NZDUJV�

UHWXUQ BLQWHUQH

#XQ'HFRUDWHXUGHI XQH)RQFWLRQ�D� E��

UHWXUQ D � E

GHI DXWUH)RQFWLRQ�D� E��UHWXUQ D � E

� SURJUDPPH SULQFLSDO �� XWLOLVDWLRQ GXQ G«FRUDWHXUSULQW�XQH)RQFWLRQ��� ����� XWLOLVDWLRQ GH OD FRPSRVLWLRQ GH IRQFWLRQDXWUH)RQFWLRQ XQ'HFRUDWHXU�DXWUH)RQFWLRQ�SULQW�DXWUH)RQFWLRQ��� ���

SULQW�XQH)RQFWLRQ��� ���SULQW�DXWUH)RQFWLRQ��� ������)RQFWLRQ GHFRU«H � XQH)RQFWLRQ� $SSHO QXP«UR � ��)RQFWLRQ GHFRU«H � DXWUH)RQFWLRQ� $SSHO QXP«UR � ��)RQFWLRQ GHFRU«H � XQH)RQFWLRQ� $SSHO QXP«UR � �

Page 83: Cours Python 3

�)RQFWLRQ GHFRU«H � DXWUH)RQFWLRQ� $SSHO QXP«UR � ������

REMHFW

FDOODEOH��

!!! GHI PD)RQFWLRQ������ SULQW�&HFL HVW �DSSHODEOH�����!!! FDOODEOH�PD)RQFWLRQ�7UXH!!! FKDLQH &HFL HVW �DSSHODEOH�!!! FDOODEOH�FKDLQH�)DOVH

BBFDOOBB��

!!! FODVV $���� GHI BBLQLWBB�VHOI����� VHOI�KLVWRULTXH >@��� GHI BBFDOOBB�VHOI� D� E����� VHOI�KLVWRULTXH�DSSHQG��D� E����� UHWXUQ D � E���!!! D $��!!! D��� ���!!! D��� ���!!! D��� ����!!! D�KLVWRULTXH>��� ��� ��� ��� ��� ��@

BBDWWULE

Page 84: Cours Python 3

BBLGHQW

SURSHUW\

b SURSHUW\

[

���XVU�ELQ�S\WKRQ��� � FRGLQJ� XWI�� � �� ILFKLHU � SURSHUW\�S\

FODVV &�GHI BBLQLWBB�VHOI��

VHOI�BPDBSURSULHWH 1RQH

GHI JHW[�VHOI�����JHWWHU����UHWXUQ VHOI�B[

GHI VHW[�VHOI� YDOXH�����VHWWHU����VHOI�B[ YDOXH

GHI GHO[�VHOI�����GHOHWHU����GHO VHOI�B[

[ SURSHUW\�JHW[� VHW[� GHO[� �-H VXLV OD SURSUL«W« [���

� DXWR�WHVW LI BBQDPHBB BBPDLQBB�

WHVW &��

WHVW�[ �� � VHWWHU

SULQW�WHVW�[� � JHWWHU

SULQW�&�[�BBGRFBB� � GRFXPHQWDWLRQ

�����-H VXLV OD SURSUL«W« [����

[

���XVU�ELQ�S\WKRQ��� � FRGLQJ� XWI�� � �� ILFKLHU � SURSHUW\��S\

FODVV &�GHI BBLQLWBB�VHOI��

VHOI�B[ 1RQH

#SURSHUW\

Page 85: Cours Python 3

GHI [�VHOI�����-H VXLV OD SURSUL«W« [����UHWXUQ VHOI�B[

#[�VHWWHUGHI [�VHOI� YDOXH��

VHOI�B[ YDOXH

#[�GHOHWHUGHI [�VHOI��

GHO VHOI�B[

� DXWR�WHVW LI BBQDPHBB BBPDLQBB�

WHVW &��

WHVW�[ �� � VHWWHU

SULQW�WHVW�[� � JHWWHU

SULQW�&�[�BBGRFBB� � GRFXPHQWDWLRQ

�����-H VXLV OD SURSUL«W« [����

&HUFOH

3RLQW&HUFOH

&HUFOH

3RLQW

FODVV 3RLQW�

GHI BBLQLWBB�VHOI� [ �� \ ���VHOI�[� VHOI�\ [� \

#SURSHUW\GHI GLVWDQFHBRULJLQH�VHOI��

UHWXUQ PDWK�K\SRW�VHOI�[� VHOI�\�

GHI BBHTBB�VHOI� RWKHU��UHWXUQ VHOI�[ RWKHU�[ DQG VHOI�\ RWKHU�\

GHI BBVWUBB�VHOI��

Page 86: Cours Python 3

UHWXUQ ��^��[�V`� ^��\�V`���IRUPDW�VHOI�

SURSHUW\ GLVWDQFHBRULJLQH��

S�� S� 3RLQW��� 3RLQW��� ��SULQW�S� S�� � )DOVHSULQW�S�� S��GLVWDQFHBRULJLQH� � ��� �� ���

SURSHUW\

FODVV &HUFOH�3RLQW��GHI BBLQLWBB�VHOI� UD\RQ� [ �� \ ���

VXSHU���BBLQLWBB�[� \�VHOI�UD\RQ UD\RQ

#SURSHUW\GHI DLUH�VHOI�� UHWXUQ PDWK�SL �VHOI�UD\RQ ��

#SURSHUW\GHI FLUFRQIHUHQFH�VHOI�� UHWXUQ � PDWK�SL VHOI�UD\RQ

#SURSHUW\GHI GLVWDQFHBERUGBRULJLQH�VHOI��

UHWXUQ DEV�VHOI�GLVWDQFHBRULJLQH � VHOI�UD\RQ�

UD\RQ�� BBUD\RQ

#SURSHUW\GHI UD\RQ�VHOI��

UHWXUQ VHOI�BBUD\RQ

#UD\RQ�VHWWHUGHI UD\RQ�VHOI� UD\RQ��

DVVHUW UD\RQ ! �� �UD\RQ VWULFWHPHQW SRVLWLI�VHOI�BBUD\RQ UD\RQ

&HUFOH

GHI BBHTBB�VHOI� RWKHU��UHWXUQ �VHOI�UD\RQ RWKHU�UD\RQ

DQG VXSHU���BBHTBB�RWKHU��

GHI BBVWUBB�VHOI��UHWXUQ ��^��BBFODVVBB�BBQDPHBB`�^��UD\RQ�V`� ^��[�V`� �

�^��\�V`���IRUPDW�VHOI��

LI BBQDPHBB �BBPDLQBB��F� &HUFOH��� �� ��SULQW�F�� F��DLUH� F��FLUFRQIHUHQFH�� &HUFOH��� �� �� ������������� �������������SULQW�F��GLVWDQFHBERUGBRULJLQH� F��UD\RQ� � ��� �F��UD\RQ � � PRGLILFDWLRQ GX UD\RQSULQW�F��GLVWDQFHBERUGBRULJLQH� F��UD\RQ� � ��� �

RSHQ�� LR�6WULQJ,2

FODVV 'XFN�GHI TXDFN�VHOI��

SULQW��4XDDDDDDFN ���

Page 87: Cours Python 3

GHI IHDWKHUV�VHOI��SULQW��7KH GXFN KDV ZKLWH DQG JUD\ IHDWKHUV���

FODVV 3HUVRQ�GHI TXDFN�VHOI��

SULQW��7KH SHUVRQ LPLWDWHV D GXFN���

GHI IHDWKHUV�VHOI��SULQW��7KH SHUVRQ WDNHV D IHDWKHU IURP WKH JURXQG DQG VKRZV LW���

GHI LQBWKHBIRUHVW�GXFN��GXFN�TXDFN��GXFN�IHDWKHUV��

GHI JDPH���GRQDOG 'XFN��MRKQ 3HUVRQ��LQBWKHBIRUHVW�GRQDOG�LQBWKHBIRUHVW�MRKQ�

LI BBQDPHBB BBPDLQBB�JDPH��

���4XDDDDDDFN �7KH GXFN KDV ZKLWH DQG JUD\ IHDWKHUV�7KH SHUVRQ LPLWDWHV D GXFN�7KH SHUVRQ WDNHV D IHDWKHU IURP WKH JURXQG DQG VKRZV LW����

ODPEGD

ODPEGD

✎ ODPEGD >SDUDPHWHUV@�H[SUHVVLRQ

!!! V ODPEGD [� �� LI [ � HOVH �V�!!!!!! V���V!!! V���

!!! GHI I�[����� UHWXUQ [ ����!!! SULQW�I������!!!!!! J ODPEGD [ � [ �!!! SULQW�J������

Page 88: Cours Python 3

PDS ILOWHU UHGXFH

PDS�� ILO�WHU�� UHGXFH��

PDS��

PDS��

!!! PDS�ODPEGD [�[� UDQJH������PDS REMHFW DW �[�I�D�����I��!!!!!!! OLVW�PDS�ODPEGD [�[� UDQJH������>�� �� �� �� �� �� �� �� �� �@

PDS��

ILOWHU��

ILOWHU��

IXQFWLRQ�HOHPHQW� 7UXH

!!! ILOWHU�ODPEGD [� [!�� UDQJH������ILOWHU REMHFW DW �[�I�D������G�!

ILOWHU��

UHGXFH��

UHGXFH�� IXQFWRROV

!!! GHI VRPPH�[� \����� SULQW [� �� \��� UHWXUQ [ � \���!!! UHGXFH�VRPPH� >�� �� �� �@�� � �� � �� � ���!!!!!! VXP�>�� �� �� �@���

UHGXFH�� DOO�� DQ\�� PD[��PLQ�� VXP��

Page 89: Cours Python 3

!!! IURP IXQFWRROV LPSRUW SDUWLDO!!!!!! GHI I�P� F� G� X����� UHWXUQ ���� P � ��� F � �� G � X���!!!!!! I��� �� �� ������!!!!!! J SDUWLDO�I� �� �� ��!!! J�������!!! K SDUWLDO�I� �� ��!!! K��� ������

%XWWRQ

IURP IXQFWRROV LPSRUW SDUWLDOLPSRUW WNLQWHU DV WN

URRW WN�7N��� LQVWDQFLDWLRQ SDUWLHOOH GH FODVVH �0RQ%RXWRQ SDUWLDO�WN�%XWWRQ� URRW� IJ SXUSOH� EJ JUHHQ�0RQ%RXWRQ�WH[W �%RXWRQ ����SDFN��0RQ%RXWRQ�WH[W �%RXWRQ ����SDFN��0RQ%RXWRQ�WH[W �48,77(5�� EJ UHG� IJ EODFN�

FRPPDQG URRW�TXLW��SDFN�ILOO WN�;� H[SDQG 7UXH�URRW�WLWOH��3)$ ���URRW�PDLQORRS��

b

WHVWV FDOFXOV�S\WHVWV�WHVWBFDOFXOV�S\

Page 90: Cours Python 3

XQLWWHVW

XQLWWHVW 3\8QLW -8QLW18QLW -68QLW

68QLW

3\8QLW 7HVW&DVH7HVW&DVH WHVWB

���0RGXOH GH FDOFXOV����

� IRQFWLRQVGHI PR\HQQH� DUJV��

���5HQYRLH OD PR\HQQH����OHQJWK OHQ �DUJV�VXP �IRU DUJ LQ DUJV�

VXP � DUJUHWXUQ VXP�OHQJWK

GHI GLYLVLRQ�D� E�����5HQYRLH OD GLYLVLRQ����UHWXUQ D�E

���0RGXOH GH WHVW GX PRGXOH GH FDOFXOV����

� LPSRUW ����������������������������������������������������������������������LPSRUW V\VLPSRUW XQLWWHVWIURP RV�SDWK LPSRUW DEVSDWK� GLUQDPH

V\V�SDWK�LQVHUW��� GLUQDPH�GLUQDPH��DEVSDWK�BBILOHBB�����IURP FDOFXOV LPSRUW PR\HQQH� GLYLVLRQ

� G«ILQLWLRQ GH FODVVH HW GH IRQFWLRQ �����������������������������������������FODVV &DOFXO7HVW�XQLWWHVW�7HVW&DVH��

GHI WHVWBPR\HQQH�VHOI��VHOI�DVVHUW(TXDOV�PR\HQQH��� �� ��� ��VHOI�DVVHUW(TXDOV�PR\HQQH��� �� ��� ��

GHI WHVWBGLYLVLRQ�VHOI��VHOI�DVVHUW(TXDOV�GLYLVLRQ���� ��� ��VHOI�DVVHUW5DLVHV�=HUR'LYLVLRQ(UURU� GLYLVLRQ� ��� ��

GHI WHVWBVXLWH���WHVWV >XQLWWHVW�PDNH6XLWH�&DOFXO7HVW�@UHWXUQ XQLWWHVW�7HVW6XLWH�WHVWV�

� DXWR�WHVW LI BBQDPHBB BBPDLQBB�

XQLWWHVW�PDLQ��

���������������������������������������������������������������������������5DQ � WHVWV LQ �����V

2.���

Page 91: Cours Python 3

WHVWBWHVWVVXLWH WHVWBVXLWH

UH67

UH6WUXFWXUHG7H[W UH67

GRFXWLOV UH67

UVW�KWPO

UVW�ODWH[

UVW�V�

UVW�SGI

� B � �

Page 92: Cours Python 3

)LFKLHU DX IRUPDW UH67

6HFWLRQ �

2Q HVW GDQV OD VHFWLRQ ��

6RXV�VHFWLRQ������������

&HFL HVW XQH VRXV�VHFWLRQ�

6RXV�VRXV�VHFWLRQ�����������������

&HFL HVW XQH VRXV�VRXV�VHFWLRQ�

�� HW FHFL XQ FRPPHQWDLUH

6HFWLRQ �

/D VHFWLRQ � HVW CCEHDXFRXS SOXVCC LQW«UHVVDQWH TXH OD VHFWLRQ ��

6HFWLRQ �

/D VHFWLRQ � HVW XQ SHX YDQWDUGH � OD VHFWLRQ � HVW WUªV ELHQ �

8QH LPDJH DX IRUPDW �SQJ��������������������������

�� ILJXUH�� KHOHQ�SQJ�VFDOH� ���

UVW�SGI ☞�SGI

GRFWHVW

(S\GRF

GRFWHVW

GRFXPHQWDWLRQ��S\

� � � FRGLQJ� XWI�� � ����0RGXOH GHVVDL GH GRFWHVW����

LPSRUW GRFWHVW

GHI VRPPH�D� E�����5HQYRLH D � E�

!!! VRPPH��� ���!!! VRPPH��� ��

Page 93: Cours Python 3

����UHWXUQ D�E

LI BBQDPHBB BBPDLQBB�SULQW��^��A��`��IRUPDW�� 0RGH VLOHQFLHX[ ���GRFWHVW�WHVWPRG��SULQW��6L WRXW YD ELHQ� RQ D ULHQ YX ���

SULQW��?Q^��A��`��IRUPDW�� 0RGH G«WDLOO« ���GRFWHVW�WHVWPRG�YHUERVH 7UXH�

����������� 0RGH VLOHQFLHX[ ������������6L WRXW YD ELHQ� RQ D ULHQ YX �

����������� 0RGH G«WDLOO« ������������7U\LQJ�

VRPPH��� ��([SHFWLQJ�

�RN7U\LQJ�

VRPPH��� ��([SHFWLQJ�

�RN� LWHPV KDG QR WHVWV�

BBPDLQBB� LWHPV SDVVHG DOO WHVWV�

� WHVWV LQ BBPDLQBB�VRPPH� WHVWV LQ � LWHPV�� SDVVHG DQG � IDLOHG�7HVW SDVVHG�

GRFXPHQWDWLRQ��S\

� � � FRGLQJ� 87)�� � ����0RGXOH GHVVDL GH GRFWHVW����

� IRQFWLRQVGHI DFFHQW(WUDQJH�WH[WH��

���$MRXWH XQ DFFHQW «WUDQJH ¢ XQ WH[WH�

/HV U VRQW 7ULSO«V� OHV H VXLYL GXQ X

([HPSOH �

!!! WH[WH �(VW�FH TXH WX DV UHJDUG« OD W«O« KLHU VRLU " ,O \ DYDLW XQ WK«PD VXU OHV UDPDVVHXUV GHVFDUJRWV HQ/DSRQLH� LOV HQ EDYHQW����

!!! DFFHQW(WUDQJH�WH[WH�(VW�FHX TXHX WX DV U5UHXJDU5UG« OD W«O« KLHXU5U VRLU5U " ,O \ DYDLW XQ WK«PD VXU5U OHXV U5UDPDVVHXXU5UV G

HXVFDU5UJRWV HXQ /DSRQLHX� LOV HXQ EDYHXQW���

&HWWH WHFKQLTXH SHUPHW GLQWHUQDWLRQQDOLVHU OHV DSSOLFDWLRQVSRXU OHV UHQGUH FRPSDWLEOHV DYHF FHUWDLQHV U«JLRQV IUDQ©DLVHV����WH[WH WH[WH�UHSODFH�U� U5U�SULQW�WH[WH�UHSODFH�H� HX��

GHI BWHVW���LPSRUW GRFWHVWGRFWHVW�WHVWPRG�YHUERVH 7UXH�

LI BBQDPHBB BBPDLQBB�BWHVW��

Page 94: Cours Python 3

7U\LQJ�WH[WH �(VW�FH TXH WX DV UHJDUG« OD W«O« KLHU VRLU " ,O \ DYDLW XQ WK«PD VXU OHV UDPDVVHXUV GHVFDUJRWV HQ /DSRQLH

� LOV HQ EDYHQW����([SHFWLQJ QRWKLQJRN7U\LQJ�

DFFHQW(WUDQJH�WH[WH�([SHFWLQJ�

(VW�FHX TXHX WX DV U5UHXJDU5UG« OD W«O« KLHXU5U VRLU5U " ,O \ DYDLW XQ WK«PD VXU5U OHXV U5UDPDVVHXXU5UV GHXVFDU5UJRWV HXQ /DSRQLHX� LOV HXQ EDYHXQW���

RN� LWHPV KDG QR WHVWV�

BBPDLQBBBBPDLQBB�BWHVW

� LWHPV SDVVHG DOO WHVWV�� WHVWV LQ BBPDLQBB�DFFHQW(WUDQJH

� WHVWV LQ � LWHPV�� SDVVHG DQG � IDLOHG�7HVW SDVVHG�

GRFWHVW�WHVWILOH��

GRFWHVW��S\

/H PRGXOH CCDFFHQWCC

7HVW GH OD IRQFWLRQ CCDFFHQW(WUDQJHCC�������������������������������������

&H PRGXOH IRXUQLW XQH IRQFWLRQ CCDFFHQW(WUDQJHCC�2Q SHXW DLQVL DMRXWHU XQ DFFHQW ¢ XQ WH[WH �

!!! IURP GRFWHVW� LPSRUW DFFHQW(WUDQJH!!! WH[WH �(VW�FH TXH WX DV UHJDUG« OD W«O« KLHU VRLU " ,O \ DYDLW XQ WK«PD VXUOHV UDPDVVHXUV GHVFDUJRWV HQ /DSRQLH� LOV HQ EDYHQW����!!! DFFHQW(WUDQJH�WH[WH�(VW�FHX TXHX WX DV U5UHXJDU5UG« OD W«O« KLHXU5U VRLU5U " ,O \ DYDLW XQ WK«PD VXU5UOHXV U5UDPDVVHXXU5UV GHXVFDU5UJRWV HXQ /DSRQLHX� LOV HXQ EDYHXQW���

/HV CCUCC VRQW WULSO«V HW OHV CCHCC «SDXO«V SDU GHV CCXCC� &HWWH WHFKQLTXH SHUPHWGH VH SDVVHU GH V\VWªPHV GH WUDGXFWLRQV FRPSOH[HV SRXU IDLUH IRQFWLRQQHUOHV ORJLFLHOV GDQV FHUWDLQHV U«JLRQV�

LPSRUW GRFWHVWGRFWHVW�WHVWILOH��WHVWBGRFXPHQWDWLRQ��W[W�� YHUERVH 7UXH�

UVW�KWPO WHVWBGRFXPHQWDWLRQ��W[W WHVWBGRFXPHQWDWLRQ��KWPO

Page 95: Cours Python 3
Page 96: Cours Python 3

WHVWBGRFXPHQWDWLRQ��S\

Page 97: Cours Python 3
Page 98: Cours Python 3
Page 99: Cours Python 3
Page 100: Cours Python 3
Page 101: Cours Python 3

KWWS���S\SL�S\WKRQ�RUJ�

Page 102: Cours Python 3

YDULDEOHVLI FRQGLWLRQ �

IRU YDULDEOH LQ V«TXHQFH �ZKLOH FRQGLWLRQV �

IRQF�WLRQV

UHWXUQ YDULDEOH

Page 103: Cours Python 3

←→

VWU��

Page 104: Cours Python 3

« ��� &� $�

� � � FRGLQJ� ODWLQ�� � �

� � � FRGLQJ� 87)�� � �

Page 105: Cours Python 3

b n

57n = (5× n1) + (7× n0)

b n

5716 = (5× 161) + (7× 160) = 8710

578 = (5× 81) + (7× 80) = 4710

Page 106: Cours Python 3
Page 107: Cours Python 3

✓✠ ✠✠

n 3$,5 ,03$,5

(QWUH] XQ HQWLHU VWULFWHPHQW SRVLWLI � ��'LYLVHXUV SURSUHV VDQV ౩౩USWLWLRQ GH �� � � � � � �VRLW � GLYLVHXUV SURSUHV�

(QWUH] XQ HQWLHU VWULFWHPHQW SRVLWLI � �� 'LYLVHXUV SURSUHV VDQV౩౩USWLWLRQ GH �� � DXFXQ � ,O HVW SUHPLHU

e =n!

i=0

1

i!

KDXWHXU3DUFRXUXH

(QWUH] XQ HQWLHU VWULFWHPHQW SRVLWLI � ��'LYLVHXUV SURSUHV VDQV ౩౩USWLWLRQ GH �� � � � � � �VRLW � GLYLVHXUV SURSUHV�

(QWUH] XQ HQWLHU VWULFWHPHQW SRVLWLI � �� 'LYLVHXUV SURSUHV VDQV౩౩USWLWLRQ GH �� � DXFXQ � ,O HVW SUHPLHU

Page 108: Cours Python 3

DPHQGH

WFKDFDWFKDF

�D� �W� �J� �F�

YDOLGH

VDLVLH

SURSRUWLRQ

VDLVLH

,O \ D ����� � GH �FD� GDQV YRWUH FKD°QH�

OLVW$OHD,QW�Q� D� E� Q >D �� E@UDQGLQW�a, b� UDQGRP

OLVW$OHD,QW��

OLVW$OHD)ORDW�Q� QUDQGRP�� UDQGRP

Q >� �� ���@OLVW$OHD)ORDW��

PLQ0D[0R\>��� ���

��� ��� ��� ��@

]LS��✠

n 2 < n < 100✠

Page 109: Cours Python 3

n n

n

✠✠nbd s nbd

6.nbd s nbd

✠✠

Q Q Q

D (a + n + n2) Q 0 ≤ n < (a − 1)

SDUIDLWBFKDQFHX[BP�S\ VRP'LY HVW3DUIDLW HVW�3UHPLHU HVW&KDQFHX[

VRP'LY

HVW3UHPLHU7UXH )DOVH

YHULI VRP'LY����HVW3DUIDLW��� HVW3UHPLHU���� HVW&KDQFHX[����

SDUIDLWBFKDQFHX[�S\SDUIDLWV FKDQFHX[

[2, 1000]

� � � FRGLQJ� XWI�� � ����9ROXPH GXQ F¶QH GURLW����

� LPSRUWVIURP PDWK LPSRUW SL

� SURJUDPPH SULQFLSDO �����������������������������������������������UD\RQ IORDW�LQSXW��5D\RQ GX F¶QH �P� � ���KDXWHXU IORDW�LQSXW��+DXWHXU GX F¶QH �P� � ���

YROXPH �SL UD\RQ UD\RQ KDXWHXU�����SULQW��9ROXPH GX F¶QH �� YROXPH� �P���

� � � FRGLQJ� XWI�� � ����&DOFXO GXQ SUL[ 77&����

� SURJUDPPH SULQFLSDO �����������������������������������������������SUL[+7 IORDW�LQSXW��3UL[ +7 �� SRXU WHUPLQHU�" ���ZKLOH SUL[+7 ! ��

SULQW��3UL[ 77& � ^���I`?Q��IRUPDW�SUL[+7 �������SUL[+7 IORDW�LQSXW��3UL[ +7 �� SRXU WHUPLQHU�" ���

SULQW��$X UHYRLU ���

� � � FRGLQJ� XWI�� � ����6RPPH GHQWLHUV HW QRPEUH GHQWLHUV VXS«ULHXU ¢ �������

� SURJUDPPH SULQFLSDO �����������������������������������������������

Page 110: Cours Python 3

VRPPH� QRPEUH7RWDO� QRPEUH*UDQGV �� �� �

[ LQW�LQSXW��[ �� SRXU WHUPLQHU� " ���ZKLOH [ ! ��

VRPPH � [QRPEUH7RWDO � �LI [ ! ����

QRPEUH*UDQGV � �[ LQW�LQSXW��[ �� SRXU WHUPLQHU� " ���

SULQW��?Q6RPPH ��� VRPPH�SULQW�QRPEUH7RWDO� �YDOHXU�V� HQ WRXW� GRQW�� QRPEUH*UDQGV� �VXS«ULHXUH�V� ¢ �����

� � � FRGLQJ� XWI�� � ����3DULW«����

� SURJUDPPH SULQFLSDO �����������������������������������������������Q LQW�LQSXW��(QWUH] XQ HQWLHU VWULFWHPHQW SRVLWLI � ���ZKLOH Q � ��

Q LQW�LQSXW��(QWUH] XQ HQWLHU 675,&7(0(17 326,7,)� V�Y�S� � ���

LI Q�� ��SULQW�Q� �HVW SDLU���

HOVH�SULQW�Q� �HVW LPSDLU���

� � � FRGLQJ� XWI�� � ����1RPEUH GH IRLV TXXQ HQWLHU HVW GLYLVLEOH SDU �����

� SURJUDPPH SULQFLSDO �����������������������������������������������Q LQW�LQSXW��(QWUH] XQ HQWLHU VWULFWHPHQW SRVLWLI � ���ZKLOH Q � ��

Q LQW�LQSXW��(QWUH] XQ HQWLHU 675,&7(0(17 326,7,)� V�Y�S� � ���VDYH Q

FSW �ZKLOH Q�� ��

Q � �FSW � �

SULQW�VDYH� �HVW�� FSW� �IRLV GLYLVLEOH SDU ����

� � � FRGLQJ� XWI�� � ����'LYLVHXUV SURSUHV GXQ HQWLHU����

� SURJUDPPH SULQFLSDO �����������������������������������������������Q LQW�LQSXW��(QWUH] XQ HQWLHU VWULFWHPHQW SRVLWLI � ���ZKLOH Q � ��

Q LQW�LQSXW��(QWUH] XQ HQWLHU 675,&7(0(17 326,7,)� V�Y�S� � ���

L � � SOXV SHWLW GLYLVHXU SRVVLEOH GH QFSW � � LQLWLDOLVH OH FRPSWHXU GH GLYLVLRQVS Q�� � FDOFXO« XQH IRLV GDQV OD ERXFOH

SULQW��'LYLVHXUV SURSUHV VDQV U«S«WLWLRQ GH �� Q� ���� HQG �ZKLOH L � S�

LI Q�L ��FSW � �SULQW�L� HQG �

L � �

LI QRW FSW�SULQW��DXFXQ � ,O HVW SUHPLHU���

HOVH�SULQW���VRLW�� FSW� �GLYLVHXUV SURSUHV���

� � � FRGLQJ� XWI�� � ����$SSUR[LPDWLRQ GH H����

� IRQFWLRQGHI IDFW�Q��

U �IRU L LQ UDQJH��� Q����

Page 111: Cours Python 3

U LUHWXUQ U

� SURJUDPPH SULQFLSDO �����������������������������������������������Q LQW�LQSXW��Q " ���H[S ���IRU L LQ UDQJH�Q��

H[S H[S � ����IDFW�L�

SULQW��$SSUR[LPDWLRQ GH H � ^���I`��IRUPDW�H[S��

� � � FRGLQJ� XWI�� � ����*DUGLHQ GH SKDUH����

� IRQFWLRQGHI KDXWHXU3DUFRXUXH�QE� K��

SULQW��3RXU ^�G` PDUFKHV GH ^�G` FP� LO SDUFRXUW ^���I` P SDU VHPDLQH���IRUPDW�QE� K� QE K � � ���������

� SURJUDPPH SULQFLSDO �����������������������������������������������QE0DUFKHV LQW�LQSXW��&RPELHQ GH PDUFKHV " ���KDXWHXU0DUFKH LQW�LQSXW��+DXWHXU GXQH PDUFKH �FP� " ���

KDXWHXU3DUFRXUXH�QE0DUFKHV� KDXWHXU0DUFKH�

� � � FRGLQJ� XWI�� � ����3HUPLV GH FKDVVH����

� IRQFWLRQGHI SHUPLV6XS�S� F� Y� D��

SRLQWV3HUGXV S � � F � � Y � �� DQEUH3HUPLV SRLQWV3HUGXV������UHWXUQ ��� QEUH3HUPLV

� SURJUDPPH SULQFLSDO �����������������������������������������������SRXOHV LQW�LQSXW��&RPELHQ GH SRXOHV " ���FKLHQV LQW�LQSXW��&RPELHQ GH FKLHQV " ���YDFKHV LQW�LQSXW��&RPELHQ GH YDFKHV " ���DPLV LQW�LQSXW��&RPELHQ GDPLV " ���

SD\HU SHUPLV6XS�SRXOHV� FKLHQV� YDFKHV� DPLV�

SULQW��?Q$ SD\HU ��� HQG �LI SD\HU ��

SULQW��ULHQ ¢ SD\HU��HOVH�

SULQW�SD\HU� �HXURV��

� � � FRGLQJ� XWI�� � ����+LVWRLUH GH WUDLQ����

� IRQFWLRQGHI WFKDFDWFKDF�Y��

���$IILFKH OKHXUH GX GUDPH����KHXUH � � LQW�����Y�PLQXWH ��� ��� � Y� � ��SULQW��$�� Y� �NP�K� MH PH IDLV G«FKLTXHWHU ¢�� KHXUH� �K�� PLQXWH� �PLQ���

� SURJUDPPH SULQFLSDO �����������������������������������������������L ���ZKLOH L � ����

WFKDFDWFKDF�L�L � ��

� � � FRGLQJ� XWI�� � ����3URSRUWLRQ GXQH V«TXHQFH GDQV XQH FKD°QH G$'1����

� IRQFWLRQVGHI YDOLGH�VHT��

���5HWRXUQH YUDL VL OD V«TXHQFH HVW YDOLGH� IDX[ VLQRQ����UHW DQ\�VHT�IRU F LQ VHT�

UHW UHW DQG F LQ �DWJF�UHWXUQ UHW

Page 112: Cours Python 3

GHI SURSRUWLRQ�D� V�����5HWRXUQH OD SURSRUWLRQ GH OD V«TXHQFH �V! GDQV OD FKD°QH �D!����UHWXUQ ��� D�FRXQW�V��OHQ�D�

GHI VDLVLH�FK��V LQSXW��^�V` � ��IRUPDW�FK��ZKLOH QRW YDOLGH�V��

SULQW��^�V` QH SHXW FRQWHQLU TXH OHV FKD°QRQV D� W� J HW F HW�� QH GRLW SDV ¬WUH YLGH��IRUPDW�FK��

V LQSXW��^�V` � ��IRUPDW�FK��UHWXUQ V

� SURJUDPPH SULQFLSDO �����������������������������������������������DGQ VDLVLH��FKD°QH��VHT VDLVLH��V«TXHQFH��

SULQW�,O \ D ^���I` � GH �^�V`� GDQV YRWUH FKD°QH��IRUPDW�SURSRUWLRQ�DGQ� VHT�� VHT��

� � � FRGLQJ� XWI�� � ����(FKDQJHV����

� LPSRUWVIURP UDQGRP LPSRUW VHHG� UDQGLQW

� IRQFWLRQGHI OLVW$OHD,QW�Q� D� E��

���5HWRXUQH XQH OLVWH GH �Q! HQWLHUV DO«DWRLUHV GDQV >�D! �� �E!@����UHWXUQ >UDQGLQW�D� E� IRU L LQ UDQJH�Q�@

� SURJUDPPH SULQFLSDO �����������������������������������������������VHHG�� � LQLWLDOLVH OH J«Q«UDWHXU GH QRPEUHV DO«DWRLUHVW OLVW$OHD,QW����� �� ���� � FRQVWUXFWLRQ GH OD OLVWH

� FDOFXO GH OLQGH[ GX PLQLPXP GH OD OLVWHL0LQ W�LQGH[�PLQ�W��

SULQW��$YDQW «FKDQJH ���SULQW��?WW>�@ �� W>�@� �?WW>L0LQ@ �� W>L0LQ@�W>�@� W>L0LQ@ W>L0LQ@� W>�@ � «FKDQJHSULQW��$SUHV «FKDQJH ���SULQW��?WW>�@ �� W>�@� �?WW>L0LQ@ �� W>L0LQ@�

� � � FRGLQJ� XWI�� � ����$PSOLWXGH HW PR\HQQH GXQH OLVWH GH IORWWDQWV����

� LPSRUWVIURP UDQGRP LPSRUW VHHG� UDQGRP

� IRQFWLRQVGHI OLVW$OHD)ORDW�Q��

�5HWRXUQH XQH OLVWH GH �Q! IORWWDQWV DO«DWRLUHV�UHWXUQ >UDQGRP�� IRU L LQ UDQJH�Q�@

� SURJUDPPH SULQFLSDO �����������������������������������������������Q LQW�LQSXW��(QWUH] XQ HQWLHU >� �� ���@ � ���ZKLOH QRW�Q ! � DQG Q � �����

Q LQW�LQSXW��(QWUH] XQ HQWLHU >� �� ���@� V�Y�S� � ���

VHHG�� � LQLWLDOLVH OH J«Q«UDWHXU GH QRPEUHV DO«DWRLUHVW OLVW$OHD)ORDW�Q� � FRQVWUXFWLRQ GH OD OLVWH

SULQW��$PSOLWXGH � ^���I`��IRUPDW�PD[�W� � PLQ�W���SULQW��0R\HQQH � ^���I`��IRUPDW�VXP�W��Q��

� � � FRGLQJ� XWI�� � ����0LQ� PD[ HW PR\HQQH GXQH OLVWH GHQWLHUV����

� IRQFWLRQGHI PLQ0D[0R\�OLVWH��

���5HQYRLH OH PLQ� OH PD[ HW OD PR\HQQH GH OD OLVWH����PLQ� PD[� VRP OLVWH>�@� OLVWH>�@� IORDW�OLVWH>�@�

Page 113: Cours Python 3

IRU L LQ OLVWH>��@�LI L � PLQ�

PLQ LLI L ! PD[�

PD[ LVRP � L

UHWXUQ �PLQ� PD[� VRP�OHQ�OLVWH��

� SURJUDPPH SULQFLSDO �����������������������������������������������OS >��� ��� ��� ��� ��� ��@

SULQW��OLVWH �� OS�O PLQ0D[0R\�OS�SULQW��PLQ � ^�>�@`� PD[ � ^�>�@`� PR\ � ^�>�@`��IRUPDW�O��

� � � FRGLQJ� XWI�� � ����1RPEUHV URPDLQV �YHUVLRQ ������

� SURJUDPPH SULQFLSDO �����������������������������������������������Q LQW�LQSXW�(QWUH] XQ HQWLHU >� �� ����> � ��ZKLOH QRW�Q ! � DQG Q � ������

Q LQW�LQSXW�(QWUH] XQ HQWLHU >� �� ����>� V�Y�S� � ��

V �� � &KD°QH U«VXOWDQWH

ZKLOH Q ! �����V � �0�Q � ����

LI Q ! ����V � �&0�Q � ���

LI Q ! ����V � �'�Q � ���

LI Q ! ����V � �&'�Q � ���

ZKLOH Q ! ����V � �&�Q � ���

LI Q ! ���V � �;&�Q � ��

LI Q ! ���V � �/�Q � ��

LI Q ! ���V � �;/�Q � ��

ZKLOH Q ! ���V � �;�Q � ��

LI Q ! ��V � �,;�Q � �

LI Q ! ��V � �9�Q � �

LI Q ! ��V � �,9�Q � �

ZKLOH Q ! ��

Page 114: Cours Python 3

V � �,�Q � �

SULQW��(Q URPDLQ ��� V�

� � � FRGLQJ� XWI�� � ����1RPEUHV URPDLQV �YHUVLRQ ������

� JOREDOHVFRGH ]LS�

>�������� �������� ������� ��� ��� ��� �� �� �� ��@�>�0� ��&0���'���&'���&���;&���/���;/���;���,;���9���,9���,�@

� IRQFWLRQGHI GHF7R5RPDQ�QXP��

UHV >@IRU G� U LQ FRGH�

ZKLOH QXP ! G�UHV�DSSHQG�U�QXP � G

UHWXUQ �MRLQ�UHV�

� SURJUDPPH SULQFLSDO �����������������������������������������������IRU L LQ UDQJH��� ������

SULQW�L� GHF7R5RPDQ�L��

� � � FRGLQJ� XWI�� � ����/LVWH GHQWLHUV GLII«UHQWV����

� LPSRUWVIURP UDQGRP LPSRUW VHHG� UDQGLQW

� IRQFWLRQGHI OLVW$OHD,QW�Q� D� E��

���5HWRXUQH XQH OLVWH GH �Q! HQWLHUV DO«DWRLUHV HQWUH �D! HW �E!����UHWXUQ >UDQGLQW�D� E� IRU L LQ UDQJH�Q�@

� SURJUDPPH SULQFLSDO �����������������������������������������������Q LQW�LQSXW��(QWUH] XQ HQWLHU >� �� ���@ � ���ZKLOH QRW�Q ! � DQG Q � �����

Q LQW�LQSXW��(QWUH] XQ HQWLHU >� �� ���@� V�Y�S� � ���

� FRQVWUXFWLRQ GH OD OLVWHVHHG�� � LQLWLDOLVH OH J«Q«UDWHXU GH QRPEUHV DO«DWRLUHVW OLVW$OHD,QW�Q� �� ����

� 6RQW�LOV GLII«UHQWV "WRXV'LII 7UXHL �ZKLOH WRXV'LII DQG L � �Q����

M L � �ZKLOH WRXV'LII DQG M � Q�

LI W>L@ W>M@�WRXV'LII )DOVH

HOVH�M � �

L � �

SULQW��?Q�� W� HQG �LI WRXV'LII�

SULQW��� WRXV OHV «O«PHQWV VRQW GLVWLQFWV���HOVH�

SULQW��� DX PRLQV XQH YDOHXU HVW U«S«W«H���

� � � FRGLQJ� XWI�� � ����-HX GH G«V �������

� SURJUDPPH SULQFLSDO �����������������������������������������������Q LQW�LQSXW��(QWUH] XQ HQWLHU >� �� ��@ � ���ZKLOH QRW�Q ! � DQG Q � ����

Q LQW�LQSXW��(QWUH] XQ HQWLHU >� �� ��@� V�Y�S� � ���

Page 115: Cours Python 3

V �IRU L LQ UDQJH��� ���

IRU M LQ UDQJH��� ���LI L�M Q�

V � �

SULQW��,O \ D ^�G` ID©RQ�V� GH IDLUH ^�G` DYHF GHX[ G«V���IRUPDW�V� Q��

� � � FRGLQJ� XWI�� � ����-HX GH G«V �������

� SURJUDPPH SULQFLSDO �����������������������������������������������Q LQW�LQSXW��(QWUH] XQ HQWLHU >� �� ��@ � ���ZKLOH QRW�Q ! � DQG Q � ����

Q LQW�LQSXW��(QWUH] XQ HQWLHU >� �� ��@� V�Y�S� � ���

V �IRU L LQ UDQJH��� ���

IRU M LQ UDQJH��� ���IRU N LQ UDQJH��� ���

LI L�M�N Q�V � �

SULQW��,O \ D ^�G` ID©RQ�V� GH IDLUH ^�G` DYHF WURLV G«V���IRUPDW�V� Q��

� � � FRGLQJ� XWI�� � ����-HX GH G«V �������

� JOREDOH0$; �

� SURJUDPPH SULQFLSDO �����������������������������������������������QEG LQW�LQSXW��1RPEUH GH G«V >� �� ^�G`@ � ��IRUPDW�0$;���ZKLOH QRW�QEG ! �DQG QEG � 0$;��

QEG LQW�LQSXW��1RPEUH GH G«V >� �� ^�G`@� V�Y�S� � ��IRUPDW�0$;���

V LQW�LQSXW��(QWUH] XQ HQWLHU >^�G` �� ^�G`@ � ��IRUPDW�QEG� � QEG���ZKLOH QRW�V ! QEG DQG V � � QEG��

V LQW�LQSXW��(QWUH] XQ HQWLHU >^�G` �� ^�G`@� V�Y�S� � ��IRUPDW�QEG� � QEG���

LI V QEG RU V � QEG�FSW � � � VHXOH VROXWLRQ

HOVH�, >�@ QEG � LQLWLDOLVH XQH OLVWH GH �QEG! G«VFSW� M �� �ZKLOH M � QEG�

VRP VXP�>,>N@ IRU N LQ UDQJH�QEG�@�

LI VRP V�FSW � � � FRPSWHXU GH ERQQHV VROXWLRQV

LI VRP � QEG�EUHDN

M �LI ,>M@ � ��

,>M@ � �HOVH�

ZKLOH ,>M@ ��,>M@ �M � �

,>M@ � �

SULQW��,O \ D ^�G` ID©RQV GH IDLUH ^�G` DYHF ^�G` G«V���IRUPDW�FSW� V� QEG��

� � � FRGLQJ� XWI�� � ����-HX GH G«V �U«FXUVLI�����

� JOREDOH0$; �

� IRQFWLRQGHI FDOFXO�G� Q��

���&DOFXO U«FXUVLI GX QRPEUH GH ID©RQV GH IDLUH �Q! DYHF �G! G«V����

Page 116: Cours Python 3

UHVXOWDW� GHEXW �� �LI �G �� RU �Q G� RU �Q � G�� � FRQGLWLRQV WHUPLQDOHV

UHWXUQ �HOVH� � VLQRQ DSSHOV U«FXUVLIV

LI Q ! � �G���� � RSWLPLVDWLRQ LPSRUWDQWHGHEXW Q � � �G���

IRU L LQ UDQJH�GHEXW� ���LI Q L�

EUHDNUHVXOWDW � FDOFXO�G��� Q�L�

UHWXUQ UHVXOWDW

� SURJUDPPH SULQFLSDO �����������������������������������������������G LQW�LQSXW��1RPEUH GH G«V >� �� ^�G`@ � ��IRUPDW�0$;���ZKLOH QRW�G ! �DQG G � 0$;��

G LQW�LQSXW��1RPEUH GH G«V >� �� ^�G`@� V�Y�S� � ��IRUPDW�0$;���

Q LQW�LQSXW��(QWUH] XQ HQWLHU >^�G` �� ^�G`@ � ��IRUPDW�G� � G���ZKLOH QRW�Q ! G DQG Q � � G��

Q LQW�LQSXW��(QWUH] XQ HQWLHU >^�G` �� ^�G`@� V�Y�S� � ��IRUPDW�G� � G���

SULQW��,O \ D ^�G` ID©RQ�V� GH IDLUH ^�G` DYHF ^�G` G«V���IRUPDW�FDOFXO�G� Q�� Q� G��

� � � FRGLQJ� XWI�� � ����PRGXOH GH[HPSOH GH SRO\PRUSKLVPH����

� FODVVHVFODVV 5HFWDQJOH�

���FODVVH GHV UHFWDQJOHV����GHI BBLQLWBB�VHOI� ORQJXHXU ��� ODUJHXU ����

���&RQVWUXFWHXU DYHF YDOHXUV SDU G«IDXW����VHOI�ORQ ORQJXHXUVHOI�ODU ODUJHXUVHOI�QRP �UHFWDQJOH�

GHI VXUIDFH�VHOI�����&DOFXOH OD VXUIDFH GXQ UHFWDQJOH����UHWXUQ VHOI�ORQ VHOI�ODU

GHI BBVWUBB�VHOI�����$IILFKDJH GHV FDUDFW«ULVWLTXHV GXQ UHFWDQJOH����UHWXUQ �?Q/H ^�V` GH F¶W«V ^�V` HW ^�V` D XQH VXUIDFH GH ^�V`�

�IRUPDW�VHOI�QRP� VHOI�ORQ� VHOI�ODU� VHOI�VXUIDFH���

FODVV &DUUH�5HFWDQJOH�����FODVVH GHV FDUU«V �K«ULWH GH 5HFWDQJOH�����GHI BBLQLWBB�VHOI� FRWH ����

���&RQVWUXFWHXU DYHF YDOHXU SDU G«IDXW���5HFWDQJOH�BBLQLWBB�VHOI� FRWH� FRWH�VHOI�QRP �FDUU«� � VXUFKDJH GDWWULEXW GLQVWDQFH

� $XWR�WHVW ���������������������������������������������������������LI BBQDPHBB BBPDLQBB�

U 5HFWDQJOH���� ��SULQW U

F &DUUH��SULQW F

Page 117: Cours Python 3

>>>

�WR� OLE�WR� 7RRO�V�FLSWV��WR�

KDVDWWW��FROOHFWLRQV QXPEHUV LR

DEF

D R R�D

�S\F �S\R

LQW������ ����

Page 118: Cours Python 3

� ����� LQW IORDW

7\SH(UURUIORDW�������

�����

M ���MPDWK FPDWK

ZLWK BBHQ�WHUBB�� BBH[LWBB��

#ZUDSSHU

FODVVPHWKRG�� VWDWLFPHWKRG��

GHI I���������

I VWDWLFPHWKRG�I�

#VWDWLFPHWKRGGHI I������

���

BBJHWBB�� BBVHWBB�� BBGHOHWHBB��

D�E E D EBBJHWBB��

GLFW OLVWBBKDVKBB�� KDVK

BBGRFBB

Page 119: Cours Python 3

W\SH�� LVLQVWDQFH��

KDVDWWU��

WU\ H[FHSW

LI

ILQGBPRGXOH��

������� � ����

BBIXWXUHBB

!!! LPSRUW BBIXWXUHBB!!! BBIXWXUHBB�GLYLVLRQB)HDWXUH���� �� �� DOSKD� ��� ��� �� �� DOSKD� ��� �����

\LHOGUHWXUQ IRU ZKLOH

\LHOGQH[W��

IRU LI

Page 120: Cours Python 3

!!! VXP�L L IRU L LQ UDQJH����� � VRPPH GHV ౩FDUUV �� �� �� ��� �����

BBKDVKBB�� BBHTBB��

VHW

LG��

S\WKRQ

KHOS�[�

OLVW VWU WXSOHGLFW ILOHBBLWHUBB�� BBJHWLWHPBB��

IRU ]LS��PDS�� LWHU��

Page 121: Cours Python 3

LWHU�� IRU

BBQH[WBB��QH[W��

6WRS,WHUDWLRQQH[W��

6WRS,WHUDWLRQ BBLWHUBB��

OLVWLWHU�� IRU

YDULDEOHBQDPH

ODPEGD>DUJXPHQWV@� H[SUHVVLRQ

LI

O(1)

UHVXOW >��[���[� � [ IRU [ LQ UDQJH����� LI [ � � �@

� ��� LI UDQJH�����

ORDGBPRGXOH��

GLFWBBJHWLWHPBB��

Page 122: Cours Python 3

VHOI

LG��

WLPH�ORFDOWLPH��W>�@ W�WPB\HDU

WLPH�VWUXFWBWLPHFROOHF�

WLRQV�QDPHWXSOH��

!!! (PSOR\HH�QDPH MRQHV� WLWOH SURJUDPPHU�

BBEXLOWLQBB�RSHQ�� RV�RSHQ��

UDQGRP�VHHG�� LWHUWRROV�L]LS��UDQGRP LWHUWRROV

QRQORFDO

BBVORWVBB BBJHWDWWULEXWHBB��

IRU

Page 123: Cours Python 3

IRU L LQ UDQJH�OHQ�IRRG���SULQW�IRRG>L@�

IRU SLHFH LQ IRRG�SULQW�SLHFH�

V\V JHWUHIFRXQW��

BBJHWLWHPBB�� BBOHQBB�� OLVW VWU WXSOH XQLFRGHGLFW BBJHWLWHPBB�� BBOHQBB��

YDULDEOHBQDPH>�����@

LI ZKLOH IRU

BBFODVVBBW\SH�REM�

GLFW�NH\V�� GLFW�YDOXHV�� GLFW�LWHPV��

OLVW�GLFWYLHZ�

Page 124: Cours Python 3

LPSRUW WKLV

Page 126: Cours Python 3
Page 127: Cours Python 3
Page 128: Cours Python 3

Indexation des séquences

Types de base

Mémento Bases Python 3©2012-2013 - Laurent PointalLicence Creative Commons Paternité 2

Documentation officielle Python sur

http://docs.python.org/py3k

0783 -192int

9.23 -1.7e-60.0float

True Falsebool

"Un\nDeux" 'L\'âme'str

"""X\tY\tZ1\t2\t3"""

10-6

tabulation

retour à la ligne

multiligne

Types Conteneurs

list [1,5,9] ["x",11,8.9] ["mot"] []tuple (1,5,9) 11,"y",7.4 ("mot",) ()

dict{1:"un",3:"trois",2:"deux",3.14:"π"}{"clé":"valeur"}

set

{}

{1,9,3,0}

◾ séquences ordonnées, accès index rapide, valeurs répétables

set()

◾ sans ordre a priori, clé unique, accès par clé rapide ; clés = types de base ou tuples

{"clé1","clé2"}

non modifiable

Affectation de variables

x = 1.2+8+sin(0)

y,z,r = 9.2,-7.6,"bad"

valeur ou expression de calcul

nom de variable (identificateur)

a‥zA‥Z_ suivi de a‥zA‥Z_0‥9◽ accents possibles mais à éviter◽ mots clés du langage interdits◽ distinction casse min/MAJ

expression juste avec des virgules

non modifiable,

séquence ordonnée de caractères

dictionnaire

ensemble

entier, flottant, booléen, chaîne

conteneur de plusieurs valeurs (ici un tuple)

noms devariables

Identificateurs

☺ a toto x7 y_max BigOne☹ 8y and

x+=3 x-=2incrémentationdécrémentation

Conversions

pour les listes, tuples, chaînes de caractères,…

int("15")

float("-11.24e8")

bool

str(78.3) repr("Texte")

on peut spécifier la base du nombre entier en 2nd paramètre

int(15.56) troncature de la partie décimale (round(15.56) pour entier arrondi)

et pour avoir la représentation littérale

type(expression)

utiliser des comparateurs (avec ==, !=, <, >, …), résultat logique booléen

voir au verso le formatage de chaînes, qui permet un contrôle fin

":".join(['toto','12','pswd']) 'toto:12:pswd'chaîne de jointure séquence de chaînes

"des mots espacés".split() ['des','mots','espacés']

"1,4,8,2".split(",") ['1','4','8','2']chaîne de séparation

dict([(3,"trois"),(1,"un")]) {1:'un',3:'trois'}

list("abc") ['a','b','c']utilise chaque élément de

la séquence en paramètre

set(["un","deux"]) {'un','deux'}utilise chaque élément de

la séquence en paramètre

lst=[11, 67, "abc", 3.14, 42, 1968] lst[1]→67lst[-2]→42

0 1 2 3 54

-6 -5 -4 -3 -1-2

accès individuel aux éléments par [index]index positif

index négatif

0 1 2 3 54 6

-6 -5 -4 -3 -1-2tranche négative

tranche positive

accès à des sous-séquences par [tranche début:tranche fin:pas]

len(lst) 6

lst[1:3]→[67,"abc"]

lst[::2]→[11,"abc",42]lst[-3:-1]→[3.14,42]lst[:3]→[11,67,"abc"]

lst[:-1]→[11,67,"abc",3.14,42]

lst[4:]→[42,1968]

lst[1:-1]→[67,"abc",3.14,42]

lst[:]→[11,67,"abc",3.14,42,1968]Indication de tranche manquante → à partir du début / jusqu'à la fin.

Instruction conditionnelle

if x==42: # bloc si expression logique x==42 vraie print("vérité vraie")elif x>0: # bloc sinon si expression logique x>0 vraie print("positivons")elif bTermine: # bloc sinon si variable booléenne bTermine vraie print("ah, c'est fini")else: # bloc sinon des autres cas restants print("ça veut pas")

Logique booléenne Blocs d'instructions

instruction parente: bloc d'instructions 1… ⁝ instruction parente: bloc d'instructions 2… ⁝

instruction suivante après bloc 1

ind

enta

tio

n !

Comparateurs: < > <= >= == !=≠=≥≤

a and b

a or b

not a

et logique

ou logique

non logiquel'un ou l'autre ou les deux

les deux en même temps

if expression logique: bloc d'instructions

bloc d'instructions exécuté

uniquement si une condition est vraie

TrueFalse

valeur constante vrai

valeur constante faux

combinable avec des sinon si, sinon si... et un seul sinon final,exemple :

lst[-1]→1968

lst[0]→11

le dernier

le premier

x=None valeur constante « non défini »

Maths

Opérateurs: + - * / // % **× ÷

÷ entière reste ÷ab

from math import sin,pi…

' échappé

abs(-3.2)→3.2

round(3.57,1)→3.6

☝ nombres flottants… valeurs approchées !

sin(pi/4)→0.707…cos(2*pi/3)→-0.4999…

sqrt(81)→9.0 √log(e**2)→2.0

angles en radians

acos(0.5)→1.0471…

etc. (cf doc)

(1+5.3)*2→12.6

pour noms de variables,

fonctions, modules, classes…

Mémento v1.2.1bis

Sur les séquences modifiables, utilisable pour suppression del lst[3:5] et modification par affectation lst[1:4]=['hop',9]

str en tant que séquence ordonnée de caractères

couples clé/valeur

Page 129: Cours Python 3

"modele{} {} {}".format(x,y,r)"{sélection:formatage!conversion}"◽ Sélection : 2 x 0.nom 4[clé] 0[2]

str

Affichage / Saisieprint("v=",3,"cm :",x,",",y+4)

Options de print: ◽ sep=" " (séparateur d'éléments, défaut espace) ◽ end="\n" (fin d'affichage, défaut fin de ligne) ◽ file=f (print vers fichier, défaut sortie standard)

éléments à afficher : valeurs littérales, variables, expressions

boucle sur dict/set = boucle sur séquence des clés

Instruction boucle conditionnellebloc d'instructions exécuté

tant que la condition est vraie

while expression logique: bloc d'instructions

s = 0i = 1

while i <= 100: # bloc exécuté tant que i ≤ 100 s = s + i**2 i = i + 1

print("somme:",s)

initialisations avant la boucle

condition avec au moins une valeur variable (ici i)

s= ∑i=1

i=100

i2

☝ faire varier la variable

de condition !

Instruction boucle itérativebloc d'instructions exécuté pour

chaque élément d'un conteneur ou d'un itérateur

for variable in séquence: bloc d'instructions

s = "Du texte"cpt = 0

for c in s: if c == "e": cpt = cpt + 1print("trouvé",cpt,"'e'")

Parcours des valeurs de la séquence

Comptage du nombre

de e dans la chaîne.

Parcours des index de la séquence◽ changement de l'élément à la position◽ accès aux éléments autour de la position (avant/après)

lst = [11,18,9,12,23,4,17]perdu = []for idx in range(len(lst)): val = lst[idx] if val> 15: perdu.append(val) lst[idx] = 15print("modif:",lst,"-modif:",perdu)

Bornage des valeurs

supérieures à 15,

mémorisation des

valeurs perdues.

☝ attention aux boucles sans fin !

initialisations avant la boucle

variable de boucle, valeur gérée par l'instruction for

utilisation des tranches pour parcourir un sous-ensemble de la séquence

résultat de calcul après la boucle

Formatage de chaînesvaleurs à formaterdirectives de formatage

Génération de séquences d'entiers

Fichiers

s = input("Directives:")☝ input retourne toujours une chaîne, la convertir vers le type

désiré (cf encadré Conversions au recto).

très utilisé pour les

boucles itératives for

range retourne un « générateur », faire une conversion en liste pour voir les valeurs, par exemple: print(list(range(4)))

range(5) 0 1 2 3 4range(3,8) 3 4 5 6 7range(2,12,3) 2 5 8 11

range([début,] fin [,pas])

f = open("fic.txt","w",encoding="utf8")stockage de données sur disque, et relecture

mode d'ouverture◽ 'r' lecture (read)◽ 'w' écriture (write)◽ 'a' ajout (append)…

encodage des caractères pour lesfichiers textes:uft8 ascii

latin1 …

nom du fichiersur le disque(+chemin…)

variable fichier pourles opérations

f.write("coucou")en écriture

☝ fichier texte → lecture / écriture

de chaînes uniquement, convertir

de/vers le type désiré

en lecture

s = f.read(4)

for ligne in f : bloc de traitement de la ligne

cf fonctions des modules os et os.path

si nb de caractères pas précisé, lit tout le fichier

s = f.readline()

lecture lignesuivante

f.close() ☝ ne pas oublier de refermer le fichier après son utilisation !Fermeture automatique Pythonesque : with open(…) as f:

très courant : boucle itérative de lecture des lignes d'un fichier texte :

Définition de fonction

def nomfct(p_x,p_y,p_z): """documentation""" # bloc instructions, calcul de res, etc. return res

nom de la fonction (identificateur)

valeur résultat de l'appel.si pas de résultat calculé à retourner : return None

☝ les paramètres et toutes les variables de ce bloc n'existent que dans le bloc et pendant l'appel à la fonction (« boite noire »)

paramètres nommés

Appel de fonctionr = nomfct(3,i+2,2*i)

un argument par paramètrerécupération du résultat retourné (si nécessaire)

Opérations sur conteneurs

chaîne vide si fin de fichier

len(c)min(c) max(c) sum(c)sorted(c)

reversed(c)

☝ modification de la liste originale

lst.append(item)

lst.pop(idx)lst.sort() lst.reverse()

"{:+2.3f}".format(45.7273)→'+45.727'"{1:>10s}".format(8,"toto")→' toto'"{!r}".format("L'ame")→'"L\'ame"'

non comprispar défaut 0

◽ Conversion : s (texte lisible) ou r (représentation littérale)

< > ^ = 0 au début pour remplissage avec des 0entiers: b binaire, c caractère, d décimal (défaut), o octal, x ou X hexa…flottant: e ou E exponentielle, f ou F point fixe, g ou G approprié (défaut), 

% pourcentagechaîne : s …

◽ Formatage :car-rempl. alignement signe larg.mini.précision~larg.max type

+ - espace

c.index(val) c.count(val)

→ nb d'éléments

→ copie triée

→ itérateur inversé→ position → nb d'occurences

lst.extend(seq) ajout d'un élément à la finajout d'une séquence d'éléments à la fin

lst.insert(idx,val) insertion d'un élément à une position

lst.remove(val) suppression d'un élément à partir de sa valeursuppression de l'élément à une position et retour de la valeur

tri / inversion de la liste sur place

Opérations sur dictionnaires Opérations sur ensemblesOpérateurs: | → union (caractère barre verticale)& → intersection- ^ → différence/diff symétrique< <= > >= → relations d'inclusion

d.update(d2) mise à jour/ajout

des couples

Note: Pour dictionnaires et ensembles,

ces opérations travaillent sur les clés.

Spécifique aux conteneurs de séquences (listes, tuples, chaînes) :

val in c → booléen, opérateur in de test de présence (not in d'absence)

Opérations sur listes

d[clé]→valeur del d[clé]d[clé]=valeur

d.keys()

d.clear()

d.items()d.values() vues sur les clés,

valeurs, couples

Ex

emp

les

d.pop(clé)

s.update(s2)s.add(clé) s.remove(clé)s.discard(clé)

c*5 → duplication c+c2→ concaténation

Contrôle de bouclebreak

continue

sortie immédiate

itération suivante

Parcours simultané index et valeur de la séquence:for idx,val in enumerate(lst):

enumerate(c)→ itérateur sur (index,valeur)

Page 130: Cours Python 3
Page 131: Cours Python 3
Page 132: Cours Python 3