+ All Categories
Home > Documents > Python Basics: A Practical Introduction to Python 3 · 8ibu1zuipojtubt4bz"cpvu1zuipo#btjdt...

Python Basics: A Practical Introduction to Python 3 · 8ibu1zuipojtubt4bz"cpvu1zuipo#btjdt...

Date post: 21-Jan-2020
Category:
Upload: others
View: 36 times
Download: 1 times
Share this document with a friend
91
Transcript

1ZUIPO #BTJDT� " 1SBDUJDBM *OUSPEVDUJPO

UP 1ZUIPO �

3FBM 1ZUIPO

1ZUIPO #BTJDT

'MFUDIFS )FJTMFS %BWJE "NPT %BO #BEFS

$PQZSJHIU j 3FBM 1ZUIPO SFBMQZUIPO�DPN ������

'PS POMJOF JOGPSNBUJPO BOE PSEFSJOH PG UIJT BOE PUIFS CPPLT CZ 3FBM

1ZUIPO QMFBTF WJTJU SFBMQZUIPO�DPN� 'PS NPSF JOGPSNBUJPO QMFBTF

DPOUBDU VT BU JOGP!SFBMQZUIPO�DPN�

*4#/� ������������� QBQFSCBDL

*4#/� ������������� FMFDUSPOJD

$PWFS EFTJHO CZ "MESFO 4BOUPT

ψ1ZUIPOω BOE UIF 1ZUIPO MPHPT BSF USBEFNBSLT PS SFHJTUFSFE USBEF�

NBSLT PG UIF 1ZUIPO 4PGUXBSF 'PVOEBUJPO VTFE CZ 3FBM 1ZUIPO XJUI

QFSNJTTJPO GSPN UIF 'PVOEBUJPO�

5IBOL ZPV GPS EPXOMPBEJOH UIJT FCPPL� 5IJT FCPPL JT MJDFOTFE GPS ZPVS

QFSTPOBM FOKPZNFOU POMZ� 5IJT FCPPLNBZOPU CF SF�TPME PS HJWFO BXBZ

UP PUIFS QFPQMF� *G ZPV XPVME MJLF UP TIBSF UIJT CPPL XJUI BOPUIFS QFS�

TPO QMFBTF QVSDIBTF BO BEEJUJPOBM DPQZ GPS FBDI SFDJQJFOU� *G ZPVυSF

SFBEJOH UIJT CPPL BOE EJE OPU QVSDIBTF JU PS JU XBT OPU QVSDIBTFE GPS

ZPVS VTF POMZ UIFO QMFBTF SFUVSO UP SFBMQZUIPO�DPN�QZCBTJDT�CPPL

BOE QVSDIBTF ZPVS PXO DPQZ� 5IBOL ZPV GPS SFTQFDUJOH UIF IBSE XPSL

CFIJOE UIJT CPPL�

6QEBUFE ���������� 8F XPVME MJLF UP UIBOL PVS FBSMZ BDDFTT SFBEFST

GPS UIFJS FYDFMMFOU GFFECBDL�

5IJT JT BO &BSMZ "DDFTT WFSTJPO PG ω1ZUIPO #BTJDT�

" 1SBDUJDBM *OUSPEVDUJPO UP 1ZUIPO �ϊ

8JUI ZPVS IFMQ XF DBO NBLF UIJT CPPL FWFO CFUUFS�

"U UIF FOE PG FBDI TFDUJPO PG UIF CPPL ZPVυMM нOE B ψNBHJDBMω GFFECBDL

MJOL� $MJDLJOH UIF MJOL UBLFT ZPV UP BO POMJOF GFFECBDL GPSN XIFSF

ZPV DBO TIBSF ZPVS UIPVHIUT XJUI VT�

8F XFMDPNF BOZ BOE BMM GFFECBDL PS TVHHFTUJPOT GPS JN�

QSPWFNFOU ZPV NBZ IBWF�

1MFBTF GFFM GSFF UP CF BT UFSTF PS EFUBJMFE BT ZPV TFF нU� "MM GFFECBDL

JT TUPSFE BOPOZNPVTMZ CVU ZPV DBO DIPPTF UP MFBWF ZPVS OBNF BOE

DPOUBDU JOGPSNBUJPO TPXF DBO GPMMPXVQPSNFOUJPO ZPVPOPVS ψ5IBOL

:PVω QBHF�

8F VTF B EJмFSFOU GFFECBDL MJOL GPS FBDI TFDUJPO TP XFυMM BMXBZT LOPX

XIJDI QBSU PG UIF CPPL ZPVS OPUFT SFGFS UP�

5IBOL ZPV GPS IFMQJOH VTNBLF UIJT CPPL BO FWFONPSF WBMVBCMF MFBSO�

JOH SFTPVSDF GPS UIF 1ZUIPO DPNNVOJUZ�

ρ %BO #BEFS &EJUPS�JO�$IJFG BU 3FBM 1ZUIPO

8IBU 1ZUIPOJTUBT 4BZ "CPVU 1ZUIPO #BTJDT� " 1SBDUJDBM *O�

USPEVDUJPO UP 1ZUIPO �

ψ* MPWF <UIF CPPL>� 5IF XPSEJOH JT DBTVBM FBTZ UP VOEFSTUBOE BOE

NBLFT UIF JOGPSNBUJPO рPX XFMM� * OFWFS GFFM MPTU JO UIF NBUFSJBM BOE

JUυT OPU UPP EFOTF TP JUυT FBTZ GPS NF UP SFWJFX PMEFS DIBQUFST PWFS BOE

PWFS�

*υWF MPPLFE BU PWFS �� EJоFSFOU 1ZUIPO UVUPSJBMT�CPPLT�POMJOF DPVSTFT

BOE *υWF QSPCBCMZ MFBSOFE UIF NPTU GSPN 3FBM 1ZUIPO�ω

ρ 5IPNBT8POH

ψ5ISFF ZFBST MBUFS BOE * TUJMM SFUVSO UP NZ 3FBM 1ZUIPO CPPLT XIFO *

OFFE B RVJDL SFGSFTIFS PO VTBHF PG WJUBM 1ZUIPO DPNNBOET�ω

ρ 3PC 'PXMFS

ψ* рPVOEFSFE GPS B MPOH UJNF USZJOH UP UFBDI NZTFMG� * TMPHHFE UISPVHI

EP[FOT PG JODPNQMFUF POMJOF UVUPSJBMT� * TOPP[FE UISPVHI IPVST PG CPS�

JOH TDSFFODBTUT� * HBWF VQ PO DPVOUMFTT DSVGUZ CPPLT GSPN CJH�UJNF

QVCMJTIFST� "OE UIFO * GPVOE 3FBM 1ZUIPO�

5IF FBTZ�UP�GPMMPX TUFQ�CZ�TUFQ JOTUSVDUJPOT CSFBL UIF CJH DPODFQUT

EPXO JOUP CJUF�TJ[FE DIVOLT XSJUUFO JO QMBJO &OHMJTI� 5IF BVUIPST

OFWFS GPSHFU UIFJS BVEJFODF BOEBSF DPOTJTUFOUMZ UIPSPVHIBOEEFUBJMFE

JO UIFJS FYQMBOBUJPOT� *υN VQ BOE SVOOJOH OPX CVU * DPOTUBOUMZ SFGFS

UP UIF NBUFSJBM GPS HVJEBODF�ω

ρ +BSFE /JFMTFO

ψ* MPWF UIF CPPL CFDBVTF BU UIF FOE PG FBDI QBSUJDVMBS MFTTPO UIFSF BSF

SFBM XPSME BOE JOUFSFTUJOH DIBMMFOHFT� * KVTU CVJMU B TBWJOHT FTUJNBUPS

UIBU BDUVBMMZ SFрFDUT NZ TBWJOHT BDDPVOU π OFBU�ω

ρ%SFX 1SFTDPUU

ψ"T B QSBDUJDF PG XIBU ZPV UBVHIU * TUBSUFE CVJMEJOH TJNQMF TDSJQUT GPS

QFPQMF PO NZ UFBN UP IFMQ UIFN JO UIFJS FWFSZEBZ EVUJFT� 8IFO NZ

NBOBHFST OPUJDFE UIBU * XBT PоFSFE B OFX QPTJUJPO BT B EFWFMPQFS�

* LOPX UIFSF JT IFBQT PG UIJOHT UP MFBSO BOE UIFSF XJMM CF IVHF DIBM�

MFOHFT CVU * пOBMMZ TUBSUFE EPJOH XIBU * SFBMMZ DBNF UP MJLF�

0ODF BHBJO� ."/: 5)"/,4�ω

ρ,BNJM

ψ8IBU * GPVOE HSFBU BCPVU UIF 3FBM 1ZUIPO DPVSTFT DPNQBSFE UP PUIFST

JT IPX UIFZ FYQMBJO UIJOHT JO UIF TJNQMFTU XBZ QPTTJCMF�

" MPU PG DPVSTFT JO BOZ EJTDJQMJOF SFBMMZ SFRVJSF UIF MFBSOJOH PG B MPU PG

KBSHPO XIFO JO GBDU XIBU JT CFJOH UBVHIU DPVME CF UBVHIU RVJDLMZ BOE

TVDDJODUMZ XJUIPVU UPP NVDI PG JU� 5IF DPVSTFT EP B WFSZ HPPE KPC PG

LFFQJOH UIF FYBNQMFT JOUFSFTUJOH�ω

ρ 4UFQIFO (SBEZ

ψ"GUFS SFBEJOH UIF пSTU 3FBM 1ZUIPO DPVSTF *XSPUF B TDSJQU UP BVUPNBUF

BNVOEBOF UBTL BU XPSL� 8IBU VTFE UP UBLFNF UISFF UP пWF IPVST OPX

UBLFT MFTT UIBO UFO NJOVUFT�ω

ρ #SBOEPO :PVOHEBMF

ψ)POFTUMZ UISPVHIPVU UIJT XIPMF QSPDFTT XIBU * GPVOE XBT KVTU NF

MPPLJOH SFBMMZ IBSE GPS UIJOHT UIBU DPVMENBZCF CF BEEFE PS JNQSPWFE

CVU UIJT UVUPSJBM JT BNB[JOH� :PV EP B XPOEFSGVM KPC PG FYQMBJOJOH BOE

UFBDIJOH 1ZUIPO JO BXBZ UIBU QFPQMF MJLFNF B DPNQMFUF OPWJDF DPVME

SFBMMZ HSBTQ�

5IF рPX PG UIF MFTTPOTXPSLT QFSGFDUMZ UISPVHIPVU� 5IF FYFSDJTFT USVMZ

IFMQFE BMPOH UIF XBZ BOE ZPV GFFM WFSZ BDDPNQMJTIFE XIFO ZPV пOJTI

VQ UIF CPPL� * UIJOL ZPV IBWF B HJGU GPS NBLJOH 1ZUIPO TFFN NPSF

BUUBJOBCMF UP QFPQMF PVUTJEF UIF QSPHSBNNJOH XPSME�

5IJT JT TPNFUIJOH * OFWFS UIPVHIU * XPVME CF EPJOH PS MFBSOJOH BOE

XJUI B MJUUMF QVTI GSPN ZPV * BN MFBSOJOH JU BOE * DBO TFF UIBU JU XJMM CF

OPUIJOH CVU CFOFпDJBM UP NF JO UIF GVUVSF�ω

ρ 4IFB ,MVTFXJD[

ψ5IF BVUIPST PG UIF DPVSTFT IBWF /05 GPSHPUUFO XIBU JU JT MJLF UP CF

B CFHJOOFS π TPNFUIJOH UIBU NBOZ BVUIPST EP π BOE BTTVNF OPUI�

JOH BCPVU UIFJS SFBEFST XIJDI NBLFT UIF DPVSTFT GBOUBTUJD SFBET� 5IF

DPVSTFT BSF BMTP BDDPNQBOJFE CZ TPNF HSFBU WJEFPT BT XFMM BT QMFOUZ

PG SFGFSFODFT GPS FYUSB MFBSOJOH IPNFXPSL BTTJHONFOUT BOE FYBNQMF

DPEF UIBU ZPV DBO FYQFSJNFOU XJUI BOE FYUFOE�

* SFBMMZ MJLFE UIBU UIFSF XBT BMXBZT GVMM DPEF FYBNQMFT BOE FBDI MJOF

PG DPEF IBE HPPE DPNNFOUT TP ZPV DBO TFF XIBU JT EPJOH XIBU�

* OPX IBWF B OVNCFS PG CPPLT PO 1ZUIPO BOE UIF 3FBM 1ZUIPO POFT

BSF UIF POMZ POFT * IBWF BDUVBMMZ пOJTIFE DPWFS UP DPWFS BOE UIFZ

BSF IBOET EPXO UIF CFTU PO UIF NBSLFU� *G MJLF NF ZPVυSF OPU B QSP�

HSBNNFS * XPSL JO POMJOF NBSLFUJOH ZPVυMM пOE UIFTF DPVSTFT UP CF

MJLF B NFOUPS EVF UP UIF DMFBS рVо�GSFF FYQMBOBUJPOT� )JHIMZ SFDPN�

NFOEFE�ω

ρ $SBJH "EEZNBO

"CPVU UIF "VUIPST

"U3FBM 1ZUIPO ZPVυMM MFBSO SFBM�XPSME QSPHSBNNJOH TLJMMT GSPN B DPN�

NVOJUZ PG QSPGFTTJPOBM 1ZUIPOJTUBT GSPN BMM BSPVOE UIF XPSME�

5IF SFBMQZUIPO�DPN XFCTJUF MBVODIFE JO ���� BOE DVSSFOUMZ IFMQT

NPSF UIBO B NJMMJPO 1ZUIPO EFWFMPQFST FBDI NPOUI XJUI GSFF

QSPHSBNNJOH UVUPSJBMT BOE JO�EFQUI MFBSOJOH SFTPVSDFT�

&WFSZPOF XIPXPSLFE PO UIJT CPPL JT B QSBDUJUJPOFSXJUI TFWFSBM ZFBST

PG QSPGFTTJPOBM FYQFSJFODF JO UIF TPGUXBSF JOEVTUSZ� )FSF BSF UIFNFN�

CFST PG UIF 3FBM 1ZUIPO 5VUPSJBM 5FBN XIP XPSLFE PO 1ZUIPO #BTJDT�

'MFUDIFS )FJTMFS JT UIF GPVOEFS PG )VOUFS� XIFSF IF UFBDIFT EFWFM�

PQFST IPX UP IBDL BOE TFDVSF NPEFSO XFC BQQT� "T POF PG UIF GPVOE�

JOH NFNCFST PG 3FBM 1ZUIPO 'MFUDIFS XSPUF UIF PSJHJOBM WFSTJPO PG

UIJT CPPL JO �����

%BWJE "NPT JT B NBUIFNBUJDJBO CZ USBJOJOH B EBUB TDJFOUJTU�1ZUIPO

EFWFMPQFS CZ QSPGFTTJPO BOE B DPмFF KVOLJF CZ DIPJDF� )F JT BNFNCFS

PG UIF 3FBM 1ZUIPO UVUPSJBM UFBN BOE SFXSPUF MBSHF QBSUT PG UIJT CPPL

UP VQEBUF JU UP 1ZUIPO ��

%BO #BEFS JT UIF FEJUPS�JO�DIJFG BU 3FBM 1ZUIPO BOE B DPNQMFUF

1ZUIPO OVU� 8IFO IFυT OPU CVTZ DPEJOH PS TJQQJOH DPмFF IF IFMQT

1ZUIPO EFWFMPQFST UBLF UIFJS DPEJOH TLJMMT UP UIF OFYU MFWFM XJUI

UVUPSJBMT CPPLT BOE POMJOF USBJOJOH�

$POUFOUT

$POUFOUT �

'PSFXPSE ��

� *OUSPEVDUJPO ��

��� 8IZ 5IJT #PPL � � � � � � � � � � � � � � � � � � � � ��

��� "CPVU 3FBM 1ZUIPO � � � � � � � � � � � � � � � � � � ��

��� )PX UP 6TF 5IJT #PPL � � � � � � � � � � � � � � � � � ��

��� #POVT .BUFSJBM � -FBSOJOH 3FTPVSDFT � � � � � � � � ��

� 4FUUJOH 6Q 1ZUIPO ��

��� 8JOEPXT � � � � � � � � � � � � � � � � � � � � � � � ��

��� NBD04 � � � � � � � � � � � � � � � � � � � � � � � � � ��

��� 6CVOUV -JOVY � � � � � � � � � � � � � � � � � � � � � ��

� :PVS 'JSTU 1ZUIPO 1SPHSBN ��

��� 8SJUF B 1ZUIPO 4DSJQU � � � � � � � � � � � � � � � � � ��

��� .FTT 5IJOHT 6Q � � � � � � � � � � � � � � � � � � � � ��

��� $SFBUF B 7BSJBCMF � � � � � � � � � � � � � � � � � � � ��

��� *OTQFDU 7BMVFT JO UIF *OUFSBDUJWF 8JOEPX � � � � � � ��

��� -FBWF :PVSTFMG )FMQGVM /PUFT � � � � � � � � � � � � � ��

��� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT � � � � � � � � � ��

� 4USJOHT BOE .FUIPET ��

��� 4USJOH 'VOEBNFOUBMT � � � � � � � � � � � � � � � � � ��

��� #BTJD 4USJOH 0QFSBUJPOT � � � � � � � � � � � � � � � � ��

��� 6TF 4USJOH .FUIPET � � � � � � � � � � � � � � � � � � ��

$POUFOUT

��� *OUFSBDU 8JUI 6TFS *OQVU � � � � � � � � � � � � � � � ��

��� $IBMMFOHF� 1JDL "QBSU :PVS 6TFSυT *OQVU � � � � � � � ��

��� 8PSLJOH 8JUI 4USJOHT BOE /VNCFST � � � � � � � � � ��

��� 4USFBNMJOF :PVS 1SJOU 4UBUFNFOUT � � � � � � � � � � ��

��� 'JOE B 4USJOH JO B 4USJOH � � � � � � � � � � � � � � � � ��

��� $IBMMFOHF� 5VSO :PVS 6TFS *OUP B -��U )�Y�S � � � � ��

���� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT � � � � � � � � � ��

� /VNCFST BOE .BUI ��

��� %P 4PNF "SJUINFUJD � � � � � � � � � � � � � � � � � � ��

��� $IBMMFOHF� 1FSGPSN $BMDVMBUJPOT PO 6TFS *OQVU � � � ���

��� .BLF 1ZUIPO -JF UP :PV � � � � � � � � � � � � � � � � ���

��� 8PSL 8JUI /VNCFST � � � � � � � � � � � � � � � � � ���

��� 1SJOU /VNCFST JO 4UZMF � � � � � � � � � � � � � � � � ���

��� $PNQMFY /VNCFST � � � � � � � � � � � � � � � � � � ���

��� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT � � � � � � � � � ���

� 'VODUJPOT BOE -PPQT ���

��� 8SJUF :PVS 0XO 'VODUJPOT � � � � � � � � � � � � � � ���

��� $IBMMFOHF� $POWFSU 5FNQFSBUVSFT � � � � � � � � � � ���

��� 3VO JO $JSDMFT � � � � � � � � � � � � � � � � � � � � � ���

��� $IBMMFOHF� 5SBDL :PVS *OWFTUNFOUT � � � � � � � � � � ���

��� 6OEFSTUBOE 4DPQF JO 1ZUIPO � � � � � � � � � � � � � ���

��� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT � � � � � � � � � ���

� 'JOEJOH BOE 'JYJOH $PEF #VHT ���

��� 6TF UIF %FCVH $POUSPM 8JOEPX � � � � � � � � � � � ���

��� 4RVBTI 4PNF #VHT � � � � � � � � � � � � � � � � � � ���

��� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT � � � � � � � � � ���

� $POEJUJPOBM -PHJD BOE $POUSPM 'MPX ���

��� $PNQBSF 7BMVFT � � � � � � � � � � � � � � � � � � � � ���

��� "EE 4PNF -PHJD � � � � � � � � � � � � � � � � � � � � ���

��� $POUSPM UIF 'MPX PG :PVS 1SPHSBN � � � � � � � � � � ���

��� $IBMMFOHF� 'JOE UIF 'BDUPST PG B /VNCFS � � � � � � � ���

��� #SFBL 0VU PG UIF 1BUUFSO � � � � � � � � � � � � � � � ���

��� 3FDPWFS 'SPN &SSPST � � � � � � � � � � � � � � � � � ���

$POUFOUT

��� 4JNVMBUF &WFOUT BOE $BMDVMBUF 1SPCBCJMJUJFT � � � � � ���

��� $IBMMFOHF� 4JNVMBUF BO &MFDUJPO � � � � � � � � � � � ���

��� $IBMMFOHF� 4JNVMBUF B $PJO 5PTT &YQFSJNFOU � � � � � ���

���� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT � � � � � � � � � ���

� -JTUT 5VQMFT BOE %JDUJPOBSJFT ���

��� -JTUT� .VMUJQVSQPTF $POUBJOFST � � � � � � � � � � � � ���

��� $IBMMFOHF� -JTU PG MJTUT � � � � � � � � � � � � � � � � � ���

��� $IBMMFOHF� 8BY 1PFUJD � � � � � � � � � � � � � � � � ���

��� .BLF 1FSNBOFOU -JTUT � � � � � � � � � � � � � � � � ���

��� 4UPSF 3FMBUJPOTIJQT JO %JDUJPOBSJFT � � � � � � � � � � ���

��� $IBMMFOHF� $BQJUBM $JUZ -PPQ � � � � � � � � � � � � � ���

��� $IBMMFOHF� $BUT 8JUI )BUT � � � � � � � � � � � � � � ���

��� $POWFSU #FUXFFO -JTUT 5VQMFT BOE %JDUJPOBSJFT � � � ���

��� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT � � � � � � � � � ���

�� 0CKFDU�0SJFOUFE 1SPHSBNNJOH 001 ���

���� %FнOF B $MBTT � � � � � � � � � � � � � � � � � � � � � ���

���� *OTUBOUJBUF BO 0CKFDU � � � � � � � � � � � � � � � � � ���

���� *OIFSJU 'SPN 0UIFS $MBTTFT � � � � � � � � � � � � � � ���

���� $IBMMFOHF� .PEFM B 'BSN � � � � � � � � � � � � � � � ���

���� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT � � � � � � � � � ���

�� 'JMF *OQVU BOE 0VUQVU ���

���� 3FBE BOE 8SJUF 4JNQMF 'JMFT � � � � � � � � � � � � � ���

���� 8PSLJOH 8JUI 1BUIT JO 1ZUIPO � � � � � � � � � � � � ���

���� $IBMMFOHF� 6TF 1BUUFSO .BUDIJOH UP %FMFUF 'JMFT � � � ���

���� 3FBE BOE 8SJUF $47 %BUB � � � � � � � � � � � � � � � ���

���� $IBMMFOHF� $SFBUF B )JHI 4DPSFT -JTU � � � � � � � � � ���

���� $IBMMFOHF� 4QMJU B $47 нMF � � � � � � � � � � � � � � ���

���� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT � � � � � � � � � ���

�� *OTUBMMJOH 1BDLBHFT 8JUI 1JQ ���

���� *OTUBMM B 5IJSE�1BSUZ 1BDLBHF 8JUI 1JQ � � � � � � � � ���

���� 5IF 1JUGBMMT PG 5IJSE�1BSUZ 1BDLBHFT � � � � � � � � � ���

���� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT � � � � � � � � � ���

��

$POUFOUT

�� $SFBUJOH BOE .PEJGZJOH 1%' 'JMFT ���

���� 8PSL 8JUI UIF $POUFOUT PG B 1%' 'JMF � � � � � � � � ���

���� .BOJQVMBUF 1%' 'JMFT � � � � � � � � � � � � � � � � � ���

���� $IBMMFOHF� "EE B $PWFS 4IFFU UP B 1%' 'JMF � � � � � ���

���� $SFBUF 1%' 'JMFT � � � � � � � � � � � � � � � � � � � ���

���� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT � � � � � � � � � ���

�� 8PSLJOH8JUI %BUBCBTFT ���

���� "O *OUSPEVDUJPO UP 42-JUF � � � � � � � � � � � � � � ���

���� -JCSBSJFT GPS 8PSLJOH 8JUI 0UIFS 42- %BUBCBTFT � � ���

���� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT � � � � � � � � � ���

�� *OUFSBDUJOH 8JUI UIF8FC ���

���� 4DSBQF BOE 1BSTF 5FYU 'SPN 8FCTJUFT � � � � � � � � ���

���� 6TF BO )5.- 1BSTFS UP 4DSBQF 8FCTJUFT � � � � � � � ���

���� *OUFSBDU 8JUI )5.- 'PSNT � � � � � � � � � � � � � � ���

���� *OUFSBDU 8JUI 8FCTJUFT JO 3FBM�5JNF � � � � � � � � � ���

���� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT � � � � � � � � � ���

�� 4DJFOUJрD $PNQVUJOH BOE (SBQIJOH ���

���� 6TF /VN1Z GPS .BUSJY .BOJQVMBUJPO � � � � � � � � � ���

���� 6TF matplotlib GPS 1MPUUJOH (SBQIT � � � � � � � � � � ���

���� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT � � � � � � � � � ���

�� (SBQIJDBM 6TFS *OUFSGBDFT ���

���� "EE (6* &MFNFOUT 8JUI &BTZ(6* � � � � � � � � � � ���

���� $IBMMFOHF� 8SJUF B (6* UP )FMQ B 6TFS .PEJGZ 'JMFT � ���

���� *OUSPEVDUJPO UP 5LJOUFS � � � � � � � � � � � � � � � � ���

���� $POUSPM -BZPVU 8JUI (FPNFUSZ .BOBHFST � � � � � � ���

���� .BLF :PVS "QQMJDBUJPOT *OUFSBDUJWF � � � � � � � � � ���

���� $IBMMFOHF� 3FUVSO PG UIF 1PFU � � � � � � � � � � � � � ���

���� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT � � � � � � � � � ���

�� 'JOBM 5IPVHIUT BOE /FYU 4UFQT ���

���� 'SFF 8FFLMZ 5JQT GPS 1ZUIPO %FWFMPQFST � � � � � � � ���

���� 1ZUIPO 5SJDLT� 5IF #PPL � � � � � � � � � � � � � � � ���

���� 1ZUIPOJTUB$BGF� " $PNNVOJUZ GPS 1ZUIPO %FWFMPQFST ���

��

$POUFOUT

���� "DLOPXMFEHFNFOUT � � � � � � � � � � � � � � � � � � ���

��

'PSFXPSE

)FMMP BOE XFMDPNF UP 1ZUIPO #BTJDT� " 1SBDUJDBM *OUSPEVDUJPO

UP 1ZUIPO �� * IPQF ZPV BSF SFBEZ UP MFBSO XIZ TP NBOZ QSPGFTTJPOBM

BOE IPCCZJTU EFWFMPQFST BSF ESBXO UP 1ZUIPO BOE IPX ZPV DBO CFHJO

VTJOH JU PO ZPVS QSPKFDUT TNBMM BOE MBSHF SJHIU BXBZ� 5IJT CPPL JT

UBSHFUFE BU CFHJOOFST XIP FJUIFS LOPX B MJUUMF QSPHSBNNJOH CVU OPU

UIF 1ZUIPO MBOHVBHF BOE FDPTZTUFN BT XFMM BT DPNQMFUF CFHJOOFST�

*G ZPV EPOυU IBWF B $PNQVUFS 4DJFODF EFHSFF EPOυU XPSSZ� 'MFUDIFS

%BWJE BOE %BO XJMM HVJEF ZPV UISPVHI UIF JNQPSUBOU DPNQVUJOH DPO�

DFQUT XIJMF UFBDIJOH ZPV UIF 1ZUIPO CBTJDT BOE KVTU BT JNQPSUBOUMZ

TLJQQJOH UIF VOOFDFTTBSZ EFUBJMT BU нSTU�

1ZUIPO *T B 'VMM�4QFDUSVN -BOHVBHF

8IFO MFBSOJOH B OFX QSPHSBNNJOH MBOHVBHF ZPV EPOυU ZFU IBWF UIF

FYQFSJFODF UP KVEHF IPX XFMM JU XJMM TFSWF ZPV JO UIF MPOH SVO� *G ZPV

BSF DPOTJEFSJOH 1ZUIPO MFU NF BTTVSF ZPV UIBU UIJT JT B HPPE DIPJDF�

0OF LFZ SFBTPO JT UIBU 1ZUIPO JT B GVMM�TQFDUSVN MBOHVBHF�

8IBU EP * NFBO CZ UIJT 4PNF MBOHVBHFT BSF WFSZ HPPE GPS CFHJOOFST�

5IFZ IPME ZPVS IBOE BOE NBLF QSPHSBNNJOH TVQFS FBTZ� 8F DBO HP

UP UIF FYUSFNF BOE MPPL BU WJTVBM MBOHVBHFT TVDI BT 4DSBUDI� )FSF

ZPV HFU CMPDLT UIBU SFQSFTFOU QSPHSBNNJOH DPODFQUT WBSJBCMFT MPPQT

NFUIPE DBMMT FUD BOE ZPV ESBH BOE ESPQ UIFN PO B WJTVBM TVSGBDF�

4DSBUDI NBZ CF FBTZ UP HFU TUBSUFE XJUI GPS TJNQMF QSPHSBNT� #VU ZPV

DBOOPU CVJME QSPGFTTJPOBM BQQMJDBUJPOTXJUI JU� /BNF POF 'PSUVOF ���

DPNQBOZ UIBU QPXFST JUT DPSF CVTJOFTT MPHJD XJUI 4DSBUDI� $BNF VQ

FNQUZ .F UPP � CFDBVTF UIBU XPVME CF JOTBOJUZ�

��

$POUFOUT

0UIFS MBOHVBHFT BSF JODSFEJCMZ QPXFSGVM GPS FYQFSU EFWFMPQFST� 5IF

NPTU QPQVMBS POF JO UIJT DBUFHPSZ JT MJLFMZ $�� BOE JUT DMPTF SFMBUJWF

$� 8IBUFWFS XFC CSPXTFS ZPV VTFE UPEBZ XBT MJLFMZ XSJUUFO JO

$�$��� :PVS PQFSBUJOH TZTUFN SVOOJOH UIBU CSPXTFS XBT BMTP WFSZ

MJLFMZ $�$��� :PVS GBWPSJUF нSTU�QFSTPO TIPPUFS PS TUSBUFHZ WJEFP

HBNF :PV OBJMFE JU� $�$��� :PV DBO EP BNB[JOH UIJOHT XJUI UIFTF

MBOHVBHFT� #VU UIFZ BSF XIPMMZ VOXFMDPNJOH UP OFXDPNFST MPPLJOH

GPS B HFOUMF JOUSPEVDUJPO�

:PV NJHIU OPU IBWF SFBE B MPU PG $�� DPEF� *U DBO BMNPTU NBLF ZPVS

FZFT CVSO� )FSFυT BO FYBNQMF B SFBM BMCFJU DPNQMFY POF�

template <typename T>

_Defer<void(*(PID<T>, void (T::*)(void)))

(const PID<T>&, void (T::*)(void))>

defer(const PID<T>& pid, void (T::*method)(void))

{

void (*dispatch)(const PID<T>&, void (T::*)(void)) =

&process::template dispatch<T>;

return std::tr1::bind(dispatch, pid, method);

}

1MFBTF KVTU OP�

#PUI 4DSBUDI BOE $�� BSF EFDJEFEMZ OPU XIBU * XPVME DBMM GVMM�

TQFDUSVN MBOHVBHFT� *O UIF 4DSBUDI MFWFM JUυT FBTZ UP TUBSU CVU

ZPV IBWF UP TXJUDI UP B ψSFBMω MBOHVBHF UP CVJME SFBM BQQMJDBUJPOT�

$POWFSTFMZ ZPV DBO CVJME SFBM BQQT XJUI $�� ZFU UIFSF JT OP HFOUMF

PO�SBNQ� :PV EJWF IFBE нSTU JOUP BMM UIF DPNQMFYJUZ PG UIBU MBOHVBHF

XIJDI FYJTUT UP TVQQPSU UIFTF SJDI BQQMJDBUJPOT�

1ZUIPO PO UIF PUIFS IBOE JT TQFDJBM� *U JT B GVMM�TQFDUSVN MBOHVBHF�

8F PGUFO KVEHF UIF TJNQMJDJUZ PG B MBOHVBHF CBTFE PO UIF ψIFMMP XPSEω

UFTU� 5IBU JT XIBU TZOUBY BOE BDUJPOT BSF OFDFTTBSZ UP HFU UIBU MBO�

HVBHF UP PVUQVU ψIFMMP XPSMEω UP UIF VTFS *O 1ZUIPO JU DPVMEOυU CF

TJNQMFS�

��

$POUFOUT

print("Hello world")

5IBUυT JU� )PXFWFS * нOE UIJT BO VOTBUJTGZJOH UFTU�

5IF IFMMP XPSME UFTU JT VTFGVM CVU SFBMMZ OPU FOPVHI UP TIPX UIF QPXFS

PS DPNQMFYJUZ PG B MBOHVBHF� -FUυT USZ BOPUIFS FYBNQMF� /PU FWFSZ�

UIJOH IFSF OFFET UP NBLF UPUBM TFOTF KVTU GPMMPX BMPOH UP HFU UIF ;FO

PG JU� 5IF CPPL DPWFST UIFTF DPODFQUT BOENPSF BT ZPV HP UISPVHI� 5IF

OFYU FYBNQMF JT DFSUBJOMZ TPNFUIJOH ZPV DPVME XSJUF OFBS UIF FOE�

)FSFυT UIF OFX UFTU� 8IBU XPVME JU UBLF UP XSJUF B QSPHSBN UIBU BD�

DFTTFT BO FYUFSOBMXFCTJUF EPXOMPBET UIF DPOUFOU UP ZPVS BQQ JONFN�

PSZ UIFO EJTQMBZT B TVCTFDUJPO PG UIBU DPOUFOU UP UIF VTFS -FUυT USZ

UIBU FYQFSJNFOU XJUI 1ZUIPO � XJUI UIF IFMQ PG UIF SFRVFTUT QBDLBHF

XIJDI OFFET UP CF JOTUBMMFE � NPSF PO UIBU JO DIBQUFS ���

import requests

resp = requests.get("https://realpython.com")

html = resp.text

print(html[205:294])

*ODSFEJCMZ UIBUυT JU� 8IFO SVO UIF PVUQVU JT TPNFUIJOH MJLF�

<title>Python Tutorials – Real Python</title>

<meta name="author" content="Real Python">

5IJT JT UIF FBTZ HFUUJOH TUBSUFE TJEF PG UIF TQFDUSVN PG 1ZUIPO� " GFX

USJWJBM MJOFT BOE JODSFEJCMF QPXFS JT VOMFBTIFE� #FDBVTF 1ZUIPO IBT

BDDFTT UP TP NBOZ QPXFSGVM CVU XFMM�QBDLBHFE MJCSBSJFT TVDI BT SF�

RVFTUT JU JT PGUFO EFTDSJCFE BT IBWJOH CBUUFSJFT JODMVEFE�

4P UIFSF ZPV IBWF B TJNQMF QPXFSGVM TUBSUFS FYBNQMF� 0O UIF SFBM BQQT

TJEF PG UIJOHT XF IBWFNBOZ JODSFEJCMF BQQMJDBUJPOTXSJUUFO JO 1ZUIPO

BT XFMM� :PV NBZ IBWF IFBSE PG PS FWFO VTFE B TJUF DBMMFE :PV5VCF�

*UυT XSJUUFO JO 1ZUIPO BOE QSPDFTTFT � ��� ��� SFRVFTUT � TFDPOE� *O�

TUBHSBN JT BOPUIFS FYBNQMF PG B 1ZUIPO BQQMJDBUJPO� .PSF DMPTF UP

��

$POUFOUT

IPNF XF FWFO IBWF SFBMQZUIPO�DPN XSJUUFO JO %KBOHP BOE 1ZUIPO �

BOE NZ TJUFT TVDI BT UBMLQZUIPO�GN XSJUUFO JO 1ZSBNJE BOE 1ZUIPO

��

5IJT GVMM�TQFDUSVN BTQFDU PG 1ZUIPO NFBOT ZPV DBO TUBSU FBTZ BOE

BEPQU NPSF BEWBODFE GFBUVSFT BT ZPV OFFE UIFN XIFO ZPVS BQQMJDB�

UJPO EFNBOET HSPX�

1ZUIPO *T 1PQVMBS

:PV NJHIU IBWF IFBSE UIBU 1ZUIPO JT QPQVMBS� 0O POF IBOE JU NBZ

TFFN UIBU JU EPFTOυU SFBMMZ NBUUFS IPX QPQVMBS B MBOHVBHF JT JG ZPV

DBO CVJME UIF BQQ ZPV XBOU UP CVJME XJUI JU� 'PS CFUUFS PS XPSTF JO

TPGUXBSF EFWFMPQNFOU QPQVMBSJUZ JT B TUSPOH JOEJDBUPS PG UIF RVBMJUZ

PG MJCSBSJFT ZPV XJMM IBWF BWBJMBCMF BT XFMM UIF OVNCFS PG KPC PQFOJOHT

UIFSF BSF� *O TIPSU ZPV TIPVME UFOE UP HSBWJUBUF UPXBSETNPSF QPQVMBS

UFDIOPMPHJFT BT UIFSF XJMM CF NPSF DIPJDFT BOE JOUFHSBUJPOT BWBJMBCMF�

4P JT 1ZUIPO BDUVBMMZ UIBU QPQVMBS :FT JU JT� :PVυMM PG DPVSTF нOE B

MPU PG IZQF BOE IZQFSCPMF� #VU UIFSF BSF QMFOUZ PG TUBUT UP CBDL UIJT

POF� -FUυT MPPL BU TPNF BOBMZUJDT BWBJMBCMF BOE QSFTFOUFE CZ 4UBDL�

0WFSGMPX�DPN�

5IFZ SVO B TJUF DBMMFE 4UBDL0WFSсPX 5SFOET� )FSF ZPV DBO MPPL BU

UIF USFOET GPS WBSJPVT UFDIOPMPHJFT CZ UBH� 8IFO XF DPNQBSF 1ZUIPO

UP UIF PUIFS MJLFMZ DBOEJEBUFT ZPV DPVME QJDL UP MFBSO QSPHSBNNJOH

ZPVυMM TFF POF JT VOMJLF UIF PUIFST�

��

$POUFOUT

:PV DBO FYQMPSF UIJT DIBSU BOE DSFBUF TJNJMBS DIBSUT UP UIJT POF PWFS BU

JOTJHIUT�TUBDLPWFSGMPX�DPN�USFOET�

/PUJDF UIF JODSFEJCMF HSPXUI PG 1ZUIPO DPNQBSFE UP UIF GMBUMJOF PS

FWFO EPXOXBSE USFOE PG UIF PUIFS VTVBM DBOEJEBUFT� *G ZPV BSF CFUUJOH

ZPVS GVUVSF PO UIF TVDDFTT PG B HJWFO UFDIOPMPHZ XIJDI POF XPVME ZPV

DIPPTF GSPN UIJT MJTU

5IBUυT KVTU POF DIBSU XIBU EPFT JU SFBMMZ UFMM VT 8FMM MFUυT MPPL BU

BOPUIFS� 4UBDL0WFSGMPX EPFT B ZFBSMZ TVSWFZ PG EFWFMPQFST� *UυT DPN�

QSFIFOTJWF BOE WFSZ XFMM EPOF� :PV DBO нOE UIF GVMM ���� SFTVMUT BU JO�

TJHIUT�TUBDLPWFSGMPX�DPN�TVSWFZ������� 'SPN UIBU XSJUFVQ *υE MJLF

UP DBMM ZPVS BUUFOUJPO UP B TFDUJPO FOUJUMFE .PTU -PWFE %SFBEFE BOE

8BOUFE -BOHVBHFT� *O UIF NPTU XBOUFE TFDUJPO ZPVυMM нOE SFTQPOTFT

GPS�

%FWFMPQFST XIP BSF OPU EFWFMPQJOH XJUI UIF MBOHVBHF

PS UFDIOPMPHZ CVU IBWF FYQSFTTFE JOUFSFTU JO EFWFMPQJOH

XJUI JU

"HBJO JO UIF HSBQI CFMPX ZPVυMM TFF UIBU 1ZUIPO JT UPQQJOH UIF DIBSUT

BOE XFMM BCPWF FWFO �OE QMBDF�

��

$POUFOUT

4P JG ZPV BHSFF XJUI NF UIBU UIF SFMBUJWF QPQVMBSJUZ PG B QSPHSBNNJOH

MBOHVBHF NBUUFST� 1ZUIPO JT DMFBSMZ B HPPE DIPJDF�

8F %POφU /FFE :PV UP #F B $PNQVUFS 4DJFOUJTU

0OF PUIFS QPJOU * EP XBOU UP FNQIBTJT BT ZPV TUBSU UIJT KPVSOFZ PG

MFBSOJOH 1ZUIPO JT UIBU XF EPOυU OFFE ZPV UP CF B DPNQVUFS TDJFOUJTU�

*G UIBUυT ZPVS HPBM HSFBU� -FBSOJOH 1ZUIPO JT B QPXFSGVM TUFQ JO UIBU

EJSFDUJPO� #VU MFBSOJOH QSPHSBNNJOH JT PGUFO GSBNFE JO UIF TIBQF PG

ψXF IBWF BMM UIFTF EFWFMPQFS KPCT HPJOH VOнMMFE XF OFFE TPGUXBSF EF�

WFMPQFST�ω

5IBU NBZ PS NBZ OPU CF USVF� #VU NPSF JNQPSUBOUMZ GPS ZPV QSPHSBN�

NJOH FWFO B MJUUMF QSPHSBNNJOH DBO CF B TVQFSQPXFS GPS ZPV QFSTPO�

BMMZ�

��

$POUFOUT

5P JMMVTUSBUF UIJT JEFB TVQQPTF ZPV BSF B CJPMPHJTU� 4IPVME ZPV ESPQ

PVU PG CJPMPHZ BOE HFU B GSPOU�FOE XFC EFWFMPQFS KPC 1SPCBCMZ OPU�

#VU IBWJOH TLJMMT TVDI BT UIF POF * PQFOFE UIJT GPSFXPSE XJUI VTJOH

SFRVFTUT UP HFU EBUB GSPN UIF XFC XJMM CF JODSFEJCMF QPXFSGVM GPS ZPV

BT ZPV EP CJPMPHZ�

3BUIFS UIBO NBOVBMMZ FYQPSUJOH BOE TDSBQJOH EBUB GSPN UIF XFC PS

TQSFBETIFFUT XJUI 1ZUIPO ZPV DBO TDSBQF � ���υT PG EBUB TPVSDFT PS

TQSFBETIFFUT JO UIF UJNF JU UBLFT ZPV UP EP KVTU POF NBOVBMMZ� 1ZUIPO

TLJMMT DBO CF XIBU UBLFT ZPVS CJPMPHZ QPXFS BOE BNQMJнFT JU XFMM

CFZPOE ZPVS DPMMFBHVFTυ BOE NBLFT JU ZPVS TVQFSQPXFS�

%BO BOE 3FBM 1ZUIPO

'JOBMMZ MFU NF MFBWF ZPV XJUI B DPNNFOU PO ZPVS BVUIPST� %BO #BEFS

BMPOH XJUI UIF PUIFS 3FBM 1ZUIPO BVUIPST XPSL EBZ JO BOE PVU UP CSJOH

DMFBS BOE QPXFSGVM FYQMBOBUJPOT PG 1ZUIPO DPODFQUT UP BMM PG VT WJB

SFBMQZUIPO�DPN� 5IFZ IBWF B VOJRVF WJFX JOUP UIF 1ZUIPO FDPTZTUFN

BOE BSF LFZFE JOUP XIBU CFHJOOFST OFFE UP LOPX�

*υN DPOнEFOU MFBWJOH ZPV JO UIFJS IBOET PO UIJT 1ZUIPO KPVSOFZ� (P

GPSUI BOE MFBSO UIJT BNB[JOH MBOHVBHF VTJOH UIJT HSFBU CPPL� .PTU

JNQPSUBOUMZ SFNFNCFS UP IBWF GVO�

ρ.JDIBFM ,FOOFEZ 'PVOEFS PG 5BML 1ZUIPO !NLFOOFEZ

��

$IBQUFS �

*OUSPEVDUJPO

8FMDPNF UP 3FBM 1ZUIPOυT 1ZUIPO #BTJDT CPPL GVMMZ VQEBUFE GPS

1ZUIPO ���� *O UIJT CPPL ZPVυMM MFBSO SFBM�XPSME 1ZUIPO QSPHSBNNJOH

UFDIOJRVFT JMMVTUSBUFE XJUI VTFGVM BOE JOUFSFTUJOH FYBNQMFT�

8IFUIFS ZPVυSF OFX UP QSPHSBNNJOH PS B QSPGFTTJPOBM TPGUXBSF EFWFM�

PQFS MPPLJOH UP EJWF JOUP B OFX MBOHVBHF UIJT CPPL XJMM UFBDI ZPV BMM

PG UIF QSBDUJDBM 1ZUIPO UIBU ZPV OFFE UP HFU TUBSUFE PO QSPKFDUT PO ZPVS

PXO�

/P NBUUFS XIBU ZPVS VMUJNBUF HPBMT NBZ CF JG ZPV XPSL XJUI B DPN�

QVUFS BU BMM ZPV XJMM TPPO CF нOEJOH FOEMFTT XBZT UP JNQSPWF ZPVS MJGF

CZ BVUPNBUJOH UBTLT BOE TPMWJOH QSPCMFNT UISPVHI 1ZUIPO QSPHSBNT

UIBU ZPV DSFBUF�

#VUXIBUυT TP HSFBU BCPVU 1ZUIPO BT B QSPHSBNNJOH MBOHVBHF 1ZUIPO

JT PQFO�TPVSDF GSFFXBSF NFBOJOH ZPV DBO EPXOMPBE JU GPS GSFF BOEVTF

JU GPS BOZ QVSQPTF DPNNFSDJBM PS OPU�

1ZUIPO BMTP IBT BO BNB[JOH DPNNVOJUZ UIBU IBT CVJMU B OVNCFS PG

BEEJUJPOBM VTFGVM UPPMT ZPV DBO VTF JO ZPVS PXO QSPHSBNT� /FFE UP

XPSL XJUI 1%' EPDVNFOUT 5IFSFυT B DPNQSFIFOTJWF UPPM GPS UIBU�

8BOU UP DPMMFDU EBUB GSPN XFC QBHFT /P OFFE UP TUBSU GSPN TDSBUDI�

1ZUIPO XBT CVJMU UP CF FBTJFS UP VTF UIBO PUIFS QSPHSBNNJOH MBO�

��

���� 8IZ 5IJT #PPL

HVBHFT� *UυT VTVBMMZ NVDI FBTJFS UP SFBE 1ZUIPO DPEF BOE NVDI GBTUFS

UP XSJUF DPEF JO 1ZUIPO UIBO JO PUIFS MBOHVBHFT�

'PS JOTUBODF IFSFυT TPNF TJNQMF DPEFXSJUUFO JO$ BOPUIFS DPNNPOMZ

VTFE QSPHSBNNJOH MBOHVBHF�

#include <stdio.h>

int main(void)

{

printf("Hello, world\n");

}

"MM UIF QSPHSBN EPFT JT TIPX UIF UFYU Hello, world PO UIF TDSFFO� 5IBU

XBT B MPU PG XPSL UP PVUQVU POF QISBTF� )FSFυT UIF TBNF QSPHSBN

XSJUUFO JO 1ZUIPO�

print("Hello, world")

5IBUυT QSFUUZ TJNQMF SJHIU 5IF 1ZUIPO DPEF JT GBTUFS UP XSJUF BOE

FBTJFS UP SFBE� 8F нOE UIBU JU MPPLT GSJFOEMJFS BOENPSF BQQSPBDIBCMF

UPP�

"U UIF TBNF UJNF 1ZUIPO IBT BMM UIF GVODUJPOBMJUZ PG PUIFS MBOHVBHFT

BOE NPSF� :PV NJHIU CF TVSQSJTFE IPX NBOZ QSPGFTTJPOBM QSPEVDUT

BSF CVJMU PO 1ZUIPO DPEF� *OTUBHSBN :PV5VCF 3FEEJU 4QPUJGZ UP

OBNF KVTU B GFX�

/PU POMZ JT 1ZUIPO B GSJFOEMZ BOE GVO MBOHVBHF UP MFBSOρJU BMTP QPX�

FST UIF UFDIOPMPHZ CFIJOE NVMUJQMF XPSME�DMBTT DPNQBOJFT BOE PмFST

GBOUBTUJD DBSFFS PQQPSUVOJUJFT GPS BOZ QSPHSBNNFS XIP NBTUFST JU�

��� 8IZ 5IJT #PPL

-FUυT GBDF JU UIFSFυT BO PWFSXIFMNJOH BNPVOU PG JOGPSNBUJPO BCPVU

1ZUIPO PO UIF JOUFSOFU�

��

���� 8IZ 5IJT #PPL

#VU NBOZ CFHJOOFST XIP BSF TUVEZJOH PO UIFJS PXO IBWF USPVCMF нH�

VSJOH PVU XIBU UP MFBSO BOE JO XIBU PSEFS UP MFBSO JU�

:PVNBZ CF BTLJOH ZPVSTFMG ψ8IBU TIPVME * MFBSO BCPVU 1ZUIPO JO UIF

CFHJOOJOH UP HFU B TUSPOH GPVOEBUJPO ω *G TP UIJT CPPL JT GPS ZPVρ

XIFUIFS ZPVυSF B DPNQMFUF CFHJOOFS PS BMSFBEZ EBCCMFE JO 1ZUIPO PS

PUIFS MBOHVBHFT CFGPSF�

1ZUIPO #BTJDT JT XSJUUFO JO QMBJO &OHMJTI BOE CSFBLT EPXO UIF DPSF

DPODFQUT ZPV SFBMMZ OFFE UP LOPX JOUP CJUF�TJ[FE DIVOLT� 5IJT NFBOT

ZPVυMM LOPX ψFOPVHI UP CF EBOHFSPVTω XJUI 1ZUIPO GBTU�

*OTUFBE PG KVTU HPJOH UISPVHI B CPSJOH MJTU PG MBOHVBHF GFBUVSFT ZPVυMM

TFF FYBDUMZ IPX UIF EJмFSFOU CVJMEJOH CMPDLT нU UPHFUIFS BOE XIBUυT

JOWPMWFE JO CVJMEJOH SFBM BQQMJDBUJPOT BOE TDSJQUT XJUI 1ZUIPO�

4UFQ CZ TUFQ ZPVυMM NBTUFS GVOEBNFOUBM 1ZUIPO DPODFQUT UIBU XJMM IFMQ

ZPV HFU TUBSUFE PO ZPVS KPVSOFZ UP MFBSO 1ZUIPO�

.BOZ QSPHSBNNJOH CPPLT USZ UP DPWFS FWFSZ MBTU QPTTJCMF WBSJBUJPO

PG FWFSZ DPNNBOE XIJDI NBLFT JU FBTZ GPS SFBEFST UP HFU MPTU JO UIF

EFUBJMT� 5IJT BQQSPBDI JT HSFBU JG ZPVυSF MPPLJOH GPS B SFGFSFODFNBOVBM

CVU JUυT B IPSSJCMF XBZ UP MFBSO B QSPHSBNNJOH MBOHVBHF� /PU POMZ EP

ZPV TQFOE NPTU PG ZPVS UJNF DSBNNJOH UIJOHT JOUP ZPVS IFBE ZPVυMM

OFWFS VTF JU BMTP JTOυU BOZ GVO�

5IJT CPPL JT CVJMU PO UIF�����QSJODJQMF� 8FXJMM DPWFS UIF DPNNBOET

BOE UFDIOJRVFT VTFE JO UIF WBTU NBKPSJUZ PG DBTFT BOE GPDVT PO IPX UP

QSPHSBN SFBM�XPSME TPMVUJPOT UP QSPCMFNT UIBU XJMM IFMQ NBLF ZPVS

MJGF FBTJFS�

5IJT XBZ XF HVBSBOUFF UIBU ZPV XJMM�

ύ -FBSO VTFGVM QSPHSBNNJOH UFDIOJRVFT RVJDLMZ

ύ 4QFOE MFTT UJNF TUSVHHMJOH XJUI VOJNQPSUBOU DPNQMJDBUJPOT

ύ 'JOE NPSF QSBDUJDBM VTFT GPS 1ZUIPO JO ZPVS PXO MJGF

ύ )BWF NPSF GVO JO UIF QSPDFTT

��

���� "CPVU 3FBM 1ZUIPO

0ODF ZPVυWF NBTUFSFE UIF NBUFSJBM JO UIJT CPPL ZPV XJMM IBWF HBJOFE

B TUSPOH FOPVHI GPVOEBUJPO UIBU WFOUVSJOH PVU JOUP NPSF BEWBODFE

UFSSJUPSZ PO ZPVS PXO XJMM CF B CSFF[F�

4P EJWF JO� -FBSO UP QSPHSBN JO B XJEFMZ VTFE GSFF MBOHVBHF UIBU DBO

EP NPSF UIBO ZPV FWFS UIPVHIU XBT QPTTJCMF�

��� "CPVU 3FBM 1ZUIPO

"U 3FBM 1ZUIPO ZPVυMM MFBSO SFBM�XPSME QSPHSBNNJOH TLJMMT GSPN B

DPNNVOJUZ PG QSPGFTTJPOBM 1ZUIPOJTUBT GSPN BMM BSPVOE UIF XPSME�

5IF SFBMQZUIPO�DPN XFCTJUF MBVODIFE JO ���� BOE DVSSFOUMZ IFMQT

NPSF UIBO B NJMMJPO 1ZUIPO EFWFMPQFST FBDI NPOUI XJUI CPPLT

QSPHSBNNJOH UVUPSJBMT BOE PUIFS JO�EFQUI MFBSOJOH SFTPVSDFT�

&WFSZPOF XIP XPSLFE PO UIJT CPPL JT B 1ZUIPO QSBDUJUJPOFS SFDSVJUFE

GSPN UIF 3FBM 1ZUIPO UFBN XJUI TFWFSBM ZFBST PG QSPGFTTJPOBM FYQFSJ�

FODF JO UIF TPGUXBSF JOEVTUSZ�

)FSFυT XIFSF ZPV DBO нOE 3FBM 1ZUIPO PO UIF XFC�

ύ SFBMQZUIPO�DPN

ύ !SFBMQZUIPO PO 5XJUUFS

ύ 5IF 3FBM 1ZUIPO &NBJM /FXTMFUUFS

��� )PX UP 6TF 5IJT #PPL

5IF нSTU IBMG PG UIJT CPPL JT B RVJDL CVU UIPSPVHI PWFSWJFX PG BMM UIF

1ZUIPO GVOEBNFOUBMT� :PV EP OPU OFFE BOZ QSJPS FYQFSJFODF XJUI QSP�

HSBNNJOH UP HFU TUBSUFE� 5IF TFDPOE IBMG JT GPDVTFE PO нOEJOH QSBDUJ�

DBM TPMVUJPOT UP JOUFSFTUJOH SFBM�XPSME DPEJOH QSPCMFNT�

"T B CFHJOOFS XF SFDPNNFOE UIBU ZPV HP UISPVHI UIF нSTU IBMG PG

UIJT CPPL GSPN TUBSU UP FOE� 5IF TFDPOE IBMG DPWFST UPQJDT UIBU EPOυU

��

���� )PX UP 6TF 5IJT #PPL

PWFSMBQ BTNVDI TP ZPV DBO KVNQ BSPVOENPSF FBTJMZ CVU UIF DIBQUFST

EP JODSFBTF JO EJпDVMUZ BT ZPV HP BMPOH�

*G ZPV BSF B NPSF FYQFSJFODFE QSPHSBNNFS UIFO ZPV NBZ нOE ZPVS�

TFMG IFBEJOH UPXBSE UIF TFDPOE QBSU PG UIF CPPL SJHIU BXBZ� #VU EPOυU

OFHMFDU HFUUJOH B TUSPOH GPVOEBUJPO JO UIF CBTJDT нSTU BOE CF TVSF UP

нMM JO BOZ LOPXMFEHF HBQT BMPOH UIF XBZ�

.PTU TFDUJPOT XJUIJO B DIBQUFS BSF GPMMPXFE CZ SFWJFX FYFSDJTFT UP

IFMQ ZPVNBLF TVSF UIBU ZPVυWFNBTUFSFE BMM UIF UPQJDT DPWFSFE� 5IFSF

BSF BMTP B OVNCFS PG DPEF DIBMMFOHFT XIJDI BSF NPSF JOWPMWFE BOE

VTVBMMZ SFRVJSF ZPV UP UJF UPHFUIFS B OVNCFS PG EJмFSFOU DPODFQUT GSPN

QSFWJPVT DIBQUFST�

5IF QSBDUJDF нMFT UIBU BDDPNQBOZ UIJT CPPL BMTP JODMVEF GVMM TPMVUJPOT

UP UIF DIBMMFOHFT BT XFMM BT TPNF PG UIF USJDLJFS FYFSDJTFT� #VU UP HFU

UIFNPTU PVU PG UIFNBUFSJBM ZPV TIPVME USZ ZPVS CFTU UP TPMWF UIF DIBM�

MFOHF QSPCMFNT PO ZPVS PXO CFGPSF MPPLJOH BU UIF FYBNQMF TPMVUJPOT�

*G ZPVυSF DPNQMFUFMZ OFX UP QSPHSBNNJOH ZPV NBZ XBOU UP TVQQMF�

NFOU UIF нSTU GFX DIBQUFST XJUI BEEJUJPOBM QSBDUJDF� 8F SFDPNNFOE

XPSLJOH UISPVHI UIF 1ZUIPO 'VOEBNFOUBMT UVUPSJBMT BWBJMBCMF GPS GSFF

BU SFBMQZUIPO�DPN UP NBLF TVSF ZPV BSF PO TPMJE GPPUJOH�

*G ZPV IBWF BOZ RVFTUJPOT PS GFFECBDL BCPVU UIF CPPL ZPVυSF BMXBZT

XFMDPNF UP DPOUBDU VT EJSFDUMZ�

-FBSOJOH CZ %PJOH

5IJT CPPL JT BMM BCPVU MFBSOJOH CZ EPJOH TP CF TVSF UP BDUVBMMZ UZQF

JO UIF DPEF TOJQQFUT ZPV FODPVOUFS JO UIF CPPL� 'PS CFTU SFTVMUT XF

SFDPNNFOE UIBU ZPV BWPJE DPQZJOH BOE QBTUJOH UIF DPEF FYBNQMFT�

:PV XJMM MFBSO UIF DPODFQUT CFUUFS BOE QJDL VQ UIF TZOUBY GBTUFS JG ZPV

UZQF PVU FBDI MJOF PG DPEF ZPVSTFMG� 1MVT JG ZPV TDSFX VQρXIJDI JT UP�

UBMMZ OPSNBM BOEIBQQFOT UP BMM EFWFMPQFST PO BEBJMZ CBTJTρUIF TJNQMF

BDU PG DPSSFDUJOH UZQPT XJMM IFMQ ZPV MFBSO IPX UP EFCVH ZPVS DPEF�

��

���� #POVT .BUFSJBM � -FBSOJOH 3FTPVSDFT

5SZ UP DPNQMFUF UIF SFWJFX FYFSDJTFT BOE DPEF DIBMMFOHFT PO ZPVS PXO

CFGPSF HFUUJOH IFMQ GSPNPVUTJEF SFTPVSDFT� 8JUI FOPVHI QSBDUJDF ZPV

XJMM NBTUFS UIJT NBUFSJBMρBOE IBWF GVO BMPOH UIF XBZ�

)PX -POH8JMM *U 5BLF UP 'JOJTI 5IJT #PPL

*G ZPVυSF BMSFBEZ GBNJMJBS XJUI B QSPHSBNNJOH MBOHVBHF ZPV DPVME нO�

JTI UIF CPPL JO BT MJUUMF BT �� UP �� IPVST� *G ZPVυSF OFX UP QSPHSBN�

NJOH ZPVNBZ OFFE UP TQFOE VQ UP ��� IPVST PS NPSF� 5BLF ZPVS UJNF

BOE EPOυU GFFM MJLF ZPV IBWF UP SVTI� 1SPHSBNNJOH JT B TVQFS SFXBSE�

JOH CVU DPNQMFY TLJMM UP MFBSO� (PPE MVDL PO ZPVS 1ZUIPO KPVSOFZ

XFυSF SPPUJOH GPS ZPV�

��� #POVT .BUFSJBM � -FBSOJOH

3FTPVSDFT

0OMJOF 3FTPVSDFT

5IJT CPPL DPNFT XJUI B OVNCFS PG GSFF CPOVT SFTPVSDFT UIBU ZPV DBO

BDDFTT BU SFBMQZUIPO�DPN�QZUIPO�CBTJDT�SFTPVSDFT� 0O UIJT XFC QBHF

ZPV DBO BMTP нOE BO FSSBUB MJTU XJUI DPSSFDUJPOTNBJOUBJOFE CZ UIF3FBM

1ZUIPO UFBN�

*OUFSBDUJWF 2VJ[[FT

.PTU DIBQUFST JO UIJT CPPL DPNF XJUI B GSFF POMJOF RVJ[ UP DIFDL ZPVS

MFBSOJOH QSPHSFTT� :PV DBO BDDFTT UIF RVJ[[FT VTJOH UIF MJOLT QSPWJEFE

BU UIF FOE PG UIF DIBQUFS� 5IF RVJ[[FT BSF IPTUFE PO UIF 3FBM 1ZUIPO

XFCTJUF BOE DBO CF WJFXFE PO ZPVS QIPOF PS DPNQVUFS�

&BDI RVJ[ UBLFT ZPV UISPVHI B TFSJFT PG RVFTUJPOT SFMBUFE UP B QBSUJDV�

MBS DIBQUFS JO UIF CPPL� 4PNF PG UIFN BSF NVMUJQMF DIPJDF TPNF XJMM

BTL ZPV UP UZQF JO BO BOTXFS BOE TPNFXJMM SFRVJSF ZPV UP XSJUF BDUVBM

1ZUIPO DPEF� "T ZPV NBLF ZPVS XBZ UISPVHI FBDI RVJ[ JU LFFQT TDPSF

PG XIJDI RVFTUJPOT ZPV BOTXFSFE DPSSFDUMZ�

��

���� #POVT .BUFSJBM � -FBSOJOH 3FTPVSDFT

"U UIF FOE PG UIF RVJ[ ZPV SFDFJWF B HSBEF CBTFE PO ZPVS SFTVMU� *G

ZPV EPOυU TDPSF ���� PO ZPVS нSTU USZρEPOυU GSFU� 5IFTF RVJ[[FT BSF

NFBOU UP DIBMMFOHF ZPV BOE JUυT FYQFDUFE UIBU ZPV HP UISPVHI UIFN

TFWFSBM UJNFT JNQSPWJOH ZPVS TDPSF XJUI FBDI SVO�

&YFSDJTFT $PEF 3FQPTJUPSZ

5IJT CPPL IBT BO BDDPNQBOZJOH DPEF SFQPTJUPSZ PO UIF XFC DPOUBJO�

JOH FYBNQMF TPVSDF DPEF BT XFMM BT UIF BOTXFST UP FYFSDJTFT BOE DPEF

DIBMMFOHFT� 5IF SFQPTJUPSZ JT CSPLFO VQ CZ DIBQUFS TP ZPV DBO DIFDL

ZPVS DPEF BHBJOTU UIF TPMVUJPOT QSPWJEFE CZ VT BGUFS ZPV нOJTI FBDI

DIBQUFS� )FSFυT UIF MJOL�

SFBMQZUIPO�DPN�QZUIPO�CBTJDT�FYFSDJTFT

&YBNQMF $PEF -JDFOTF

5IF FYBNQMF 1ZUIPO TDSJQUT BTTPDJBUFE XJUI UIJT CPPL BSF MJDFOTFE VO�

EFS B $SFBUJWF $PNNPOT 1VCMJD %PNBJO $$� -JDFOTF� 5IJT NFBOT

UIBU ZPVυSF XFMDPNF UP VTF BOZ QPSUJPO PG UIF DPEF GPS BOZ QVSQPTF JO

ZPVS PXO QSPHSBNT�

/PUF

5IF DPEF GPVOE JO UIJT CPPL IBT CFFO UFTUFE XJUI 1ZUIPO ���

BOE 1ZUIPO ��� PO 8JOEPXT NBD04 BOE -JOVY�

'PSNBUUJOH $POWFOUJPOT

$PEF CMPDLT XJMM CF VTFE UP QSFTFOU FYBNQMF DPEF�

# This is Python code:

print("Hello world!")

5FSNJOBM DPNNBOET GPMMPX UIF 6OJY GPSNBU�

��

���� #POVT .BUFSJBM � -FBSOJOH 3FTPVSDFT

$ # This is a terminal command:

$ python hello-world.py

%PMMBS TJHOT BSF OPU QBSU PG UIF DPNNBOE�

*UBMJD UFYU XJMM CF VTFE UP EFOPUF B нMF OBNF� IFMMP�XPSME�QZ�

#PME UFYU XJMM CF VTFE UP EFOPUF B OFX PS JNQPSUBOU UFSN�

/PUFT BOE 8BSOJOH CPYFT BQQFBS BT GPMMPXT�

/PUF

5IJT JT B OPUF нMMFE JO XJUI QMBDFIPMEFS UFYU� 5IF RVJDL CSPXO

GPY KVNQT PWFS UIF MB[Z EPH� 5IF RVJDL CSPXO 1ZUIPO TMJUIFST

PWFS UIF MB[Z IPH�

8BSOJOH

5IJT JT B XBSOJOH BMTP нMMFE JO XJUI QMBDFIPMEFS UFYU� 5IF RVJDL

CSPXO GPY KVNQT PWFS UIF MB[Z EPH� 5IF RVJDL CSPXO 1ZUIPO

TMJUIFST PWFS UIF MB[Z IPH�

'FFECBDL � &SSBUB

8F XFMDPNF JEFBT TVHHFTUJPOT GFFECBDL BOE UIF PDDBTJPOBM SBOU�

%JE ZPV нOE B UPQJD DPOGVTJOH %JE ZPV нOE BO FSSPS JO UIF UFYU PS

DPEF %JE XF MFBWF PVU B UPQJD ZPV XPVME MPWF UP LOPX NPSF BCPVU

8FυSF BMXBZT MPPLJOH UP JNQSPWF PVS UFBDIJOH NBUFSJBMT� 8IBUFWFS

UIF SFBTPO QMFBTF TFOE JO ZPVS GFFECBDL BU UIF MJOL CFMPX�

SFBMQZUIPO�DPN�QZUIPO�CBTJDT�GFFECBDL

-FBWF GFFECBDL PO UIJT TFDUJPO |

��

$IBQUFS �

4FUUJOH 6Q 1ZUIPO

5IJT CPPL JT BCPVU QSPHSBNNJOH DPNQVUFST XJUI 1ZUIPO� :PV DPVME

SFBE UIJT CPPL DPWFS�UP�DPWFS BOE BCTPSC UIF JOGPSNBUJPO XJUIPVU

FWFS UPVDIJOH B LFZCPBSE CVU ZPVυE NJTT PVU PO UIF GVO QBSUρDPEJOH�

5P HFU UIF NPTU PVU PG UIJT CPPL ZPV OFFE UP IBWF B DPNQVUFS XJUI

1ZUIPO JOTUBMMFE PO JU BOE B XBZ UP DSFBUF FEJU BOE TBWF 1ZUIPO DPEF

нMFT�

*O UIJT DIBQUFS ZPV XJMM MFBSO IPX UP�

ύ *OTUBMM UIF MBUFTU WFSTJPO PG 1ZUIPO � PO ZPVS DPNQVUFS

ύ 0QFO *%-& 1ZUIPOυT CVJMU�JO *OUFHSBUFE %FWFMPQNFOU BOE

-FBSOJOH &OWJSPONFOU

��

/PUF

&WFO JG ZPV BMSFBEZ IBWF 1ZUIPO ��� JOTUBMMFE JU JT TUJMM B HPPE

JEFB UP TLJN UIJT DIBQUFS UP EPVCMF DIFDL UIBU ZPVS FOWJSPONFOU

JT TFU�VQ GPS GPMMPXJOH BMPOH XJUI UIJT CPPL�

5ISPVHIPVU UIJT CPPL *%-& XJMM CF VTFE UP DSFBUF BOE NPEJGZ

1ZUIPO DPEF нMFT� *G ZPV IBWF B EJмFSFOU QSFGFSSFE DPEF FEJUPS

UIFO ZPV NBZ GPMMPX BMPOH XJUI UIF FYBNQMFT VTJOH UIBU FEJUPS�

+VTU LOPX UIBU TPNF TFDUJPOT QBSUJDVMBSMZ UIFNBUFSJBM DPWFSFE

JO $IBQUFS � XJMM OPU BQQMZ UP DPEF FEJUPST PUIFS UIBO *%-&�

.BOZ PQFSBUJOH TZTUFNT TVDI BT NBD04 BOE -JOVY DPNF XJUI

1ZUIPO QSF�JOTUBMMFE� 5IF WFSTJPO PG 1ZUIPO UIBU DPNFT XJUI ZPVS

PQFSBUJOH TZTUFN JT DBMMFE ZPVS TZTUFN 1ZUIPO�

5IF TZTUFN 1ZUIPO JT BMNPTU BMXBZT PVU�PG�EBUF BOENBZ OPU FWFO CF

B GVMM 1ZUIPO JOTUBMMBUJPO� *UυT FTTFOUJBM UIBU ZPV IBWF UIF NPTU SFDFOU

WFSTJPO PG 1ZUIPO TP UIBU ZPV DBO GPMMPX BMPOH TVDDFTTGVMMZ XJUI UIF

FYBNQMFT JO UIJT CPPL�

5IFSF BSF UXP NBKPS WFSTJPOT PG 1ZUIPO BWBJMBCMF� 1ZUIPO � BMTP

LOPXO BT MFHBDZ 1ZUIPO BOE 1ZUIPO �� 1ZUIPO � XBT SFMFBTFE JO UIF

ZFBS ���� BOE XJMM SFBDI JUT FOE�PG�MJGF PO +BOVBSZ � ����� 5IJT

CPPL GPDVTFT FYDMVTJWFMZ PO 1ZUIPO ��

5IF DIBQUFS JT TQMJU JOUP UISFF TFDUJPOT� 8JOEPXT NBD04 BOE -JOVY�

+VTU нOE UIF TFDUJPO GPS ZPVS PQFSBUJOH TZTUFN BOE GPMMPX UIF TUFQT UP

HFU ZPVS DPNQVUFS TFU�VQ UIFO TLJQ BIFBE UP UIF OFYU DIBQUFS�

*G ZPV IBWF B EJмFSFOU PQFSBUJOH TZTUFN DIFDL PVU UIF 1ZUIPO � *O�

TUBMMBUJPO � 4FUVQ (VJEF NBJOUBJOFE PO SFBMQZUIPO�DPN UP TFF JG ZPVS

04 JT DPWFSFE�

-FUυT EJH JO�

-FBWF GFFECBDL PO UIJT TFDUJPO |

��

���� 8JOEPXT

��� 8JOEPXT

'PMMPX UIFTF TUFQT UP JOTUBMM 1ZUIPO � BOE PQFO *%-& PO 8JOEPXT�

*OTUBMM 1ZUIPO

8JOEPXT TZTUFNT EP OPU UZQJDBMMZ TIJQXJUI 1ZUIPO QSF�JOTUBMMFE� 'PS�

UVOBUFMZ JOTUBMMBUJPO EPFT OPU JOWPMWF NVDI NPSF UIBO EPXOMPBEJOH

UIF 1ZUIPO JOTUBMMFS GSPN UIF QZUIPO�PSH XFCTJUF BOE SVOOJOH JU�

4UFQ �� %PXOMPBE UIF 1ZUIPO � *OTUBMMFS

0QFO B CSPXTFS XJOEPX BOE OBWJHBUF UP UIF EPXOMPBE QBHF GPS 8JO�

EPXT BU QZUIPO�PSH�

6OEFSOFBUI UIF IFBEJOH BU UIF UPQ UIBU TBZT 1ZUIPO 3FMFBTFT GPS 8JO�

EPXT DMJDL PO UIF MJOL GPS UIF -BUFTU 1ZUIPO � 3FMFBTF � 1ZUIPO ��Y�Y�

"T PG UIJT XSJUJOH UIF MBUFTU WFSTJPO JT 1ZUIPO ���� 5IFO TDSPMM UP UIF

CPUUPN BOE TFMFDU 8JOEPXT Y����� FYFDVUBCMF JOTUBMMFS�

/PUF

*G ZPVS TZTUFN IBT B ���CJU QSPDFTTPS UIFO ZPV TIPVME DIPPTF

UIF ���CJU JOTUBMMFS� *G ZPV BSFOυU TVSF JG ZPVS DPNQVUFS JT ���CJU

PS ���CJU TUJDL XJUI UIF ���CJU JOTUBMMFS NFOUJPOFE BCPWF�

4UFQ �� 3VO UIF *OTUBMMFS

3VO UIF JOTUBMMFS CZ EPVCMF�DMJDLJOH PO UIF EPXOMPBEFE нMF� :PV

TIPVME TFF UIF GPMMPXJOH XJOEPX�

��

���� 8JOEPXT

8BSOJOH

.BLF TVSF ZPV DIFDL UIF CPY UIBU TBZT "EE 1ZUIPO ��Y UP 1"5)

BT TIPXO UP FOTVSF UIBU UIF JOTUBMM QMBDFT UIF JOUFSQSFUFS JO ZPVS

FYFDVUJPO QBUI�

$MJDL *OTUBMM /PX UP JOTUBMM 1ZUIPO �� 8BJU GPS UIF JOTUBMMBUJPO UP нOJTI

BOE UIFO DPOUJOVF UP PQFO *%-&�

0QFO *%-&

:PV DBO PQFO *%-& JO UXP TUFQT�

�� $MJDL PO UIF TUBSU NFOV BOE MPDBUF UIF 1ZUIPO ��� GPMEFS�

�� 0QFO UIF GPMEFS BOE TFMFDU *%-& 1ZUIPO ����

*%-& PQFOT B 1ZUIPO TIFMM JO B OFX XJOEPX� 5IF 1ZUIPO TIFMM JT

BO JOUFSBDUJWF FOWJSPONFOU UIBU BMMPXT ZPV UP UZQF JO TPNF 1ZUIPO

DPEF BOE FYFDVUF JU JNNFEJBUFMZ� *U JT B HSFBU XBZ UP HFU TUBSUFE XJUI

1ZUIPO�

5IF 1ZUIPO TIFMM XJOEPX MPPLT MJLF UIJT�

��

���� 8JOEPXT

"U UIF UPQ PG UIF XJOEPX ZPV DBO TFF UIF WFSTJPO PG 1ZUIPO UIBU JT

SVOOJOH BOE TPNF JOGPSNBUJPO BCPVU UIF PQFSBUJOH TZTUFN� *G ZPV

TFF B WFSTJPO MFTT UIBO ��� ZPV NBZ OFFE UP SFWJTJU UIF JOTUBMMBUJPO

JOTUSVDUJPOT JO UIF QSFWJPVT TFDUJPO�

5IF >>> TZNCPM UIBU ZPV TFF JT DBMMFE B QSPNQU� 8IFOFWFS ZPV TFF

UIJT JU NFBOT UIBU 1ZUIPO JT XBJUJOH GPS ZPV UP HJWF JU TPNF JOTUSVD�

UJPOT�

*OUFSBDUJWF 2VJ[

5IJT DIBQUFS DPNFT XJUI B GSFF POMJOF RVJ[ UP DIFDL ZPVS MFBSO�

JOH QSPHSFTT� :PV DBO BDDFTT UIF RVJ[ VTJOH ZPVS QIPOF PS DPN�

QVUFS BU UIF GPMMPXJOH XFC BEESFTT�

SFBMQZUIPO�DPN�RVJ[[FT�QZUIPO�CBTJDT��

/PX UIBU ZPV IBWF 1ZUIPO JOTUBMMFE MFUυT HFU TUSBJHIU JOUP XSJUJOH ZPVS

нSTU 1ZUIPO QSPHSBN� (P BIFBE BOE NPWF PO UP $IBQUFS ��

-FBWF GFFECBDL PO UIJT TFDUJPO |

��

���� NBD04

��� NBD04

'PMMPX UIFTF TUFQT UP JOTUBMM 1ZUIPO � BOE PQFO *%-& PO NBD04�

/PUF

.BOZ SFTPVSDFT SFDPNNFOE JOTUBMMJOH 1ZUIPO � PONBD04XJUI

UIF )PNFCSFX QBDLBHF NBOBHFS� $PNNVOJUZ HVJEFT MJLF 5IF

)JUDIIJLFSυT (VJEF UP 1ZUIPO BMTP SFDPNNFOE UIJT BQQSPBDI

BT EPFT 3FBM 1ZUIPOυT 1ZUIPO � *OTUBMMBUJPO � 4FUVQ (VJEF�

)PNFCSFX JT VTFGVM GPS JOTUBMMJOH QBDLBHFT GPS NBD04 JODMVE�

JOH 1ZUIPO GSPN UIF UFSNJOBM� 8IJMF )PNFCSFX JT TPNFUIJOH

ZPV NBZ XBOU UP MFBSO UP VTF UIF QSPDFTT PG HFUUJOH )PNFCSFX

JOTUBMMFE BOE VTJOH JU UP JOTUBMM 1ZUIPO DBO CF EBVOUJOH GPS B CF�

HJOOFS�

*G ZPV BSF JOUFSFTUFE JO VTJOH )PNFCSFX DIFDL PVU UIF 1ZUIPO

� *OTUBMMBUJPO � 4FUVQ (VJEF GPS TUFQ�CZ�TUFQ JOTUSVDUJPOT�

*OTUBMM 1ZUIPO

.PTU NBD04 NBDIJOFT DPNF XJUI 1ZUIPO � JOTUBMMFE� :PVυMM XBOU UP

JOTUBMM UIF MBUFTU WFSTJPO PG 1ZUIPO �� :PV DBO EP UIJT CZ EPXOMPBEJOH

BO JOTUBMMFS GSPN UIF QZUIPO�PSH XFCTJUF�

4UFQ �� %PXOMPBE UIF 1ZUIPO � *OTUBMMFS

0QFO BCSPXTFSXJOEPXBOEOBWJHBUF UP UIF EPXOMPBEQBHF GPSNBD04

BU QZUIPO�PSH�

6OEFSOFBUI UIF IFBEJOH BU UIF UPQ UIBU TBZT 1ZUIPO 3FMFBTFT GPS

NBD04 DMJDL PO UIF MJOL GPS UIF -BUFTU 1ZUIPO � 3FMFBTF � 1ZUIPO

��Y�Y� "T PG UIJT XSJUJOH UIF MBUFTU WFSTJPO JT 1ZUIPO ���� 5IFO TDSPMM

UP UIF CPUUPN PG UIF QBHF BOE TFMFDU NBD04 ���CJU����CJU JOTUBMMFS�

5IJT TUBSUT UIF EPXOMPBE�

��

���� NBD04

4UFQ �� 3VO UIF *OTUBMMFS

3VO UIF JOTUBMMFS CZ EPVCMF�DMJDLJOH PO UIF EPXOMPBEFE нMF� :PV

TIPVME TFF UIF GPMMPXJOH XJOEPX�

�� 1SFTT UIF $POUJOVF CVUUPO B GFX UJNFT VOUJM ZPV BSF BTLFE UP BHSFF

UP UIF TPGUXBSF MJDFOTF BHSFFNFOU� 5IFO DMJDL "HSFF� :PV BSF

TIPXO B XJOEPX UIBU UFMMT ZPV XIFSF 1ZUIPO XJMM CF JOTUBMMFE BOE

IPX NVDI TQBDF JU XJMM UBLF�

�� :PV NPTU MJLFMZ EPOυU XBOU UP DIBOHF UIF EFGBVMU MPDBUJPO TP HP

BIFBE BOE DMJDL *OTUBMM UP TUBSU UIF JOTUBMMBUJPO� 5IF 1ZUIPO JO�

TUBMMFS XJMM UFMM ZPV XIFO JU JT нOJTIFE DPQZJOH нMFT�

�� $MJDL $MPTF UP DMPTF UIF JOTUBMMFS XJOEPX� /PX UIBU 1ZUIPO JT JO�

TUBMMFE ZPV DBO PQFO VQ *%-& BOE HFU SFBEZ UP XSJUF ZPVS нSTU

1ZUIPO QSPHSBN�

0QFO *%-&

:PV DBO PQFO *%-& JO UISFF TUFQT�

��

���� NBD04

�� 0QFO 'JOEFS BOE DMJDL PO "QQMJDBUJPOT�

�� -PDBUF UIF 1ZUIPO ��� GPMEFS BOE EPVCMF�DMJDL PO JU�

�� %PVCMF�DMJDL PO UIF *%-& JDPO�

*%-& PQFOT B 1ZUIPO TIFMM JO B OFX XJOEPX� 5IF 1ZUIPO TIFMM JT

BO JOUFSBDUJWF FOWJSPONFOU UIBU BMMPXT ZPV UP UZQF JO TPNF 1ZUIPO

DPEF BOE FYFDVUF JU JNNFEJBUFMZ� *U JT B HSFBU XBZ UP HFU TUBSUFE XJUI

1ZUIPO�

/PUF

5P PQFO *%-& FWFONPSF RVJDLMZ QSFTT Cmd+Spacebar UP PQFO UIF

4QPUMJHIU TFBSDI UZQF UIF XPSE idle BOE QSFTT Return�

5IF 1ZUIPO TIFMM XJOEPX MPPLT MJLF UIJT�

"U UIF UPQ PG UIF XJOEPX ZPV DBO TFF UIF WFSTJPO PG 1ZUIPO UIBU JT

SVOOJOH BOE TPNF JOGPSNBUJPO BCPVU UIF PQFSBUJOH TZTUFN� *G ZPV

TFF B WFSTJPO MFTT UIBO ��� ZPV NBZ OFFE UP SFWJTJU UIF JOTUBMMBUJPO

JOTUSVDUJPOT JO UIF QSFWJPVT TFDUJPO�

��

���� 6CVOUV -JOVY

5IF >>> TZNCPM UIBU ZPV TFF JT DBMMFE B QSPNQU� 8IFOFWFS ZPV TFF

UIJT JU NFBOT UIBU 1ZUIPO JT XBJUJOH GPS ZPV UP HJWF JU TPNF JOTUSVD�

UJPOT�

*OUFSBDUJWF 2VJ[

5IJT DIBQUFS DPNFT XJUI B GSFF POMJOF RVJ[ UP DIFDL ZPVS MFBSO�

JOH QSPHSFTT� :PV DBO BDDFTT UIF RVJ[ VTJOH ZPVS QIPOF PS DPN�

QVUFS BU UIF GPMMPXJOH XFC BEESFTT�

SFBMQZUIPO�DPN�RVJ[[FT�QZUIPO�CBTJDT��

/PX UIBU ZPV IBWF 1ZUIPO JOTUBMMFE MFUυT HFU TUSBJHIU JOUP XSJUJOH ZPVS

нSTU 1ZUIPO QSPHSBN� (P BIFBE BOE NPWF PO UP $IBQUFS ��

-FBWF GFFECBDL PO UIJT TFDUJPO |

��� 6CVOUV -JOVY

'PMMPX UIFTF TUFQT UP JOTUBMM 1ZUIPO � BOE PQFO *%-& PO 6CVOUV

-JOVY�

*OTUBMM 1ZUIPO

5IFSF JT B HPPE DIBODF ZPVS 6CVOUV EJTUSJCVUJPO IBT 1ZUIPO JOTUBMMFE

BMSFBEZ CVU JU QSPCBCMZ XPOυU CF UIF MBUFTU WFSTJPO BOE JU NBZ CF

1ZUIPO � JOTUFBE PG 1ZUIPO ��

5P нOE PVU XIBU WFSTJPOT ZPV IBWF PQFO B UFSNJOBM XJOEPX BOE USZ

UIF GPMMPXJOH DPNNBOET�

$ python --version

$ python3 --version

0OF PS NPSF PG UIFTF DPNNBOET TIPVME SFTQPOE XJUI B WFSTJPO BT

CFMPX ZPVS WFSTJPO OVNCFS NBZ WBSZ�

��

���� 6CVOUV -JOVY

$ python3 --version

Python 3.7.2

*G UIF WFSTJPO TIPXO JT 1ZUIPO ��Y PS B WFSTJPO PG 1ZUIPO � UIBU JT

MFTT UIBO ��� UIFO ZPV XBOU UP JOTUBMM UIF MBUFTU WFSTJPO� )PX ZPV

JOTUBMM 1ZUIPO PO 6CVOUV EFQFOET PO XIJDI WFSTJPO PG 6CVOUV ZPV

BSF SVOOJOH� :PV DBO EFUFSNJOF ZPVS MPDBM 6CVOUV WFSTJPO CZ SVOOJOH

UIF GPMMPXJOH DPNNBOE�

$ lsb_release -a

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 18.04.1 LTS

Release: 18.04

Codename: bionic

-PPL BU UIF WFSTJPO OVNCFS OFYU UP Release JO UIF DPOTPMF PVUQVU BOE

GPMMPX UIF DPSSFTQPOEJOH JOTUSVDUJPOT CFMPX�

ύ 6CVOUV ������ EP OPU DPNF XJUI 1ZUIPO ��� CZ EFGBVMU CVU JU JT

JO UIF 6OJWFSTF SFQPTJUPSZ� :PV TIPVME CF BCMF UP JOTUBMM JU XJUI UIF

GPMMPXJOH DPNNBOET�

$ sudo apt-get update

$ sudo apt-get install python3.7 idle-python3.7

ύ *G ZPV BSF VTJOH 6CVOUV �� BOE MPXFS 1ZUIPO ��� JT OPU JO UIF

6OJWFSTF SFQPTJUPSZ BOE ZPV OFFE UP HFU JU GSPN B 1FSTPOBM 1BDL�

BHF "SDIJWF 11"� 5P JOTUBMM 1ZUIPO GSPN UIF ψEFBETOBLFTω 11"

EP UIF GPMMPXJOH�

$ sudo add-apt-repository ppa:deadsnakes/ppa

$ sudo apt-get update

$ sudo apt-get install python3.7 idle-python3.7

:PV DBO DIFDL UIBU UIF DPSSFDU WFSTJPO PG 1ZUIPO XBT JOTUBMMFE CZ SVO�

OJOH python3 --version� *G ZPV TFF B WFSTJPO OVNCFS MFTT UIBO 3.7 ZPV

��

���� 6CVOUV -JOVY

NBZ OFFE UP UZQF python3.7 --version� /PX ZPV BSF SFBEZ UP PQFO *%-&

BOE HFU SFBEZ UP XSJUF ZPVS нSTU 1ZUIPO QSPHSBN�

0QFO *%-&

0O NBOZ -JOVY JOTUBMMBUJPOT ZPV DBO PQFO *%-& GSPN UIF DPNNBOE

MJOF CZ UZQJOH�

$ idle3

*%-& PQFOT B 1ZUIPO TIFMM JO B OFX XJOEPX� 5IF 1ZUIPO TIFMM JT

BO JOUFSBDUJWF FOWJSPONFOU UIBU BMMPXT ZPV UP UZQF JO TPNF 1ZUIPO

DPEF BOE FYFDVUF JU JNNFEJBUFMZ� *U JT B HSFBU XBZ UP HFU TUBSUFE XJUI

1ZUIPO�

5IF 1ZUIPO TIFMM XJOEPX MPPLT MJLF UIJT�

"U UIF UPQ PG UIF XJOEPX ZPV DBO TFF UIF WFSTJPO PG 1ZUIPO UIBU JT

SVOOJOH BOE TPNF JOGPSNBUJPO BCPVU UIF PQFSBUJOH TZTUFN� *G ZPV

��

���� 6CVOUV -JOVY

TFF B WFSTJPO MFTT UIBO ��� ZPV NBZ OFFE UP SFWJTJU UIF JOTUBMMBUJPO

JOTUSVDUJPOT JO UIF QSFWJPVT TFDUJPO�

8BSOJOH

*G ZPV TFF B WFSTJPO PUIFS UIBO 3.7 PS JG UIF idle3 DPNNBOE EPFT

OPU XPSL ZPV NBZ OFFE UP PQFO *%-& XJUI UIF GPMMPXJOH DPN�

NBOE�

$ idle-python3.7

5IF >>> TZNCPM UIBU ZPV TFF JT DBMMFE B QSPNQU� 8IFOFWFS ZPV TFF

UIJT JU NFBOT UIBU 1ZUIPO JT XBJUJOH GPS ZPV UP HJWF JU TPNF JOTUSVD�

UJPOT�

*OUFSBDUJWF 2VJ[

5IJT DIBQUFS DPNFT XJUI B GSFF POMJOF RVJ[ UP DIFDL ZPVS MFBSO�

JOH QSPHSFTT� :PV DBO BDDFTT UIF RVJ[ VTJOH ZPVS QIPOF PS DPN�

QVUFS BU UIF GPMMPXJOH XFC BEESFTT�

SFBMQZUIPO�DPN�RVJ[[FT�QZUIPO�CBTJDT��

/PX UIBU ZPV IBWF 1ZUIPO JOTUBMMFE MFUυT HFU TUSBJHIU JOUP XSJUJOH ZPVS

нSTU 1ZUIPO QSPHSBN� (P BIFBE BOE NPWF PO UP $IBQUFS ��

-FBWF GFFECBDL PO UIJT TFDUJPO |

��

$IBQUFS �

:PVS 'JSTU 1ZUIPO 1SPHSBN

/PX UIBU ZPV IBWF UIF MBUFTU WFSTJPO PG 1ZUIPO JOTUBMMFE PO ZPVS DPN�

QVUFS JUυT UJNF UP TUBSU DPEJOH�

*O UIJT DIBQUFS ZPV XJMM�

ύ 8SJUF ZPVS нSTU 1ZUIPO TDSJQU

ύ -FBSO XIBU IBQQFOT XIFO ZPV SVO B TDSJQU XJUI BO FSSPS

ύ -FBSO IPX UP EFDMBSF B WBSJBCMF BOE JOTQFDU JUT WBMVF

ύ -FBSO IPX UP XSJUF DPNNFOUT

3FBEZ UP CFHJO ZPVS 1ZUIPO KPVSOFZ -FUυT HP�

-FBWF GFFECBDL PO UIJT TFDUJPO |

��� 8SJUF B 1ZUIPO 4DSJQU

*G ZPV EPOυU IBWF *%-& PQFO BMSFBEZ HP BIFBE BOE PQFO JU� 5IFSF BSF

UXP NBJO XJOEPXT UIBU ZPV XJMM XPSL XJUI JO *%-&� UIF JOUFSBDUJWF

XJOEPX XIJDI JT UIF POF UIBU PQFOT XIFO ZPV TUBSU *%-& BOE UIF

TDSJQU XJOEPX�

:PV DBO UZQF DPEF JOUP CPUI UIF JOUFSBDUJWF BOE TDSJQU XJOEPXT� 5IF

EJмFSFODF CFUXFFO UIF UXP JT IPX UIF DPEF JT FYFDVUFE� *O UIJT TFDUJPO

��

���� 8SJUF B 1ZUIPO 4DSJQU

ZPV XJMM XSJUF ZPVS нSTU 1ZUIPO QSPHSBN BOE MFBSO IPX UP SVO JU JO

CPUI XJOEPXT�

5IF *OUFSBDUJWF 8JOEPX

5IF JOUFSBDUJWF XJOEPX DPOUBJOT B 1ZUIPO TIFMM XIJDI JT B UFYUVBM

VTFS JOUFSGBDF VTFE UP JOUFSBDU XJUI UIF 1ZUIPO MBOHVBHF� )FODF UIF

OBNF ψJOUFSBDUJWF XJOEPX�ω

8IFO ZPV нSTU PQFO *%-& UIF UFYU EJTQMBZFE MPPLT TPNFUIJOH MJLF

UIJT�

Python 3.7.2 (default, Dec 25 2018, 03:50:46)

[GCC 7.3.0] on linux

Type "help", "copyright", "credits" or "license()" for more information.

>>>

5IF нSTU MJOF UFMMT ZPV XIBU WFSTJPO PG 1ZUIPO JT SVOOJOH� *O UIJT DBTF

*%-& JT SVOOJOH 1ZUIPO ������ 5IF TFDPOE BOE UIJSE MJOFT HJWF TPNF

JOGPSNBUJPO BCPVU UIF PQFSBUJOH TZTUFN BOE TPNF DPNNBOET ZPV DBO

VTF UP HFU NPSF JOGPSNBUJPO BCPVU 1ZUIPO�

5IF >>> TZNCPM JO UIF MBTU MJOF JT DBMMFE UIF QSPNQU� 5IJT JT XIFSF

ZPV XJMM UZQF JO ZPVS DPEF� (P BIFBE BOE UZQF 1 + 1 BU UIF QSPNQU BOE

QSFTT Enter�

8IFO ZPV IJU Enter 1ZUIPO FWBMVBUFT UIF FYQSFTTJPO EJTQMBZT UIF SF�

TVMU 2 BOE UIFO QSPNQUT ZPV GPS NPSF JOQVU�

>>> 1 + 1

2

>>>

/PUJDF UIBU UIF 1ZUIPO QSPNQU >>> BQQFBST BHBJO BGUFS ZPVS SFTVMU�

1ZUIPO JT SFBEZ GPS NPSF JOTUSVDUJPOT� &WFSZ UJNF ZPV SVO TPNF DPEF

B OFX QSPNQU BQQFBST EJSFDUMZ CFMPX UIF PVUQVU�

��

���� 8SJUF B 1ZUIPO 4DSJQU

5IF TFRVFODF PG FWFOUT JO UIF JOUFSBDUJWF XJOEPX DBO CF EFTDSJCFE BT

B MPPQ XJUI UISFF TUFQT�

�� 'JSTU 1ZUIPO SFBET UIF DPEF FOUFSFE BU UIF QSPNQU�

�� 5IFO UIF DPEF JT FWBMVBUFE�

�� 'JOBMMZ UIF PVUQVU JT QSJOUFE JO UIF XJOEPX BOE B OFX QSPNQU JT

EJTQMBZFE�

5IJT MPPQ JT DPNNPOMZ SFGFSSFE UP BT B3FBE�&WBMVBUF�1SJOU -PPQ PS

3&1-� 1ZUIPO QSPHSBNNFST TPNFUJNFT SFGFS UIF UIF 1ZUIPO TIFMM BT

B ψ1ZUIPO 3&1-ω PS KVTU ψUIF 3&1-ω GPS TIPSU�

/PUF

'SPN UIJT QPJOU PO UIF нOBM >>> QSPNQU EJTQMBZFE BGUFS FYFDVU�

JOH DPEF JO UIF JOUFSBDUJWF XJOEPX JT FYDMVEFE GSPN DPEF FYBN�

QMFT�

-FUυT USZ TPNFUIJOH B MJUUMF NPSF JOUFSFTUJOH UIBO BEEJOH UXP OVNCFST�

" SJUF PG QBTTBHF GPS FWFSZ QSPHSBNNFS JT XSJUJOH UIFJS нSTU ψ)FMMP

XPSMEω QSPHSBN UIBU QSJOUT UIF QISBTF ψ)FMMP XPSMEω PO UIF TDSFFO�

5P QSJOU UFYU UP UIF TDSFFO JO 1ZUIPO ZPV VTF UIF print() GVODUJPO� "

GVODUJPO JT B CJU PG DPEF UIBU UZQJDBMMZ UBLFT TPNF JOQVU EPFT TPNF�

UIJOH XJUI UIBU JOQVU BOE QSPEVDFT TPNF PVUQVU�

-PPTFMZ TQFBLJOH GVODUJPOT JO DPEFXPSL MJLFNBUIFNBUJDBM GVODUJPOT�

'PS FYBNQMF UIF NBUIFNBUJDBM GVODUJPO "S�ȐSq UBLFT UIF SBEJVT r

PG B DJSDMF BT JOQVU BOE QSPEVDFT UIF BSFB PG UIF DJSDMF BT PVUQVU�

��

���� 8SJUF B 1ZUIPO 4DSJQU

8BSOJOH

5IF BOBMPHZ UP NBUIFNBUJDBM GVODUJPOT IBT TPNF QSPCMFNT

UIPVHI CFDBVTF DPEF GVODUJPOT DBO IBWF TJEF FпFDUT� " TJEF

FмFDU PDDVST BOZUJNF B GVODUJPO QFSGPSNT TPNF PQFSBUJPO

UIBU DIBOHFT TPNFUIJOH BCPVU UIF QSPHSBN PS UIF DPNQVUFS

SVOOJOH UIF QSPHSBN�

'PS FYBNQMF ZPV DBO XSJUF B GVODUJPO JO 1ZUIPO UIBU UBLFT

TPNFPOFυT OBNF BT JOQVU TUPSFT UIF OBNF JO B нMF PO UIF

DPNQVUFS BOE UIFO PVUQVUT UIF QBUI UP UIF нMF XJUI UIF OBNF

JO JU� 5IF PQFSBUJPO PG TBWJOH UIF OBNF UP B нMF JT B TJEF FмFDU

PG UIF GVODUJPO�

:PVυMM MFBSO NPSF BCPVU GVODUJPOT JODMVEJOH IPX UP XSJUF ZPVS

PXO JO $IBQUFS ��

1ZUIPOυT print() GVODUJPO UBLFT TPNF UFYU BT JOQVU BOE UIFO EJTQMBZT

UIBU UFYU PO UIF TDSFFO� 5P VTF print() UZQF UIF XPSE print BU UIF

QSPNQU JO UIF JOUFSBDUJWF XJOEPX GPMMPXFE CZ UIF UFYU "Hello, world"

JOTJEF PG QBSFOUIFTFT�

>>> print("Hello, world")

Hello, world

"Hello, world" NVTU CF XSJUUFO XJUI EPVCMF RVPUBUJPO NBSLT TP UIBU

1ZUIPO JOUFSQSFUT JU BT UFYU BOE OPU TPNFUIJOH FMTF�

/PUF

"T ZPV UZQF DPEF JOUP UIF JOUFSBDUJWF XJOEPX ZPV NBZ OPUJDF

UIBU UIF GPOU DPMPS DIBOHFT GPS DFSUBJO QBSUT PG UIF DPEF� *%-&

IJHIMJHIUT QBSUT PG ZPVS EJмFSFOU DPMPST UP IFMQ NBLF JU FBTJFS

GPS ZPV UP JEFOUJGZ XIBU UIF EJмFSFOU QBSUT BSF�

#Z EFGBVMU CVJMU�JO GVODUJPOT TVDI BT print() BSF EJTQMBZFE JO

QVSQMF BOE UFYU JT EJTQMBZFE JO HSFFO�

��

���� 8SJUF B 1ZUIPO 4DSJQU

5IF JOUFSBDUJWF XJOEPX DBO FYFDVUF POMZ B TJOHMF MJOF PG DPEF BU B UJNF�

5IJT JT VTFGVM GPS USZJOH PVU TNBMM DPEF FYBNQMFT BOE FYQMPSJOH UIF

1ZUIPO MBOHVBHF CVU JU IBT B NBKPS MJNJUBUJPO� $PEF NVTU CF FOUFSFE

JO CZ B QFSTPO POF MJOF BU B UJNF�

"MUFSOBUJWFMZ ZPV DBO TUPSF TPNF 1ZUIPO DPEF JO B UFYU нMF BOE UIFO

FYFDVUF BMM PG UIF DPEF JO UIF нMF XJUI B TJOHMF DPNNBOE� 5IF DPEF JO

UIF нMF JT DBMMFE B TDSJQU BOE нMFT DPOUBJOJOH 1ZUIPO TDSJQUT BSF DBMMFE

TDSJQU рMFT�

4DSJQU нMFT BSF OJDF OPU POMZ CFDBVTF UIFZ NBLF JU FBTJFS UP SVO B QSP�

HSBN CVU BMTP CFDBVTF UIFZ DBO CF TIBSFE XJUI PUIFS QFPQMF TP UIBU

UIFZ DBO SVO ZPVS QSPHSBN UPP�

5IF 4DSJQU 8JOEPX

4DSJQUT BSF XSJUUFO VTJOH *%-&υT TDSJQU XJOEPX� :PV DBO PQFO UIF

TDSJQU XJOEPX CZ TFMFDUJOH 'JMF ϓ /FX 'JMF GSPN UIF NFOV BU UIF UPQ PG

UIF JOUFSBDUJWF XJOEPX�

/PUJDF UIBU XIFO UIF TDSJQU XJOEPX PQFOT UIF JOUFSBDUJWF XJOEPX

TUBZT PQFO� "OZ PVUQVU HFOFSBUFE CZ DPEF SVO JO UIF TDSJQU XJOEPX

JT EJTQMBZFE JO UIF JOUFSBDUJWF XJOEPX TP ZPV NBZ XBOU UP SFBSSBOHF

UIF UXP XJOEPXT TP UIBU ZPV DBO TFF CPUI PG UIFN BU UIF TBNF UJNF�

*O UIF TDSJQU XJOEPX UZQF JO UIF TBNF DPEF ZPV VTFE UP QSJOU "Hello,

world" JO UIF JOUFSBDUJWF XJOEPX�

print("Hello, world")

+VTU MJLF UIF JOUFSBDUJWF XJOEPX DPEF UZQFE JOUP UIF TDSJQU XJOEPX JT

IJHIMJHIUFE�

��

���� 8SJUF B 1ZUIPO 4DSJQU

8BSOJOH

8IFO ZPV XSJUF DPEF JO B TDSJQU ZPV EP OPU OFFE UP JODMVEF UIF

>>> QSPNQU UIBU ZPV TFF JO *%-&υT JOUFSBDUJWFXJOEPX� ,FFQ UIJT

JONJOE JG ZPV DPQZ BOE QBTUF DPEF GSPN FYBNQMFT UIBU TIPX UIF

3&1- QSPNQU�

3FNFNCFS UIPVHI UIBU JUυT OPU SFDPNNFOEFE UIBU ZPV DPQZ

BOE QBTUF FYBNQMFT GSPN UIF CPPL� 5ZQJOH FBDI FYBNQMF JO

ZPVSTFMG SFBMMZ QBZT Pм�

#FGPSF ZPV DBO SVO ZPVS TDSJQU ZPVNVTU TBWF JU� 'SPN UIFNFOV BU UIF

UPQ PG UIF XJOEPX TFMFDU 'JMF ϓ 4BWF "Tώ BOE TBWF UIF TDSJQU BT hello_-

world.py� 5IF .py нMF FYUFOTJPO JT UIF DPOWFOUJPOBM FYUFOTJPO VTFE UP

JOEJDBUF UIBU B нMF DPOUBJOT 1ZUIPO DPEF�

*O GBDU JG ZPV TBWF ZPVS TDSJQU XJUI BOZ FYUFOTJPO PUIFS UIBO .py UIF

DPEF IJHIMJHIUJOH XJMM EJTBQQFBS BOE BMM UIF UFYU JO UIF нMF XJMM CF EJT�

QMBZFE JO CMBDL� *%-&XJMM POMZ IJHIMJHIU 1ZUIPO DPEFXIFO JU JT TUPSFE

JO B .py нMF�

0ODF UIF TDSJQU JT TBWFE BMM ZPV IBWF UP EP UP SVO UIF QSPHSBN JT TFMFDU

3VO ϓ 3VO .PEVMF GSPN UIF TDSJQU XJOEPX BOE ZPVυMM TFF Hello, world

BQQFBS JO UIF JOUFSBDUJWF XJOEPX�

Hello, world

/PUF

:PV DBO BMTP QSFTT F5 UP SVO B TDSJQU GSPN UIF TDSJQU XJOEPX�

&WFSZ UJNF ZPV SVO PS SF�SVO B TDSJQU ZPV NBZ TFF UIF GPMMPXJOH PVU�

QVU JO JOUFSBDUJWF XJOEPX�

>>> =================== RESTART ===================

5IJT JT *%-&υT XBZ PG TFQBSBUJOH PVUQVU GSPN EJTUJODU SVOT PG B TDSJQU�

��

���� .FTT 5IJOHT 6Q

0UIFSXJTF JG ZPV SVO POF TDSJQU BGUFS BOPUIFS JU NBZ OPU CF DMFBS XIBU

PVUQVU CFMPOHT UP XIJDI TDSJQU�

5P PQFO BO FYJTUJOH TDSJQU JO *%-& TFMFDU 'JMF ϓ 0QFOώ GSPN UIFNFOV

JO FJUIFS UIF TDSJQU XJOEPX PS UIF JOUFSBDUJWF XJOEPX� 5IFO CSPXTF

GPS BOE TFMFDU UIF TDSJQU нMF ZPV XBOU UP PQFO� *%-& PQFOT TDSJQUT JO

B OFX TDSJQU XJOEPX TP ZPV DBO IBWF TFWFSBM TDSJQUT PQFO BU B UJNF�

/PUF

%PVCMF�DMJDLJOH PO B .py нMF GSPN B нMF NBOBHFS TVDI BT 8JO�

EPXT &YQMPSFS EPFT FYFDVUF UIF TDSJQU JO B OFX XJOEPX� )PX�

FWFS UIF XJOEPX JT DMPTFE JNNFEJBUFMZ XIFO UIF TDSJQU JT EPOF

SVOOJOHρPGUFO CFGPSF ZPV DBO FWFO TFF XIBU IBQQFOFE�

5P PQFO UIF нMF JO *%-& TP UIBU ZPV DBO SVO JU BOE TFF UIF PVUQVU

ZPV DBO SJHIU�DMJDL PO UIF нMF JDPO Ctrl-Click PO NBD04 BOE

DIPPTF UP &EJU XJUI *%-&�

-FBWF GFFECBDL PO UIJT TFDUJPO |

��� .FTT 5IJOHT 6Q

&WFSZCPEZ NBLFT NJTUBLFTρFTQFDJBMMZ XIJMF QSPHSBNNJOH� *O DBTF

ZPV IBWFOυU NBEF BOZ NJTUBLFT ZFU MFUυT HFU B IFBE TUBSU PO UIBU BOE

NFTT TPNFUIJOH VQ PO QVSQPTF UP TFF XIBU IBQQFOT�

.JTUBLFT NBEF JO B QSPHSBN BSF DBMMFE FSSPST BOE UIFSF BSF UXP

NBJO UZQFT PG FSSPST ZPVυMM FYQFSJFODF�

�� 4ZOUBY FSSPST

�� 3VO�UJNF FSSPST

*O UIJT TFDUJPO ZPVυMM TFF TPNF FYBNQMFT PG DPEF FSSPST BOE MFBSO IPX

UP VTF UIF PVUQVU 1ZUIPO EJTQMBZT XIFO BO FSSPS PDDVST UP VOEFSTUBOE

XIBU FSSPS PDDVSSFE BOE XIJDI QJFDF PG DPEF DBVTFE JU�

��

���� .FTT 5IJOHT 6Q

4ZOUBY &SSPST

*O MPPTF UFSNT B TZOUBY FSSPS PDDVST XIFO ZPVXSJUF TPNF DPEF UIBU

JTOυU BMMPXFE JO UIF 1ZUIPO MBOHVBHF� :PV DBO DSFBUF B TZOUBY FSSPS CZ

DIBOHJOH UIF DPOUFOUT PG UIF hello_world.py TDSJQU GSPN UIF MBTU TFDUJPO

UP UIF GPMMPXJOH�

print("Hello, world)

*O UIJT FYBNQMF UIF EPVCMF RVPUBUJPONBSL BU UIF FOEPG "Hello, world"

IBT CFFO SFNPWFE� 1ZUIPOXPOυU CF BCMF UP UFMM XIFSF UIF TUSJOH PG UFYU

FOET� 4BWF UIF BMUFSFE TDSJQU BOE UIFO USZ UP SVO JU� 8IBU IBQQFOT

5IF DPEF XPOυU SVO� *%-& EJTQMBZT BO BMFSU CPY XJUI UIF GPMMPXJOH

NFTTBHF�

EOL while scanning string literal.

&0- TUBOET GPS &OE 0G -JOF TP UIJT NFTTBHF UFMMT ZPV UIBU 1ZUIPO

SFBE BMM UIF XBZ UP UIF FOE PG UIF MJOF XJUIPVU нOEJOH UIF FOE PG TPNF�

UIJOH DBMMFE B TUSJOH MJUFSBM�

" TUSJOH MJUFSBM JT UFYU DPOUBJOFE JO�CFUXFFO UXP EPVCMF RVPUBUJPO

NBSLT� 5IF UFYU "Hello, world" JT BO FYBNQMF PG B TUSJOH MJUFSBM�

/PUF

'PS CSFWJUZ TUSJOH MJUFSBMT BSF PGUFO SFGFSSFE UP BT TUSJOHT BM�

UIPVHI UIF UFSN ψTUSJOHω UFDIOJDBMMZ IBT B NPSF HFOFSBM NFBO�

JOH JO 1ZUIPO� :PV XJMM MFBSO NPSF BCPVU TUSJOHT JO $IBQUFS ��

#BDL JO UIF TDSJQU XJOEPX OPUJDF UIBU UIF MJOF DPOUBJOJOH XJUI "Hello,

world JT IJHIMJHIUFE JO SFE� 5IJT IBOEZ GFBUVSFT IFMQT ZPV RVJDLMZ нOE

XIJDI MJOF PG DPEF DBVTFE UIF TZOUBY FSSPS�

��

���� .FTT 5IJOHT 6Q

3VO�UJNF &SSPST

*%-& DBUDIFT TZOUBY FSSPST CFGPSF B QSPHSBN TUBSUT SVOOJOH CVU TPNF

FSSPST DBOυU CF DBVHIU VOUJM B QSPHSBN JT FYFDVUFE� 5IFTF FSSPST BSF

LOPXO BT SVO�UJNF FSSPST CFDBVTF UIF POMZ PDDVS BU UIF UJNF UIBU B

QSPHSBN JT SVO�

5P HFOFSBUF B SVO�UJNF FSSPS DIBOHF UIF DPEF JO hello_world.py UP UIF

GPMMPXJOH�

print(Hello, world)

/PX CPUI RVPUBUJPO NBSLT GSPN UIF QISBTF "Hello, world" IBWF CFFO

SFNPWFE� %JE ZPV OPUJDF IPX UIF UFYU DIBOHFT DPMPS XIFO SFNPWF UIF

RVPUBUJPO NBSLT *%-& OP MPOHFS SFDPHOJ[FT Hello, world BT B TUSJOH�

8IBU EP ZPV UIJOL IBQQFOT XIFO ZPV SVO UIF TDSJQU 5SZ JU PVU BOE

TFF�

4PNF SFE UFYU JT EJTQMBZFE JO UIF JOUFSBDUJWF XJOEPX�

Traceback (most recent call last):

File "/home/hello_world.py", line 1, in <module>

print(Hello, world)

NameError: name 'Hello' is not defined

8IBU IBQQFOFE 1ZUIPO JT UFMMJOH ZPV B GFX UIJOHT�

ύ " NameError PDDVSSFE�

ύ 5IF FSSPS IBQQFOFE PO MJOF � PG UIF TDSJQU�

ύ 5IF MJOF UIBU HFOFSBUFE UIF FSSPS XBT� print(Hello, world)�

ύ 5IF TQFDJнD FSSPS XBT name 'Hello' is not defined

" NameError JT BO FYBNQMF PG B SVO�UJNF FSSPS CFDBVTF JU PDDVST POMZ

PODF UIF QSPHSBN JT SVOOJOH� 4JODF UIF RVPUBUJPONBSLT BSPVOE Hello,

world BSF NJTTJOH 1ZUIPO EPFTOυU VOEFSTUBOE UIBU JU JT B TUSJOH PG UFYU�

��

���� $SFBUF B 7BSJBCMF

*OTUFBE 1ZUIPO UIJOLT UIBU Hello BOE world BSF OBNFT PG TPNFUIJOH

FMTF JO UIF DPEF UIF TBNF XBZ UIBU print JT UIF OBNF PG B GVODUJPO�

#VU UIF OBNFT Hello BOE world IBWFOυU CFFO EFнOFE BOZXIFSF TP UIF

QSPHSBN DSBTIFT�

*O UIF OFYU TFDUJPO ZPVυMM TFF IPX UP EFнOF OBNFT GPS WBMVFT JO ZPVS

DPEF� #FGPSF ZPV NPWF PO UIPVHI ZPV DBO HFU TPNF QSBDUJDF XJUI

TZOUBY FSSPST BOE SVO�UJNF FSSPST CZ XPSLJOH PO UIF SFWJFX FYFSDJTFT�

3FWJFX &YFSDJTFT

�� 8SJUF B TDSJQU UIBU *%-& XPOυU MFU ZPV SVO CFDBVTF JU IBT B TZOUBY

FSSPS�

�� 8SJUF B TDSJQU UIBU POMZ DSBTIFT ZPVS QSPHSBN PODF JU JT BMSFBEZ

SVOOJOH CFDBVTF JU IBT B SVO�UJNF FSSPS�

-FBWF GFFECBDL PO UIJT TFDUJPO |

��� $SFBUF B 7BSJBCMF

7BSJBCMFT BSF OBNFT UIBU ZPV DBO BTTJHO UP EJмFSFOU PCKFDUT BOE VTF

UP SFGFSFODF UIPTF PCKFDUT UISPVHIPVU ZPVS DPEF� 7BSJBCMFT BSF GVOEB�

NFOUBM QBSUT PG BOZ 1ZUIPO QSPHSBN�

7BMVFT DBO CF BTTJHOFE UP B WBSJBCMF VTJOH B TQFDJBM PQFSBUPS DBMMFE

UIF BTTJHONFOU PQFSBUPS� 5IFSF BSF BMTP TPNF SVMFT HPWFSOJOH XIBU

OBNFT DBO CF VTFE GPS WBSJBCMFT BT XFMM BT TPNF DPOWFOUJPOT UP HVJEF

ZPV XIFO DIPPTJOH B OBNF GPS B WBSJBCMF�

5IF "TTJHONFOU 0QFSBUPS

-FUυTNPEJGZ UIF hello_world.py TDSJQU GSPN UIF MBTU TFDUJPO BHBJO� 5IJT

UJNF XFυMM VTF B WBSJBCMF UP TUPSF TPNF UFYU CFGPSF QSJOUJOH JU UP UIF

TDSFFO�

��

���� $SFBUF B 7BSJBCMF

phrase = "Hello, world"

print(phrase)

*O UIF нSTU MJOF B WBSJBCMF OBNFE phrase JT DSFBUFE BOE UIF WBMVF

"Hello, world" JT BTTJHOFE UP JU VTJOH UIF = PQFSBUPS� 5IFO phrase JT

EJTQMBZFE XJUI UIF print() GVODUJPO�

/PUF

5IF = PQFSBUPS JT DBMMFE UIF BTTJHONFOU PQFSBUPS CFDBVTF JU

JT VTFE UP BTTJHO B WBMVF UP B WBSJBCMF� "MUIPVHI = MPPLT MJLF UIF

ψFRVBMT TJHOω GSPN NBUIFNBUJDT JU IBT B EJмFSFOU NFBOJOH JO

1ZUIPO�

%JTUJOHVJTIJOH UIF = PQFSBUPS GSPN UIF ψFRVBMT TJHOω JT JNQPS�

UBOU BOE DBO CF B TPVSDF PG GSVTUSBUJPO GPS CFHJOOFS QSPHSBN�

NFST� +VTU SFNFNCFS XIFOFWFS ZPV TFF UIF = PQFSBUPS XIBU�

FWFS JT UP UIF SJHIU PG JU JT CFJOH BTTJHOFE UP B WBSJBCMF PO UIF

MFGU�

/PUJDF UIF EJмFSFODF JO XIFSF UIF RVPUBUJPO NBSLT BSF MPDBUFE JO UIF

TDSJQU BCPWF BT DPNQBSFE UP UIF hello_word.py TDSJQU JO UIF QSFWJPVT

TFDUJPO� 5IF RVPUBUJPO NBSLT BSF OP MPOHFS JOTJEF UIF QBSFOUIFTFT PG

UIF print() GVODUJPO�

8IFO ZPV TBWF BOE SVO UIF OFX TDSJQU UIF TBNF PVUQVU BT CFGPSF JT

EJTQMBZFE JO UIF JOUFSBDUJWF XJOEPX�

Hello, world

-PPL DMPTFMZ BU UIF print() GVODUJPO JO UIF TFDPOE MJOF PG UIF BCPWF

TDSJQU� $PNQBSF UIBU UP UIF GPMMPXJOH 1ZUIPO TUBUFNFOU�

print("phrase")

��

���� $SFBUF B 7BSJBCMF

1VUUJOH RVPUBUJPO NBSLT BSPVOE phrase KVTU QSJOUT UIF XPSE ψQISBTFω

JOTUFBE PG QSJOUJOH UIF UFYU BTTJHOFE UP UIF WBSJBCMF OBNFE phrase�

/PUF

5FYU UIBU BQQFBST JO RVPUBUJPO NBSLT JT DBMMFE B TUSJOH� 5IJT

OBNFNBLFT TFOTF CFDBVTF B TUSJOH JT KVTU B HSPVQ PG DIBSBDUFST

UIBU IBWF CFFO TUSVOH UPHFUIFS� :PVυMM MFBSO NPSF BCPVU TUSJOHT

JO $IBQUFS ��

7BSJBCMF /BNFT "SF $BTF 4FOTJUJWF

5BLF B MPPL BU UIF GPMMPXJOH TDSJQU BOE DPNQBSF JU UP UIF TDSJQU BU UIF

CFHJOOJOH PG UIJT TFDUJPO�

Phrase = "Hello, world"

print(phrase)

$BO ZPV TQPU UIF EJмFSFODF *O UIJT FYBNQMF UIF нSTU MJOF EFнOFT

UIF WBSJBCMF PhraseρXJUI B DBQJUBM ψ1ωρCVU UIF TFDPOE MJOF QSJOUT UIF

WBSJBCMF phrase� 4JODF OP WBSJBCMF OBNFE phrase JT EFнOFE SVOOJOH

UIF BCPWF TDSJQU XJMM QSPEVDF B NameError�

1ZUIPO WBSJBCMFT BSF DBTF�TFOTJUJWF TP UIF WBSJBCMFT Phrase BOE phrase

BSF UXP FOUJSFMZ EJмFSFOU UIJOHT� -JLFXJTF GVODUJPOT MJLF print()

BMNPTU BMXBZT TUBSU XJUI MPXFSDBTF MFUUFST� :PV DBO UFMM 1ZUIPO UP

print() CVU JU EPFTOυU LOPX IPX UP Print()�

8IFO ZPV SVO JOUP USPVCMF XJUI UIF DPEF FYBNQMFT JO UIJT CPPL CF

TVSF UP EPVCMF�DIFDL UIBU FWFSZ DIBSBDUFS JO ZPVS DPEFρJODMVEJOH

TQBDFTρFYBDUMZ NBUDIFT UIF FYBNQMFT� $PNQVUFST DBOυU VTF DPNNPO

TFOTF UP JOUFSQSFU XIBU ZPV NFBOU UP TBZ TP CFJOH BMNPTU DPSSFDU

XPOυU HFU B DPNQVUFS UP EP UIF SJHIU UIJOH�

��

���� $SFBUF B 7BSJBCMF

3VMFT GPS 7BMJE 7BSJBCMF /BNFT

7BSJBCMF OBNFT DBO CF BT MPOH PS BT TIPSU BT ZPV MJLF CVU UIFSF BSF B

DPVQMF PG SVMFT UIBU ZPVNVTU GPMMPX� 7BSJBCMF OBNFT DBO POMZ DPOUBJO

VQQFSDBTF BOE MPXFSDBTF MFUUFST "π; Bπ[ EJHJUT �π� BOE VOEFS�

TDPSFT @� )PXFWFS WBSJBCMF OBNFT DBOOPU CFHJO XJUI B EJHJU�

'PS FYBNQMF phrase string1 _a1p4a BOE list_of_names BSF BMM WBMJE WBSJ�

BCMF OBNFT CVU 9lives JT OPU�

/PUF

1ZUIPO WBSJBCMF OBNFT DBO DPOUBJO NBOZ EJмFSFOU WBMJE 6OJ�

DPEF DIBSBDUFST� 5IBU NFBOT WBSJBCMF OBNFT DBO DPOUBJO MFU�

UFST GSPN OPO�&OHMJTI BMQIBCFUT TVDI BT EFDPSBUFE MFUUFST MJLF

ª BOE ½ BOE FWFO $IJOFTF +BQBOFTF BOE "SBCJD TZNCPMT�

6OJDPEF JT B TUBOEBSE GPS EJHJUBMMZ SFQSFTFOUJOH UFYU VTFE JO

NPTU PG UIF XPSMEυT XSJUJOH TZTUFNT� :PV DBO MFBSO NPSF BCPVU

6OJDPEF PO 8JLJQFEJB� 1ZUIPOυT TVQQPSU GPS 6OJDPEF JT BMTP

XFMM EPDVNFOUFE JO UIF PпDJBM 1ZUIPO EPDVNFOUBUJPO�

+VTU CFDBVTF B WBSJBCMF OBNF JT WBMJE EPFTOυU OFDFTTBSJMZ NFBO UIBU JU

JT B HPPE OBNF� $IPPTJOH B HPPE OBNF GPS B WBSJBCMF DBO CF B TVSQSJT�

JOHMZ EJпDVMU UBTL� )PXFWFS UIFSF BSF TPNF HVJEFMJOFT UIBU ZPV DBO

GPMMPX UP IFMQ ZPV DIPPTF CFUUFS OBNFT�

1ZUIPO 7BSJBCMF /BNJOH $POWFOUJPOT

(JWJOH ZPVS WBSJBCMFT EFTDSJQUJWF OBNFT JT FTTFOUJBM FTQFDJBMMZ BT ZPVS

QSPHSBNT CFDPNFNPSF DPNQMFY� %FTDSJQUJWF WBSJBCMF OBNFT PGUFO SF�

RVJSF VTJOHNVMUJQMFXPSET� %POυU CF BGSBJE UP VTF MPOH WBSJBCMF OBNFT

JG UIFZ IFMQ NBLF JU DMFBS XIBU UIF WBSJBCMF JT SFGFSFODJOH�

*O NBOZ QSPHSBNNJOH MBOHVBHFT JU JT DPNNPO UP XSJUF WBSJBCMF

OBNFT JO BMM MPXFSDBTF FYDFQU GPS UIF нSTU MFUUFST PG BMM CVU UIF нSTU

XPSE JO UIF WBSJBCMF OBNF TVDI BT myPhrase PS listOfNames�

5IF QSBDUJDF PG DBQJUBMJ[JOH UIF нSTU MFUUFST PG XPSET JO UIJT NBOOFS JT

��

���� $SFBUF B 7BSJBCMF

LOPXO BT$BNFM$BTF CFDBVTF UIF KVYUBQPTJUJPO PG MPXFS� BOE VQQFS�

DBTF DIBSBDUFST MPPL MJLF IVNQT PO B DBNFM�

*O 1ZUIPO IPXFWFS JU JT NPSF DPNNPO UP XSJUF UIF XIPMF WBSJBCMF

OBNF JO MPXFSDBTF XJUI EJTUJODU XPSET JO B WBSJBCMF OBNF TFQBSBUFE

CZ BO VOEFSTDPSF� 'PS FYBNQMF myPhrase JT XSJUUFO BT my_phrase BOE

listOfNames BT list_of_names� 5IJT TUZMF JT LOPXO BT TOBLF DBTF�

8IJMF UIFSF JT OP IBSE�BOE�GBTU SVMF NBOEBUJOH UIBU ZPV XSJUF ZPVS

WBSJBCMF OBNFT JO TOBLF DBTF UIF QSBDUJDF JT DPEJнFE JO B EPDVNFOU

DBMMFE 1&1 � XIJDI JT XJEFMZ SFHBSEFE BT UIF PпDJBM TUZMF HVJEF GPS

XSJUJOH 1ZUIPO�

'PMMPXJOH UIF TUBOEBSET PVUMJOFE JO 1&1 � FOTVSFT UIBU ZPVS 1ZUIPO

DPEF JT SFBEBCMF CZ B MBSHF OVNCFS PG 1ZUIPO QSPHSBNNFST� 5IJT

NBLFT TIBSJOH BOE DPMMBCPSBUJOH PO DPEF FBTJFS GPS FWFSZPOF JOWPMWFE�

/PUF

"MM PG UIF DPEF FYBNQMFT JO UIJT DPVSTF GPMMPX 1&1 � HVJEFMJOFT

TP ZPVXJMM HFU B MPU PG FYQPTVSF UP XIBU ψXFMM GPSNBUUFEω 1ZUIPO

DPEF MPPLT MJLF�

*O UIJT TFDUJPO ZPV MFBSOFE XIBU WBSJBCMFT BSF BOE IPX UP EFDMBSF

UIFN JO ZPVS TDSJQUT� *O UIF GPMMPXJOH TFDUJPO ZPVυMM TFF IPX UP JO�

TQFDU UIF WBMVF PG B WBSJBCMF JO *%-&υT JOUFSBDUJWF XJOEPX� #VU нSTU

NBLF TVSF ZPVυWF NBTUFSFE UIF DPODFQUT JO UIJT TFDUJPO CZ XPSLJOH

UISPVHI UIF GPMMPXJOH SFWJFX FYFSDJTFT�

3FWJFX &YFSDJTFT

�� 6TJOH UIF JOUFSBDUJWF XJOEPX EJTQMBZ TPNF UFYU PO UIF TDSFFO CZ

VTJOH UIF print() GVODUJPO�

�� 6TJOH UIF JOUFSBDUJWF XJOEPX EJTQMBZ B TUSJOH PG UFYU CZ TBWJOH UIF

TUSJOH UP B WBSJBCMF UIFO SFGFSFODF UIF TUSJOH JO B print() GVODUJPO

VTJOH UIF WBSJBCMF OBNF�

�� %P FBDI PG UIF нSTU UXP FYFSDJTFT BHBJO CZ нSTU TBWJOH ZPVS DPEF JO

��

���� *OTQFDU 7BMVFT JO UIF *OUFSBDUJWF 8JOEPX

B TDSJQU BOE SVOOJOH JU�

-FBWF GFFECBDL PO UIJT TFDUJPO |

��� *OTQFDU 7BMVFT JO UIF *OUFSBDUJWF

8JOEPX

:PV IBWF TFFO IPX UP BTTJHO B TUSJOH UP B WBSJBCMF BOE EJTQMBZ UIBU

TUSJOH XJUI UIF print() GVODUJPO CZ TBWJOH BOE SVOOJOH B TDSJQU� 5IFSF

JT BOPUIFS XBZ UP EJTQMBZ UIF WBMVF PG B WBSJBCMF XIFO ZPV BSF XPSLJOH

JO UIF JOUFSBDUJWF XJOEPX�

5ZQF UIF GPMMPXJOH JOUP *%-&υT JOUFSBDUJWF XJOEPX�

>>> my_phrase = "Hello, world"

>>> my_phrase

8IFO ZPV QSFTT Enter BGUFS UZQJOH my_phrase B TFDPOE UJNF UIF GPMMPX�

JOH PVUQVU JT EJTQMBZFE�

'Hello, world'

1ZUIPO QSJOUT UIF TUSJOH "Hello, world" BOE ZPV EJEOυU IBWF UP UZQF

print(my_phrase)�

/PX UZQF UIF GPMMPXJOH�

>>> print(my_phrase)

5IJT UJNF XIFO ZPV IJU Enter ZPV TFF�

Hello, world

%P ZPV TFF UIF EJмFSFODF JO UIF PVUQVU *U EPFTOυU IBWF BOZ TJOHMF

RVPUFT TVSSPVOEJOH JU� 8IBUυT HPJOH PO IFSF

��

���� *OTQFDU 7BMVFT JO UIF *OUFSBDUJWF 8JOEPX

8IFO ZPV KVTU UZQF my_phrase BOE QSFTT Enter ZPV BSF UFMMJOH 1ZUIPO UP

JOTQFDU UIF WBSJBCMF my_phrase� 5IF PVUQVU EJTQMBZFE JT B VTFGVM SFQSF�

TFOUBUJPO PG UIF PCKFDU BTTJHOFE UP UIF WBSJBCMF� *O UIJT DBTF my_phrase

JT B SFGFSFODF UP UIF TUSJOH "Hello, world" TP UIF PVUQVU JT TVSSPVOEFE

XJUI TJOHMF RVPUFT UP JOEJDBUF UIBU JU JT B TUSJOH PCKFDU�

0O UIF PUIFS IBOE XIFO ZPV print() B WBSJBCMF 1ZUIPO EJTQMBZT

B NPSF IVNBO�SFBEBCMF SFQSFTFOUBUJPO PG UIF PCKFDU SFGFSFODFE

CZ UIF WBSJBCMF� 'PS TUSJOHT CPUI XBZT PG CFJOH EJTQMBZFE BSF

IVNBO�SFBEBCMF CVU UIJT JT OPU UIF DBTF GPS FWFSZ LJOE PG PCKFDU�

4PNFUJNFT UIF UXP XBZT PG EJTQMBZJOH B WBSJBCMF QSPEVDF UIF TBNF

PVUQVU�

>>> x = 2

>>> x

2

>>> print(x)

2

)FSF x SFGFSFODFT UIF JOUFHFS �� 5IF PVUQVU JT OPU EJTQMBZFE JO TVS�

SPVOEJOH RVPUFT CFDBVTF � JT B OVNCFS BOE OPU B TUSJOH�

*OTQFDUJOH B WBSJBCMF JOTUFBE PG QSJOUJOH JU DBO CF VTFGVM GPS B DPVQMF

PG SFBTPOT� :PV DBO VTF JU UP EJTQMBZ UIF WBMVF PG B WBSJBCMF XJUIPVU

UZQJOH print()� .PSF JNQPSUBOUMZ UIPVHI JOTQFDUJOH B WBSJBCMF PGUFO

HJWFT ZPV NPSF VTFGVM JOGPSNBUJPO UIBO print()�

4VQQPTF ZPV IBWF UXP WBSJBCMFT� x = 2 BOE y = "2"� 5IFO print(x)

BOE print(y) CPUI EJTQMBZ UIF TBNF UIJOH� )PXFWFS UZQJOH x BOE y CZ

UIFNTFMWFT TIPXT UIF EJмFSFODF CFUXFFO UIF WBMVFT PG UIF UXP WBSJ�

BCMFT�

>>> x = 2

>>> y = "2"

>>> print(x)

2

��

���� -FBWF :PVSTFMG )FMQGVM /PUFT

>>> print(y)

2

>>> x

2

>>> y

'2'

5IF LFZ UBLFBXBZ IFSF JT UIBU print() EJTQMBZT B SFBEBCMF SFQSFTFOUB�

UJPO PG B WBSJBCMFυT WBMVF XIJMF TJNQMZ UZQJOH UIF OBNF PG B WBSJBCMF

BOE QSFTTJOH Enter EJTQMBZT TPNF VTFGVM SFQSFTFOUBUJPO PG UIF PCKFDU

SFGFSFODFE CZ UIF WBSJBCMF�

$IFDL PVU XIBU IBQQFOT XIFO ZPV UZQF print BOE IJU Enter�

>>> print

<built-in function print>

,FFQ JO NJOE UIBU ZPV DBO POMZ JOTQFDU WBSJBCMFT MJLF UIJT JO UIF JOUFS�

BDUJWF XJOEPX� 'PS FYBNQMF TBWF BOE SVO UIF GPMMPXJOH TDSJQU�

my_phrase = "Hello, world"

my_phrase

5IF TDSJQU FYFDVUFT XJUIPVU BOZ FSSPST CVU OP PVUQVU JT EJTQMBZFE�

5ISPVHIPVU UIJT CPPL ZPV XJMM TFF FYBNQMFT UIBU VTF UIF JOUFSBDUJWF

XJOEPX UP JOTQFDU WBSJBCMFT�

-FBWF GFFECBDL PO UIJT TFDUJPO |

��� -FBWF :PVSTFMG )FMQGVM /PUFT

"DPNNPOFYQFSJFODF BNPOHQSPHSBNNFST JT SFBEJOH TPNFUIJOH UIFZ

XSPUF TFWFSBM NPOUIT BHP BOE XPOEFSJOH ψ8IBU UIF IFDL EPFT UIJT

EP ω 5P IFMQ BWPJE UIFTF NPNFOUT PS BU MFBTU NBLF UIFN B MJUUMF MFTT

QBJOGVM ZPV DBO MFBWF ZPVSTFMG DPNNFOUT JO ZPVS DPEF�

��

���� -FBWF :PVSTFMG )FMQGVM /PUFT

$PNNFOUT BSF MJOFT PG UFYU UIBU EPOυU BмFDU UIF XBZ UIF TDSJQU SVOT�

5IFZ IFMQ UP EPDVNFOU XIBUυT TVQQPTFE UP CF IBQQFOJOH� 1ZUIPO JO�

UFSQSFUT BOZ MJOF UIBU TUBSUT XJUI UIF # DIBSBDUFS BT B DPNNFOU�

)FSF JT BO FYBNQMF PG UIF hello_world.py TDSJQU XJUI TPNF DPNNFOUT

BEEFE JO�

# This is my first script

phrase = "Hello, world."

print(phrase) # This line displays "Hello, world"

5IF нSTU MJOF EPFTOυU EP BOZUIJOH CFDBVTF JU TUBSUT XJUI B #� 1ZUIPO

JHOPSFT UIJT MJOF DPNQMFUFMZ� -JLFXJTF 1ZUIPO JHOPSFT UIF DPNNFOU

PO UIF MBTU MJOF� 5IF WBSJBCMF phrase JT TUJMM QSJOUFE CVU FWFSZUIJOH BGUFS

UIF # JT JHOPSFE�

0G DPVSTF ZPV DBO TUJMM VTF UIF # TZNCPM JOTJEF PG B TUSJOH� 'PS JOTUBODF

1ZUIPO XPOυU NJTUBLF UIF GPMMPXJOH GPS UIF TUBSU PG B DPNNFOU�

print("#1")

��

���� -FBWF :PVSTFMG )FMQGVM /PUFT

/PUF

*U JT PGUFO DPOTJEFSFE CBE QSBDUJDF UP XSJUF B DPNNFOU UIBU SF�

TUBUFT XIBU UIF DPEF GPMMPXJOH JU BMSFBEZ TBZT� 'PS FYBNQMF UIF

GPMMPXJOH DPNNFOU XPVME CF DPOTJEFSFE VOOFDFTTBSZ�

# Print "Hello, world"

print("Hello, world")

/P DPNNFOU JT OFFEFE JO UIF BCPWF FYBNQMF CFDBVTF UIF DPEF

JUTFMG FYQMJDJUMZ EFTDSJCFT XIBU JT CFJOH EPOF�

$PNNFOUT BSF CFTU VTFE UP DMBSJGZ DPEF UIBU NBZ OPU CF FBTZ UP

VOEFSTUBOE� *O UIF GPMMPXJOH FYBNQMF UIF DPNNFOU JT IFMQGVM

CFDBVTF JU NBZ OPU CF DMFBS XIBU JT CFJOH DBMDVMBUFE�

# Calculate the area of a rectangle

area = 10 * 5

.BOZ QSPHSBNNFST TUSJWF UP XSJUF TFMG�EPDVNFOUJOH DPEF

XIJDI JT FYQMJDJU FOPVHI UP VOEFSTUBOE XJUIPVU JOTFSUJOH DPN�

NFOUT� 5IJT JT OPU BMXBZT QPTTJCMF UIPVHI�

*G ZPV IBWF B MPU UP TBZ ZPV DBO BMTP DSFBUF DPNNFOUT UIBU TQBONVMUJ�

QMF MJOFT CZ VTJOH B TFSJFT PG UISFF TJOHMF RVPUFT ''' PS UISFF EPVCMF

RVPUFT """ XJUIPVU BOZ TQBDFT CFUXFFO UIFN� 0ODF ZPV EP UIBU FW�

FSZUIJOH BGUFS UIF ''' PS """ CFDPNFT B DPNNFOU VOUJM ZPV DMPTF UIF

DPNNFOU XJUI B NBUDIJOH ''' PS """�

.VMUJ�MJOF DPNNFOUT BSF GSFRVFOUMZ VTFE BU UIF UPQ PG B TDSJQU UP EPDV�

NFOU XIBU UIF TDSJQU EPFT QSPWJEF JOGPSNBUJPO BCPVU UIF BVUIPS BOE

EFTDSJCF IPX UP VTF UIF TDSJQU� 'PS FYBNQMF UIF hello_world.py TDSJQU

DPVME MPPL TPNFUIJOH MJLF UIJT�

"""

This is my first script.

��

���� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT

It prints the phrase "Hello, world."

The comments are longer than the script!

"""

phrase = "Hello, world."

print(phrase)

5IF нSTU UISFF MJOFT BSF OPX BMM POF DPNNFOU TJODF UIFZ GBMM CFUXFFO

QBJST PG """� :PV DBOυU BEE B NVMUJ�MJOF DPNNFOU BU UIF FOE PG B MJOF

PG DPEF MJLF XJUI UIF # WFSTJPO� 'PS FYBNQMF UIF GPMMPXJOH TDSJQU QSP�

EVDFT B SyntaxError�

print("Hello, world") """This is

an invalid comment"""

#FTJEFT MFBWJOH ZPVSTFMG OPUFT DPNNFOUT DBO BMTP CF VTFE UP ψDPN�

NFOU PVU DPEFω XIJMF ZPVυSF UFTUJOH B TDSJQU� *O PUIFS XPSET BEEJOH

B # BU UIF CFHJOOJOH PG B MJOF PG DPEF JT BO FBTZ XBZ UP NBLF TVSF UIBU

ZPV EPOυU VTF UIBU MJOF SJHIU OPX FWFO UIPVHI ZPVNJHIU XBOU UP LFFQ

JU BOE VTF JU MBUFS�

-FBWF GFFECBDL PO UIJT TFDUJPO |

��� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT

*O UIJT DIBQUFS ZPV MFBSOFEIPX UP JOUFSBDUXJUI UIF 1ZUIPO JOUFSQSFUFS

VTJOH *%-&υT JOUFSBDUJWF XJOEPX JODMVEJOH IPX UP QSJOU TPNFUIJOH UP

UIF DPOTPMF VTJOH UIF print() GVODUJPO� :PV BMTP MFBSOFE IPX UP DSFBUF

BOE TBWF B 1ZUIPO TDSJQU VTJOH *%-&υT TDSJQU FEJUPS�

*O BEEJUJPO UP JOUFSBDUJOH XJUI UIF 1ZUIPO JOUFSQSFUFS ZPV MFBSOFE

BCPVU UISFF JNQPSUBOU DPODFQUT� WBSJBCMFT FSSPST BOE DPNNFOUT�

��

���� 4VNNBSZ BOE "EEJUJPOBM 3FTPVSDFT

7BSJBCMFT BSF OBNFT UIBU BSF BTTJHOFE UP PCKFDUT TVDI BT TUSJOHT VTJOH

UIF BTTJHONFOU PQFSBUPS =� 1ZUIPO IBT SVMFT BCPVU XIBU DPOTUJUVUFT B

WBMJE WBSJBCMF OBNF BOE 1ZUIPO QSPHSBNNFST IBWF BEPQUFE UIF DPO�

WFOUJPO PG XSJUJOH WBSJBCMF OBNFT JO TOBLF DBTF SBUIFS UIBO $BNFM�

$BTF� 5IJT DPOWFOUJPO JT EPDVNFOUFE JO 1&1 � XIJDI JT 1ZUIPOυT PG�

нDJBM TUZMF HVJEF�

&SSPST BSF BO JOFWJUBCMF QBSU PG QSPHSBNNJOH BOE JO UIJT DIBQUFS ZPV

MFBSOFE BCPVU UXP DPNNPO FSSPST� TZOUBY FSSPST XIJDI PDDVS XIFO

ZPV UZQF TPNFUIJOH UIBU DBOOPU CF VOEFSTUPPE CZ UIF 1ZUIPO JOUFS�

QSFUFS BOE SVO�UJNF FSSPST XIJDI DBO POMZ CF DBVHIU PODF B QSPHSBN

JT SVOOJOH�

'JOBMMZ DPNNFOUT BSF VTFE UP MFBWF OPUFT GPS ZPVSTFMG BOE PUIFS QFP�

QMF XIP SFBE ZPVS DPEF� 5IFSF BSF UXP UZQFT PG DPNNFOUT� JOMJOF DPN�

NFOUT XIJDI TUBSU XJUI # BOE NVMUJ�MJOF DPNNFOUT UIBU CFHJO BOE

FOE XJUI USJQMF RVPUFTρFJUIFS ''' PS """�

*OUFSBDUJWF 2VJ[

5IJT DIBQUFS DPNFT XJUI B GSFF POMJOF RVJ[ UP DIFDL ZPVS MFBSO�

JOH QSPHSFTT� :PV DBO BDDFTT UIF RVJ[ VTJOH ZPVS QIPOF PS DPN�

QVUFS BU UIF GPMMPXJOH XFC BEESFTT�

SFBMQZUIPO�DPN�RVJ[[FT�QZUIPO�CBTJDT��

"EEJUJPOBM 3FTPVSDFT

5P UBLF ZPVS LOPXMFEHF FWFO GVSUIFS DIFDL PVU UIF SFTPVSDFT CFMPX�

ύ �� #FHJOOFS 5JQT GPS -FBSOJOH 1ZUIPO 1SPHSBNNJOH

ύ 8SJUJOH $PNNFOUT JO 1ZUIPO (VJEF

ύ 3FDPNNFOEFE SFTPVSDFT PO SFBMQZUIPO�DPN

-FBWF GFFECBDL PO UIJT TFDUJPO |

��

$IBQUFS �

4USJOHT BOE .FUIPET

4USJOHT BSF B GVOEBNFOUBM EBUB UZQF JO 1ZUIPO� *O TJNQMJнFE UFSNT

TUSJOHT BSF DPMMFDUJPOT PG UFYU BOE UIFZ TIPX VQ JONBOZ DPOUFYUT� 'PS

FYBNQMF TUSJOHT DBO DPNF GSPN VTFS JOQVU EBUB SFBE GSPN B нMF PS

NFTTBHFT TFOU CZ PUIFS EFWJDFT UBMLJOH PWFS B OFUXPSL�

*O UIJT DIBQUFS ZPV XJMM MFBSO IPX UP XPSL XJUI TUSJOHT BOE UIF GVOEB�

NFOUBMT PG VTJOH 1ZUIPO NFUIPET� #FDPNJOH QSPнDJFOU JO NBOJQVMBU�

JOH TUSJOHT JT B TLJMM XJUI CJH QBZPмT CFDBVTF B MPU PG UIF EBUB FODPVO�

UFSFE JO UIF SFBM XPSME JT JO UIF GPSN PG VOTUSVDUVSFE UFYU� #Z UIF FOE

PG UIJT DIBQUFS ZPV XJMM LOPX IPX UP�

ύ .BOJQVMBUF TUSJOHT XJUI TUSJOH NFUIPET

ύ 8PSL XJUI VTFS JOQVU

ύ %FBM XJUI TUSJOHT PG OVNCFST

ύ 'PSNBU TUSJOHT GPS QSJOUJOH

-FUυT HFU TUBSUFE�

-FBWF GFFECBDL PO UIJT TFDUJPO |

��

���� 4USJOH 'VOEBNFOUBMT

��� 4USJOH 'VOEBNFOUBMT

*O UIJT TFDUJPO ZPV XJMM MFBSO NPSF BCPVU XIBU B TUSJOH JT BT XFMM BT

TPNF PG UIF GVOEBNFOUBM PQFSBUJPOT ZPV DBO QFSGPSN PO TUSJOHT� #F�

GPSF XF EJWF JO UIPVHI MFUυT TFF XIZ TUSJOHT BSF TP JNQPSUBOU� *O MPPTF

UFSNT B TUSJOH JT B DPMMFDUJPO PG UFYU� 8PSLJOHXJUI UFYU JT QSPCBCMZ OPU

UIF NPTU HMBNPSPVT QBSU PG QSPHSBNNJOH� )PXFWFS NPTU QSPHSBN�

NFST SFHBSEMFTT PG UIFJS TQFDJBMUZ EFBM XJUI UFYU PO B EBJMZ CBTJT�

8FC EFWFMPQFST XPSL XJUI UFYU UIBU HFUT EJTQMBZFE PO B XFC QBHF JO�

QVU GSPN XFC GPSNT BOE SFBE GSPN EBUBCBTFT� *O CVTJOFTT BVUPNB�

UJPO QSPHSBNNFST SFBE BOE FYUSBDU UFYU GSPN 1%'T TQSFBETIFFUT

BOE PUIFS EPDVNFOUT� %BUB TDJFOUJTUT QSPDFTT UFYU UP FYUSBDU EBUB BOE

QFSGPSN UIJOHT MJLF TFOUJNFOU BOBMZTJT XIJDI DBO IFMQ JEFOUJGZ BOE

DMBTTJGZ PQJOJPOT JO B CPEZ PG UFYU�

5IF GPDVT PG UIJT DIBQUFS JT UP QSPWJEF ZPV XJUI BO PWFSWJFX PG IPX

TUSJOHT XPSL BOE B WBSJFUZ PG XBZT UP NBOJQVMBUF BOE FYUSBDU JOGPSNB�

UJPO GSPN UIFN� -FUυT TUBSU Pм CZ UBLJOH B DMPTFS MPPL BU XIBU B TUSJOH

JT�

8IBU *T B 4USJOH

:PV DBO DSFBUF B TUSJOH CZ TVSSPVOEJOH TPNF UFYU XJUI RVPUBUJPO

NBSLT� :PV DBO VTF TJOHMF RVPUFT PS EPVCMF RVPUFT BT MPOH BT

UIF MFBEJOH BOE USBJMJOH RVPUBUJPO NBSLT BSF UIF TBNF UZQF� 5IF

TJOHMF PS EPVCMF RVPUFT UIBU TVSSPVOE B TUSJOH BSF DBMMFE UIF TUSJOHυT

EFMJNJUFST CFDBVTF UIFZ UFMM 1ZUIPO XIFSF POF TUSJOH CFHJOT BOE

FOET�

8IFOFWFS ZPV XSJUF PVU B TUSJOH UIF SFTVMU JT DBMMFE B TUSJOH MJUFSBM�

5IF OBNF JOEJDBUFT UIBU UIF TUSJOH JT XSJUUFO PVU MJUFSBMMZ UIF XBZ JU

MPPLT� $POUSBTU UIJT UP B TUSJOH UIBU NBZ DPNF JOUP ZPVS QSPHSBN JO

UIF GPSN PG VTFS JOQVU� 4VDI B TUSJOH JT OPU B TUSJOH MJUFSBM CFDBVTF JU

JT OPU FYQMJDJUMZ XSJUUFO PVU JO UIF QSPHSBNυT DPEF�

)FSF BSF TPNF FYBNQMFT PG TUSJOH MJUFSBMT�

��

���� 4USJOH 'VOEBNFOUBMT

string1 = 'Hello, world.'

string2 = "We're #1!"

string3 = "1234"

string4 = 'I said, "Put it over by the llama."'

string1 BOE string4 IBWF TJOHMF RVPUFT BT EFMJNJUFST XIJMF string2 BOE

string3 VTF EPVCMF RVPUFT� /PUJDF UIBU string2 BOE string4 TIPX IPX

CPUI LJOET PG RVPUFT DBO CF VTFE JO UIF TBNF TUSJOH� 5IF TUSJOH "We're

#1" VTFT UIF TJOHMF RVPUF ' BT BO BQPTUSPQIF BOE JO UIF TUSJOH 'I said,

"Put it over by the llama."' EPVCMF RVPUFT BSF VTFE JOTJEF PG UIF

TUSJOH�

"GUFS 1ZUIPO SFBET UIF нSTU EFMJNJUFS BMM PG UIF DIBSBDUFST BGUFS JU BSF

DPOTJEFSFE B QBSU PG UIF TUSJOH VOUJM B TFDPOE NBUDIJOH EFMJNJUFS JT

SFBE� 5IJT JT XIZ ZPV DBO VTF B TJOHMF RVPUF JO B TUSJOH EFMJNJUFE CZ

EPVCMF RVPUFT BOE WJDF WFSTB�

*G ZPV USZ UP VTF EPVCMF RVPUFT JOTJEF PG B TUSJOH UIBU JT EFMJNJUFE CZ

EPVCMF RVPUFT ZPV XJMM SVO JOUP TPNF QSPCMFNT�

>>> text = "She said "What time is it?""

File "<stdin>", line 1

text = "She said "What time is it?""

^

SyntaxError: invalid syntax

1ZUIPO UISPXT B SyntaxError CFDBVTF JU UIJOLT UIBU UIF TUSJOH FOET BGUFS

UIF TFDPOE " BOE EPFTOυU LOPX IPX UP JOUFSQSFU UIF SFTU PG UIF MJOF�

��

���� 4USJOH 'VOEBNFOUBMT

/PUF

" DPNNPO QFU QFFWF BNPOH QSPHSBNNFST JT UIF VTF PG NJYFE

RVPUFT GPS EFMJNJUJOH TUSJOHT� 8IFO ZPV XPSL PO B QSPKFDU JU

JT CFTU QSBDUJDF UP QJDL FJUIFS TJOHMF RVPUFT PS EPVCMF RVPUFT BT

UIF EFMJNJUFS PG DIPJDF BOE TUJDL XJUI JU GPS UIF FOUJSF QSPKFDU�

,FFQ JONJOE UIBU UIFSF JTOυU SFBMMZ B SJHIU PS XSPOH DIPJDF� 5IF

HPBM JT UP CF DPOTJTUFOU XIJDI IFMQT NBLF ZPVS DPEF FBTJFS UP

SFBE BOE VOEFSTUBOE�

4USJOHT DBO DPOUBJO BOZ LJOE PG DIBSBDUFS� 'PS FYBNQMF string2 JO UIF

BCPWF FYBNQMF DPOUBJOT B QPVOE TJHO # BOE string3 DPOUBJOT OVN�

CFST� 5IF TUSJOH "×Pýŧħøŋ×" JT BMTP B WBMJE 1ZUIPO TUSJOH�

4USJOH MJUFSBMT DBO CFDPNF RVJUF MPOH� 5IF 1&1� TUZMF�HVJEF SFDPN�

NFOET UIBU BOZ TJOHMF MJOF PG 1ZUIPO DPEF TIPVME DPOUBJO OP NPSF

UIBO �� DIBSBDUFSTρJODMVEJOH TQBDFT� 5P EFBM XJUI TUSJOH MJUFSBMT UIBU

DPOUBJO NPSF UIBO �� DIBSBDUFST ZPV DBO CSFBL VQ UIF TUSJOH BDSPTT

NVMUJQMF MJOFT��

.VMUJ�-JOF 4USJOHT

4VQQPTF ZPV OFFE UP нU UIF GPMMPXJOH UFYU JO B TUSJOH MJUFSBM�

ψ5IJT QMBOFU IBTρPS SBUIFS IBEρB QSPCMFN XIJDI XBT

UIJT� NPTU PG UIF QFPQMF MJWJOH PO JU XFSF VOIBQQZ GPS

QSFUUZ NVDI PG UIF UJNF� .BOZ TPMVUJPOT XFSF TVHHFTUFE

GPS UIJT QSPCMFN CVU NPTU PG UIFTF XFSF MBSHFMZ DPO�

DFSOFE XJUI UIF NPWFNFOUT PG TNBMM HSFFO QJFDFT PG

QBQFS XIJDI JT PEE CFDBVTF PO UIF XIPMF JU XBTOυU UIF

TNBMM HSFFO QJFDFT PG QBQFS UIBU XFSF VOIBQQZ�ω

ρ %PVHMBT "EBNT 5IF )JUDIIJLFSυT (VJEF UP UIF (BMBYZ

5IJT QBSBHSBQI XPOυU нU JO 1&1�υT ���DIBSBDUFS MJOF MJNJU XIJDI JT B

HPPE SFDPNNFOEBUJPO GPS LFFQJOH ZPVS DPEF FBTZ UP SFBE� 4P XIBU EP

ZPV EP

��

���� 4USJOH 'VOEBNFOUBMT

5IFSF BSF B DPVQMF PG XBZT UP UBDLMF UIJT� 5IF нSTU XBZ JT UP CSFBL VQ

UIF TUSJOH BDSPTT NVMUJQMF MJOFT BOE QVU B CBDLTMBTI \ BU UIF FOE PG BMM

CVU UIF MBTU MJOF� )FSFυT BO FYBNQMF�

paragraph = "This planet has - or rather had - a problem, which was \

this: most of the people living on it were unhappy for pretty much \

of the time. Many solutions were suggested for this problem, but \

most of these were largely concerned with the movements of small \

green pieces of paper, which is odd because on the whole it wasn't \

the small green pieces of paper that were unhappy."

/PUJDF UIBU ZPV EPOυU IBWF UP DMPTF FBDI MJOF XJUI B RVPUBUJPO NBSL�

/PSNBMMZ 1ZUIPO XPVME HFU UP UIF FOE PG UIF нSTU MJOF BOE DPNQMBJO

UIBU ZPV EJEOυU DMPTF UIF TUSJOH XJUI B NBUDIJOH EPVCMF RVPUF� 8JUI B

CBDLTMBTI BU UIF FOE IPXFWFS ZPV DBO LFFQ XSJUJOH UIF TBNF TUSJOH

PO UIF OFYU MJOF� 8IFO ZPV QSJOU B TUSJOH MJUFSBM UIBU JT CSPLFO VQ PO

NVMUJQMF MJOFT UIJT XBZ UIF PVUQVU JT TUJMM PO POF MJOF�

"OPUIFS BQQSPBDI JT UP XSBQ ZPVS TUSJOH MJUFSBM XJUI USJQMF RVPUFT FJ�

UIFS """ PS '''� )FSF JT IPX ZPV DPVME XSJUF UIF TBNF QBSBHSBQI BCPWF

VTJOH UIJT BQQSPBDI�

paragraph = """This planet has - or rather had - a problem, which was

this: most of the people living on it were unhappy for pretty much

of the time. Many solutions were suggested for this problem, but

most of these were largely concerned with the movements of small

green pieces of paper, which is odd because on the whole it wasn't

the small green pieces of paper that were unhappy."""

8IFO ZPV XSJUF B TUSJOH MJUFSBM XJUI USJQMF RVPUFT UIF XIJUFTQBDF JO

ZPVS TUSJOH JT QSFTFSWFE� 4P JG ZPV print(paragraph) UIF TUSJOH XJMM CF

CSPLFO VQ PONVMUJQMF MJOFT KVTU MJLF JU JT JO UIF TUSJOH MJUFSBM� 5IJT NBZ

PS NBZ OPU CF XIBU ZPV XBOU TP ZPV XJMM OFFE UP UIJOL BCPVU XIBU UIF

PVUQVU TIPVME CF CFGPSF ZPV DIPPTF IPX UP XSJUF B NVMUJ�MJOF TUSJOH�

5P TFF IPX XIJUFTQBDF JT QSFTFSWFE JO B USJQMF�RVPUFE TUSJOH UZQF UIF

GPMMPXJOH JOUP *%-&υT JOUFSBDUJWF XJOEPX�

��

���� #BTJD 4USJOH 0QFSBUJPOT

>>> print("""This is a

... string that spans across multiple lines

... that also preserves whitespace.""")

5IF PVUQVU MPPLT MJLF UIJT�

This is a

string that spans across multiple lines

that also preserves whitespace.

3FWJFX &YFSDJTFT

�� 1SJOU B TUSJOH UIBU VTFT EPVCMF RVPUBUJPO NBSLT JOTJEF UIF TUSJOH�

�� 1SJOU B TUSJOH UIBU VTFT BO BQPTUSPQIF JOTJEF UIF TUSJOH�

�� 1SJOU B TUSJOH UIBU TQBOTNVMUJQMF MJOFT XJUI XIJUFTQBDF QSFTFSWFE�

�� 1SJOU B POF�MJOF TUSJOH UIBU ZPV IBWF XSJUUFO PVU PO NVMUJQMF MJOFT�

-FBWF GFFECBDL PO UIJT TFDUJPO |

��� #BTJD 4USJOH 0QFSBUJPOT

/PX UIBU ZPV LOPX XIBU B TUSJOH JT BOE IPX UP EFDMBSF TUSJOH MJUFSBMT

JO ZPVS 1ZUIPO DPEF MFUυT FYQMPSF TPNF PG UIF CBTJD PQFSBUJPOT ZPV

DBO EP XJUI TUSJOHT�

*O UIJT TFDUJPO ZPVυMM MFBSO UISFF CBTJD TUSJOH PQFSBUJPOT� IPX UP KPJO

NVMUJQMF TUSJOHT UPHFUIFS JOUP B TJOHMF TUSJOH IPX UP EFUFSNJOF UIF

MFOHUI PG UIF TUSJOH BOE IPX UP BDDFTT JOEJWJEVBM QBSUT PG B TUSJOH�

4USJOH $PODBUFOBUJPO

5XP TUSJOHT DBO CF DPNCJOFE PS DPODBUFOBUFE VTJOH UIF + PQFSBUPS�

��

���� #BTJD 4USJOH 0QFSBUJPOT

>>> string1 = "abra"

>>> string2 = "cadabra"

>>> magic_string = string1 + string2

>>> magic_string

'abracadabra'

*O UIF FYBNQMF BCPWF TUSJOH DPODBUFOBUJPO PDDVST PO UIF UIJSE MJOF

XIFSF string1 BOE string2 BSF DPODBUFOBUFE VTJOH + BOE UIF SFTVMU JT

BTTJHOFE UP UIF WBSJBCMF magic_string� /PUJDF UIBU UIF UXP TUSJOHT BSF

KPJOFE UPHFUIFS XJUIPVU BOZ XIJUFTQBDF CFUXFFO UIFN�

0OF DPNNPO BQQMJDBUJPO PG TUSJOH DPODBUFOBUJPO JT UP KPJO UXP SFMBUFE

TUSJOHT TVDI BT B нSTU BOE MBTU OBNF JOUP B GVMM OBNF�

>>> first_name = "Jean-Luc"

>>> last_name = "Picard"

>>> full_name = first_name + " " + last_name

>>> full_name

'Jean-Luc Picard"

*O UIJT FYBNQMF B TQBDF JT BEEFE CFUXFFO UIF first_name BOE last_name

TUSJOHT CZ нSTU DPODBUFOBUJOH first_nameXJUI " " BOE UIFO DPODBUFOBU�

JOH UIF SFTVMU XJUI last_name�

8IFO ZPV XBOU UP DPNCJOF NBOZ TUSJOHT BU PODF JOTJEF PG B print()

GVODUJPO ZPV DBO BMTP VTF DPNNBT UP TFQBSBUF UIFN� 5IJT BVUPNBUJ�

DBMMZ BEET TQBDFT CFUXFFO UIF TUSJOHT MJLF TP�

>>> print("abra", "ca", "dabra")

abra ca dabra

5IF DPNNBT IBWF UP HP PVUTJEF PG UIF RVPUBUJPO NBSLT TJODF PUIFS�

XJTF UIF DPNNBT XPVME CFDPNF QBSU PG UIF TUSJOHT UIFNTFMWFT�

��

���� #BTJD 4USJOH 0QFSBUJPOT

/PUF

5FDIOJDBMMZ TQFBLJOH XIFO ZPV print() NVMUJQMF TUSJOHT TFQB�

SBUFE CZ B DPNNB ZPV BSFOυU QFSGPSNJOH TUSJOH DPODBUFOBUJPO

CFDBVTF ZPV BSFOυU VTJOH UIF + PQFSBUPS� 5IJT UFDIOJRVF DBO CF

VTFGVM IPXFWFS XIFO ZPV OFFE UP EJTQMBZ TFWFSBM TUSJOHT PO UIF

TBNF MJOF BOE ZPV EPOυU XBOU UP DPODBUFOBUF UIFN JOUP B OFX

TUSJOH�

%FUFSNJOF UIF -FOHUI PG B 4USJOH

5IF MFOHUI PG B TUSJOH JT UIF OVNCFS PG DIBSBDUFST DPOUBJOFE JO UIF

TUSJOH JODMVEJOH TQBDFT� 'PS FYBNQMF UIF TUSJOH "abc" IBT MFOHUI �

BOE UIF TUSJOH "make it so" IBT MFOHUI ���

5P EFUFSNJOF UIF MFOHUI PG B TUSJOH VTF 1ZUIPOυT CVJMU�JO len() GVOD�

UJPO� 5P TFF IPX JU XPSLT UZQF UIF GPMMPXJOH JOUP *%-&υT JOUFSBDUJWF

XJOEPX�

>>> len("abc")

3

:PV DBO VTF len() UP HFU UIF MFOHUI PG TUSJOHT UIBU IBWF CFFO BTTJHOFE

UP B WBSJBCMF�

>>> my_string = "abc"

>>> string_length = len(my_string)

>>> string_length

3

'JSTU UIF TUSJOH "abc" JT BTTJHOFE UP UIF WBSJBCMF my_string� 5IFO len()

JT VTFE UP HFU UIF MFOHUI PG my_string BOE BTTJHO UIJT WBMVF UP UIF

string_length WBSJBCMF� 'JOBMMZ UIF WBMVF PG string_length XIJDI JT �

JT EJTQMBZFE�

/PUJDF IPX my_string JT QMBDFE CFUXFFO UIF UXP QBSFOUIFTFT PG UIF

len() GVODUJPO� 5IJT UFMMT len() UP QFSGPSN JUT PQFSBUJPO XJUI UIF my_-

��

���� #BTJD 4USJOH 0QFSBUJPOT

string WBSJBCMF UIF TBNF XBZ UIBU QVUUJOH B TUSJOH JO CFUXFFO UIF

QBSFOUIFTFT PG print() UFMMT 1ZUIPO UP QSJOU UIF TUSJOH�

"DDFTT $IBSBDUFST JO B 4USJOH

" TUSJOH JT B TFRVFODF PG DIBSBDUFST� :PV DBO BDDFTT JOEJWJEVBM DIBSBD�

UFST JO B TUSJOH CZ UBDLJOH PO TRVBSF CSBDLFUT [ BOE ] BGUFS UIF TUSJOH

BOE QVUUJOH B OVNCFS O JO CFUXFFO UIF CSBDLFUT UP HFU UIF OUI DIBSBD�

UFS JO UIF TUSJOH�

8BSOJOH

#F DBSFGVM XIFO ZPVυSF VTJOH�

ύ QBSFOUIFTFT� ( )

ύ TRVBSF CSBDLFUT� [ ]

ύ DVSMZ CSBDFT� { }

5IFTF BMM NFBO EJмFSFOU UIJOHT JO 1ZUIPO TP ZPV DBO OFWFS

TXJUDI POF GPS BOPUIFS� :PVυMM TFF NPSF FYBNQMFT PG XIFO FBDI

POF JT VTFE BT ZPV QSPHSFTT UISPVHI UIJT CPPL� 'PS OPX KVTU CF

BXBSF UIFZυSF BMM VTFE EJмFSFOUMZ�

5ZQF UIF GPMMPXJOH JOUP *%-&υT JOUFSBDUJWF XJOEPX�

>>> flavor = "apple pie"

>>> flavor[3]

'l'

5ZQJOH flavor[3] SFUVSOT UIF UIJSE DIBSBDUFS PG UIF TUSJOH "apple pie"

XIJDI JTώ "l" 8BJU JTOυU 'p' UIF UIJSE DIBSBDUFS PG "apple pie"

*O 1ZUIPOρBOE NPTU PUIFS QSPHSBNNJOH MBOHVBHFTρDPVOUJOH

BMXBZT TUBSUT BU �� 4P JO UIJT DBTF 'a' JT UIF ψ[FSPUIω DIBSBDUFS PG UIF

TUSJOH "apple pie"� 5IVT 'p' JT UIF нSTU DIBSBDUFS 'p' JT UIF TFDPOE

BOE 'l' JT UIF UIJSE�

��

���� #BTJD 4USJOH 0QFSBUJPOT

5P EJTQMBZ UIF ψнSTUω DIBSBDUFS ZPV OFFE UP QSJOU UIF �UI DIBSBDUFS�

>>> flavor[0]

'a'

5IF OVNCFS BTTJHOFE UP FBDI DIBSBDUFSυT QPTJUJPO JT DBMMFE UIF DIBSBD�

UFSυT JOEFY PS TVCTDSJQU OVNCFS� 5IF GPMMPXJOH UBCMF TIPXT FBDI

DIBSBDUFS PG UIF TUSJOH "apple pie" BOE JUT BTTPDJBUFE JOEFY�

$IBSBDUFS� a p p l e p i e

*OEFY�4VCTDSJQU� 0 1 2 3 4 5 6 7 8

8BSOJOH

'PSHFUUJOH UIBU DPVOUJOH TUBSUT XJUI [FSP BOE USZJOH UP SFGFS UP

UIF нSTU DIBSBDUFS JO B TUSJOH XJUI UIF JOEFY 1 SFTVMUT JO XIBU JT

DPNNPOMZ LOPXO BT BO Pп�CZ�POF FSSPS�

0м�CZ�POF FSSPST BSF B DPNNPO TPVSDF PG GSVTUSBUJPO GPS CFHJO�

OJOH BOE FYQFSJFODFE QSPHSBNNFST BMJLF�

8IBU EP ZPV UIJOL IBQQFOT JG ZPV USZ UP BDDFTT B DIBSBDUFS CZ BO JOEFY

UIBU JT HSFBUFS UIBO UIF JOEFY PG UIF MBTU DIBSBDUFS JO UIF TUSJOH 5SZ

UIJT PVU�

>>> flavor[13]

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

IndexError: string index out of range

1ZUIPO UISPXT BO IndexError UFMMJOH ZPV UIBU UIF JOEFY JT ψPVU PG SBOHF�ω

5IF MBSHFTU JOEFY UIBU ZPV DBO BDDFTT JO B TUSJOH JT POF MFTT UIBO UIF

MFOHUI PG UIF TUSJOH� 4JODF "apple pie" IBT MFOHUI � UIF MBSHFTU JOEFY

ZPV DBO BDDFTT JT ��

��

���� #BTJD 4USJOH 0QFSBUJPOT

-FUυT USZ TPNFUIJOH FWFO DSB[JFS� 8IBU EP ZPV UIJOL IBQQFOT JG ZPV

USZ UP BDDFTT B OFHBUJWF JOEFY (JWF UIJT B USZ�

>>> flavor[-1]

'e'

5IF JOEFY �� JT BTTPDJBUFE UP UIF MBTU DIBSBDUFS JO UIF TUSJOH XIJDI GPS

"apple pie" JT UIF MFUUFS "e"� 5IF OFHBUJWF JOEJDFT GPS UIF DIBSBDUFST JO

UIF TUSJOH "apple pie" BSF TIPXO JO UIF UBCMF CFMPX�

$IBSBDUFS� a p p l e p i e

/FHBUJWF JOEFY� -9 -8 -7 -6 -5 -4 -3 -2 -1

4VQQPTF ZPV OFFE UIF TUSJOH DPOUBJOJOH KVTU UIF нSTU UISFF MFUUFST PG

UIF TUSJOH flavor = "apple pie"� :PV DPVME BDDFTT FBDI DIBSBDUFS CZ

JOEFY BOE DPODBUFOBUF UIFN MJLF UIJT�

>>> first_three_letters = flavor[0] + flavor[1] + flavor[2]

>>> first_three_letters

'app'

:PV DBOQSPCBCMZ JNBHJOF IPX DMVNTZ UIJTXPVME CF GPS FYUSBDUJOH MPUT

PG JOGPSNBUJPO GSPN B MPOH TUSJOH� *U JT VTVBMMZ FBTJFS UP HFU QPSUJPOT

PG B TUSJOH VTJOH TMJDFT�

4USJOH 4MJDFT

:PV DBO FYUSBDU B QPSUJPO PG B TUSJOH DBMMFE B TVCTUSJOH XJUI BO FY�

UFOEFE WFSTJPO PG UIF TVCTDSJQU PQFSBUJPO� 5P EP UIJT JOTFSU B DPMPO

CFUXFFO UXP TVCTDSJQU OVNCFST JOTJEF PG TRVBSF CSBDLFUT MJLF UIJT�

>>> flavor = "apple pie"

>>> flavor[0:3]

'app'

��

���� #BTJD 4USJOH 0QFSBUJPOT

5IF FYQSFTTJPO flavor[0:3] SFUVSOT UIF нSTU UISFF DIBSBDUFST PG UIF

TUSJOH BTTJHOFE UP UIF WBSJBCMF flavor TUBSUJOH BU UIF �UI DIBSBDUFS BOE

HPJOH VQ UP CVU OPU JODMVEJOH UIF �SE DIBSBDUFS� 5IF [0:3] QBSU PG

flavor[0:3] JT DBMMFE B TMJDF TJODF JU SFUVSOT B ψTMJDFω PG UIF TUSJOH SFG�

FSFODFE CZ UIF WBSJBCMF flavor� *O UIJT DBTF JU SFUVSOT B TMJDF PG "apple

pie"� :VN�

5IF OVNCFS CFGPSF UIF DPMPO JO B TMJDF JT BMXBZT UIF JOEFY PG UIF нSTU

DIBSBDUFS UP JODMVEF XIJMF UIF OVNCFS BGUFS UIF DPMPO JT UIF JOEFY

PG UIF нSTU DIBSBDUFS UIBU JTOυU JODMVEFE� *G ZPV VTF UIF DPMPO JO UIF

CSBDLFUT CVU PNJU POF PG UIF OVNCFST JO B SBOHF 1ZUIPO BTTVNFT UIBU

ZPV XBOU UP HP BMM UIF XBZ UP UIF FOE PG UIF TUSJOH JO UIBU EJSFDUJPO�

>>> flavor = "apple pie"

>>> flavor[:5]

'apple'

>>> flavor[5:]

' pie'

>>> flavor[:]

'apple pie'

4MJDFT BMTP TVQQPSU OFHBUJWF JOEJDFT�

>>> flavor[:-5]

'appl'

>>> flavor[-5:]

'e pie'

>>> flavor[-8:-5]

'ppl'

*G ZPV USZ UP BDDFTT BO JOEFY JO B TMJDF UIBU EPFTOυU FYJTU 1ZUIPO XPOυU

UISPX BO IndexError MJLF JU EPFT JG ZPV USZ UP HFU B TJOHMF DIBSBDUFS�

>>> flavor[:14]

'apple pie'

��

���� #BTJD 4USJOH 0QFSBUJPOT

>>> flavor[13:15]

''

*O UIJT FYBNQMF UIF нSTU MJOF HFUT UIF TMJDF GSPN UIF CFHJOOJOH PG UIF

TUSJOH VQ UP CVU OPU JODMVEJOH UIF GPVSUFFOUI DIBSBDUFS� 5IF TUSJOH

BTTJHOFE UP flavor IBT MFOHUI � TP ZPV NJHIU FYQFDU 1ZUIPO UP UISPX

BO FSSPS� *OTUFBE BOZ OPO�FYJTUFOU JOEJDFT BSF JHOPSFE BOE UIF FOUJSF

TUSJOH "apple pie" JT SFUVSOFE�

5IF TFDPOE MJOF PG UIF FYBNQMF TIPXT XIBU IBQQFOT XIFO ZPV USZ UP

HFU B TMJDF XIFSF UIF FOUJSF SBOHF JT PVU PG CPVOET� flavor[13:15] BU�

UFNQUT UP HFU UIF UIJSUFFOUI BOE GPVSUFFOUI DIBSBDUFST XIJDI EPOυU

FYJTU� *OTUFBE PG UISPXJOH BO FSSPS UIF FNQUZ TUSJOH "" JT SFUVSOFE�

4USJOHT "SF *NNVUBCMF

5P XSBQ UIJT TFDUJPO VQ MFUυT EJTDVTT BO JNQPSUBOU QSPQFSUZ PG TUSJOH

PCKFDUT� 4USJOHT BSF JNNVUBCMF XIJDI NFBOT UIBU ZPV DBOυU DIBOHF

UIFN PODF ZPVυWF DSFBUFE UIFN� 'PS JOTUBODF TFF XIBU IBQQFOT XIFO

ZPV USZ UP BTTJHO B OFX MFUUFS UP POF QBSUJDVMBS DIBSBDUFS PG B TUSJOH�

>>> my_string = "goal"

>>> my_string[0] = "f" # This won't work!

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: 'str' object does not support item assignment

1ZUIPO UISPXT B TypeError BOE UFMMT ZPV UIBU str PCKFDUT EPOυU TVQQPSU

JUFN BTTJHONFOU�

/PUF

5IF UFSN str JT 1ZUIPOυT JOUFSOBM OBNF GPS UIF TUSJOH EBUB UZQF�

*G ZPV XBOU UP BMUFS B TUSJOH ZPV NVTU DSFBUF BO FOUJSFMZ OFX TUSJOH�

5P DIBOHF UIF TUSJOH "goal" UP UIF TUSJOH "foal" ZPV DBO VTF B TUSJOH

��

���� 6TF 4USJOH .FUIPET

TMJDF UP DPODBUFOBUF UIF MFUUFS "f"XJUI FWFSZUIJOH CVU UIF нSTU MFUUFS PG

UIF XPSE "goal"�

>>> my_string = "goal"

>>> my_string = "f" + my_string[1:]

>>> my_string

'foal'

'JSTU BTTJHO UIF TUSJOH "goal" UP UIF WBSJBCMF my_string� 5IFO DPODBUF�

OBUF UIF TMJDF my_string[1:] XIJDI JT UIF TUSJOH "oal" XJUI UIF MFUUFS "f"

UP HFU UIF TUSJOH "foal"� *G ZPVυSF HFUUJOH B EJмFSFOU SFTVMU IFSF NBLF

TVSF ZPVυSF JODMVEJOH UIF : DPMPO DIBSBDUFS BT QBSU PG UIF TUSJOH TMJDF�

3FWJFX &YFSDJTFT

�� $SFBUF B TUSJOH BOE QSJOU JUT MFOHUI VTJOH UIF len() GVODUJPO�

�� $SFBUF UXP TUSJOHT DPODBUFOBUF UIFN BOE QSJOU UIF SFTVMUJOH

TUSJOH�

�� $SFBUF UXP TUSJOH WBSJBCMFT UIFO QSJOU POF PG UIFN BGUFS UIF PUIFS

XJUI B TQBDF BEEFE JO CFUXFFO VTJOH B DPNNB JO ZPVS QSJOU TUBUF�

NFOU�

�� 3FQFBU FYFSDJTF � CVU JOTUFBE PG VTJOH DPNNBT JO print() VTF DPO�

DBUFOBUJPO UP BEE B TQBDF CFUXFFO UIF UXP TUSJOHT�

�� 1SJOU UIF TUSJOH "zing" CZ VTJOH TVCTDSJQUT BOE JOEFY OVNCFST PO

UIF TUSJOH "bazinga" UP TQFDJGZ UIF DPSSFDU SBOHF PG DIBSBDUFST�

-FBWF GFFECBDL PO UIJT TFDUJPO |

��� 6TF 4USJOH .FUIPET

5IF 1ZUIPO QSPHSBNNJOH MBOHVBHF JT BO FYBNQMF PG BO PCKFDU�

PSJFOUFE MBOHVBHF XIJDI NFBOT UIBU EBUB JT TUPSFE JO PCKFDUT� "

TUSJOH JT BO FYBNQMF PG BO PCKFDU� %POυU XPSSZ UPP NVDI BCPVU XIBU JU

NFBOT UP CF BO PCKFDU� 8IBU JT JNQPSUBOU GPS SJHIU OPX JT UIBU PCKFDUT

��

���� 6TF 4USJOH .FUIPET

IBWF CPUI EBUB BOE GVODUJPOTρDBMMFE NFUIPETρUIBU BSF VTFE UP

XPSL XJUI UIF EBUB�

*O UIJT TFDUJPO ZPV XJMM MFBSO BCPVU TPNF PG UIF NFUIPET UIBU DBO CF

VTFE UP NBOJQVMBUF TUSJOHT� *O QBSUJDVMBS ZPV XJMM MFBSO IPX UP DPO�

WFSU B TUSJOH UP VQQFS PS MPXFS DBTF IPX UP SFNPWF XIJUFTQBDF GSPN

TUSJOH BOE IPX UP EFUFSNJOF JG B TUSJOH DPOUBJOT POMZ OVNCFST�

$POWFSUJOH 4USJOH $BTF

5P DPOWFSU B TUSJOH UP BMM MPXFS DBTF MFUUFST ZPVVTF UIF TUSJOHυT .lower()

NFUIPE� 5IJT JT EPOF CZ UBDLJOH .lower() PO UP UIF FOE PG UIF TUSJOH

JUTFMG�

>>> "Arthur Dent".lower()

'arthur dent'

5IF . UFMMT 1ZUIPO UIBU XIBU GPMMPXT JT UIF OBNF PG B NFUIPEρUIF

lowerNFUIPE JO UIJT DBTF� 5IF QBSFOUIFTFT () BGUFS UIFNFUIPEυT OBNF

UFMM 1ZUIPO UP FYFDVUF UIF NFUIPE KVTU MJLF QBSFOUIFTFT BSF VTFE UP

FYFDVUF UIF print() BOE len() GVODUJPOT�

4USJOH NFUIPET EPOυU KVTU XPSL PO TUSJOH MJUFSBMT� :PV DBO VTF UIF

.lower() NFUIPE PO B WBSJBCMF OBNF UIBU JT BTTJHOFE UP B TUSJOH BT

XFMM�

>>> name = "Arthur Dent"

>>> name.lower()

'arthur dent'

5IF DPVOUFSQBSU UP UIF .lower()NFUIPE JT UIF .upper()NFUIPE XIJDI

DPOWFSUT FWFSZ DIBSBDUFS JO B TUSJOH UP VQQFS DBTF�

>>> loud_voice = "Can you hear me yet?"

>>> loud_voice.upper()

'CAN YOU HEAR ME YET?'

��

���� 6TF 4USJOH .FUIPET

$PNQBSF UIF .upper() BOE .lower() TUSJOH NFUIPET UP UIF HFOFSBM�

QVSQPTF len() GVODUJPO ZPV TBX JO UIF MBTU TFDUJPO� "TJEF GSPN UIF

EJмFSFOU SFTVMUT PG UIFTF GVODUJPOT UIF JNQPSUBOU EJTUJODUJPO IFSF JT

IPX UIFZ BSF VTFE�

5IF len() GVODUJPO EPFTOυU CFMPOH UP BO PCKFDU� *G ZPV XBOU UP EFUFS�

NJOF UIF MFOHUI PG UIF loud_voice TUSJOH ZPV DBMM UIF len() GVODUJPO

EJSFDUMZ MJLF UIJT�

>>> len(loud_voice)

20

0O UIF PUIFS IBOE .upper() BOE .lower()NVTU CF VTFE JO DPOKVODUJPO

XJUI B TUSJOH PCKFDU� 5IFZ EP OPU FYJTU JOEFQFOEFOUMZ�

/PUF

5ISPVHIPVU UIJT CPPL ZPV XJMM TFF OVNFSPVT FYBNQMFT PG PC�

KFDUNFUIPET� 8IFO SFGFSSJOH UPNFUIPET JO B QBSBHSBQI PG UFYU

UIFZXJMM CF QSFGBDFEXJUI B . EPU TVDI BT .lower() BOE .upper()�

UP JOEJDBUF UIBU UIFZ BSF NFUIPET PG BO PCKFDU BOE OPU HFOFSBM

QVSQPTF GVODUJPOT�

4PNFUJNFT UIF NFUIPEυT QBSFOU PCKFDU JT JODMVEFE JO UIF SFG�

FSFODF UP NBLF JU DMFBS XIJDI PCKFDU UIF NFUIPE CFMPOHT UPρ

GPS FYBNQMF loud_voice.upper()� )PXFWFS UIJT CPPL VTFT UIF

TIPSUFS .upper() TUZMF PG SFGFSSJOH UP BNFUIPEXIFOFWFS UIF DPO�

UFYU JT DMFBS�

3FNPWJOH8IJUFTQBDF 'SPN B 4USJOH

8IJUFTQBDF JT BOZ DIBSBDUFS UIBU JT QSJOUFE BT CMBOL TQBDF� 5IJT JO�

DMVEFT UIJOHT MJLF TQBDFT BOE MJOF GFFET XIJDI BSF TQFDJBM DIBSBDUFST

UIBU NPWF PVUQVU UP B OFX MJOF�

4PNFUJNFT ZPV OFFE UP SFNPWF XIJUFTQBDF GSPN UIF CFHJOOJOH PS FOE

PG B TUSJOH� 5IJT JT FTQFDJBMMZ VTFGVM XIFO XPSLJOH XJUI TUSJOHT UIBU

��

���� 6TF 4USJOH .FUIPET

DPNF GSPN VTFS JOQVU XIFSF FYUSB XIJUFTQBDF DIBSBDUFST NBZ IBWF

CFFO JOUSPEVDFE CZ BDDJEFOU�

5IFSF BSF UISFF TUSJOHNFUIPET UIBU ZPV DBO VTF UP SFNPWF XIJUFTQBDF

GSPN B TUSJOH� .rstrip() .lstrip() BOE .strip()� 5IF нSTU PG UIFTF

.rstrip() SFNPWFT XIJUFTQBDF GSPN UIF SJHIU TJEF PG B TUSJOH�

>>> name = "Arthur Dent "

>>> name

'Arthur Dent '

>>> name.rstrip()

'Arthur Dent'

*O UIJT FYBNQMF UIF TUSJOH "Arthur Dent " IBT нWF USBJMJOH TQBDFT�

1ZUIPO EPFTOυU SFNPWF BOZ USBJMJOH TQBDFT JO B TUSJOH BVUPNBUJDBMMZ

XIFO UIF TUSJOH JT BTTJHOFE UP B WBSJBCMF� 5IF .rstrip() NFUIPE SF�

NPWFT USBJMJOH TQBDFT GSPN UIF SJHIU�IBOE TJEF PG UIF TUSJOH BOE SF�

UVSOT B OFX TUSJOH "Arthur Dent" XIJDI OP MPOHFS IBT UIF TQBDFT BU UIF

FOE�

5IF .lstrip()NFUIPE XPSLT KVTU MJLF .rstrip() FYDFQU UIBU JU SFNPWFT

XIJUFTQBDF GSPN UIF MFGU�IBOE TJEF PG UIF TUSJOH�

>>> name = " Arthur Dent"

>>> name

' Arthur Dent'

>>> name.lstrip()

'Arthur Dent'

5P SFNPWF XIJUFTQBDF GSPN CPUI UIF MFGU BOE UIF SJHIU TJEFT PG UIF

TUSJOH BU UIF TBNF UJNF VTF UIF .strip() NFUIPE�

>>> name = " Arthur Dent "

>>> name

' Arthur Dent '

>>> name.strip()

'Arthur Dent'

��

���� 6TF 4USJOH .FUIPET

/PUF

/POF PG UIF .rstrip() .lstrip() BOE .strip() NFUIPET SFNPWF

XIJUFTQBDF GSPN UIF NJEEMF PG UIF TUSJOH XIJDI ZPV DBO TFF JO

UIF QSFWJPVT FYBNQMFT CFDBVTF UIF TQBDF CFUXFFO ψ"SUIVSω BOE

ψ%FOUω JT QSFTFSWFE FBDI UJNF�

%FUFSNJOF JG B 4USJOH 4UBSUT PS &OET8JUI B 4USJOH

" DPNNPO QSPCMFN XIFO XPSLJOH XJUI TUSJOHT JT UP EFUFSNJOF JG

B HJWFO TUSJOH TUBSUT XJUI PS FOET XJUI DFSUBJO DIBSBDUFST� :PV DBO

VTF UXP TUSJOH NFUIPET UP TPMWF UIJT QSPCMFN� .startswith() BOE

.endswith()�

-FUυT MPPL BU BO FYBNQMF� $POTJEFS UIF TUSJOH "Enterprise"� )FSFυT IPX

ZPV VTF .startswith() UP EFUFSNJOF JG UIF TUSJOH TUBSUT XJUI UIF MFUUFST

"e" BOE "n"�

>>> starship = "Enterprise"

>>> starship.startswith("en")

False

:PVNVTU UFMM .startswith()XIBU DIBSBDUFST UP TFBSDI GPS CZ QSPWJEJOH

B TUSJOH DPOUBJOJOH UIPTF DIBSBDUFST� 4P UP EFUFSNJOF JG "Enterprise"

TUBSUT XJUI UIF MFUUFST "e" BOE "n" ZPV DBMM .startswith("en")� 5IJT SF�

UVSOTώ False 8IZ EP ZPV UIJOL UIBU JT

*G ZPV HVFTTFE UIBU .startswith("en") SFUVSOT False CFDBVTF "En-

terprise" TUBSUT XJUI B DBQJUBM "E" ZPVυSF BCTPMVUFMZ SJHIU� 5IF

.startswith() NFUIPE JT DBTF�TFOTJUJWF� 5P HFU .startswith() UP

SFUVSO True ZPV OFFE UP QSPWJEF JU XJUI UIF TUSJOH "En"�

>>> starship.startswith("En")

True

5IF .endswith() NFUIPE JT VTFE UP EFUFSNJOF JG B TUSJOH FOET XJUI DFS�

UBJO DIBSBDUFST�

��

���� 6TF 4USJOH .FUIPET

>>> starship.endswith("rise")

True

+VTU MJLF .startswith() UIF .endswith() NFUIPE JT DBTF�TFOTJUJWF�

>>> starship.endswith("risE")

False

/PUF

5IF True BOE False WBMVFT BSF OPU TUSJOHT� 5IFZ BSF B TQFDJBM LJOE

PG EBUB UZQF DBMMFE B CPPMFBO WBMVF� :PVXJMM MFBSONPSF BCPVU

CPPMFBO WBMVFT JO $IBQUFS ��

4USJOH .FUIPET BOE *NNVUBCJMJUZ

3FDBMM GSPN UIF QSFWJPVT TFDUJPO UIBU TUSJOHT BSF JNNVUBCMFρUIFZ

DBOυU CF DIBOHFE PODF UIFZ IBWF CFFO DSFBUFE� .PTU TUSJOH NFUIPET

UIBU BMUFS B TUSJOH MJLF .upper() BOE .lower() BDUVBMMZ SFUVSO DPQJFT PG

UIF PSJHJOBM TUSJOH XJUI UIF BQQSPQSJBUF NPEJнDBUJPOT�

*G ZPV BSFOυU DBSFGVM UIJT DBO JOUSPEVDF TVCUMF CVHT JOUP ZPVS QSPHSBN�

5SZ UIJT PVU JO *%-&υT JOUFSBDUJWF XJOEPX�

>>> name = "Elena"

>>> name.upper()

'ELENA'

>>> name

'Elena'

8IFO ZPV DBMM name.upper() OPUIJOH BCPVU name BDUVBMMZ DIBOHFT� *G

ZPV OFFE UP LFFQ UIF SFTVMU ZPV OFFE UP BTTJHO JU UP B WBSJBCMF�

>>> name = "Elena"

>>> name = name.upper()

��

���� 6TF 4USJOH .FUIPET

>>> name

'ELENA'

name.upper() SFUVSOT B OFX TUSJOH "ELENA" XIJDI JT SF�BTTJHOFE UP UIF

name WBSJBCMF� 5IJT PWFSSJEFT UIF PSJHJOBM TUSJOH "Elena" BTTJHOFE UP

"name"�

6TF *%-& UP %JTDPWFS "EEJUJPOBM 4USJOH .FUIPET

4USJOHT IBWF MPUT PG NFUIPET BTTPDJBUFE UP UIFN� 5IF NFUIPET JOUSP�

EVDFE JO UIJT TFDUJPO POMZ TDSBUDI UIF TVSGBDF� *%-& DBO BDUVBMMZ IFMQ

ZPV нOE OFX TUSJOH NFUIPET� 5P TFF IPX нSTU BTTJHO B TUSJOH MJUFSBM

UP B WBSJBCMF JO UIF JOUFSBDUJWF XJOEPX�

>>> my_string = "kerfuffle"

5ZQF my_string GPMMPXFE CZ B QFSJPE CVU EP OPU IJU Enter� :PV TIPVME

TFF UIF GPMMPXJOH JO UIF JOUFSBDUJWF XJOEPX�

>>> my_string.

/PX IJU Ctrl+Space� *%-& EJTQMBZT B MJTU PG FWFSZ TUSJOH NFUIPE UIBU

ZPV DBO TDSPMM UISPVHI XJUI UIF BSSPX LFZT�

" SFMBUFE TIPSUDVU JO *%-& JT UIF BCJMJUZ UP нMM JO UFYU BVUPNBUJDBMMZ

XJUIPVU IBWJOH UP UZQF JO MPOH OBNFT CZ IJUUJOH Tab� 'PS JOTUBODF JG

ZPV POMZ UZQF JO my_string.u BOE UIFO IJU UIF Tab LFZ *%-& BVUPNBUJ�

DBMMZ нMMT JO my_string.upper CFDBVTF UIFSF JT POMZ POF NFUIPE CFMPOH�

JOH UP my_string UIBU CFHJOT XJUI B ψV�ω

5IJT FWFO XPSLT XJUI WBSJBCMF OBNFT� 5SZ UZQJOH JO KVTU UIF нSTU GFX

MFUUFST PG my_string BOE BTTVNJOH ZPV EPOυU IBWF BOZ PUIFS OBNFT BM�

SFBEZ EFнOFE UIBU TIBSF UIPTF нSTU MFUUFST *%-& DPNQMFUFT UIF OBNF

my_string GPS ZPV XIFO ZPV IJU UIF 5"# LFZ�

��

���� *OUFSBDU 8JUI 6TFS *OQVU

3FWJFX &YFSDJTFT

�� 8SJUF B TDSJQU UIBU DPOWFSUT UIF GPMMPXJOH TUSJOHT UP MPXFSDBTF� "An-

imals" "Badger" "Honey Bee" "Honeybadger"� 1SJOU FBDI MPXFSDBTF

TUSJOH�

�� 3FQFBU &YFSDJTF � CVU DPOWFSU FBDI TUSJOH UP VQQFSDBTF JOTUFBE PG

MPXFSDBTF�

�� 8SJUF B TDSJQU UIBU SFNPWFT XIJUFTQBDF GSPN UIF GPMMPXJOH TUSJOHT�

string1 = " Filet Mignon"

string2 = "Brisket "

string3 = " Cheeseburger "

1SJOU PVU UIF TUSJOHT XJUI UIF XIJUFTQBDF SFNPWFE�

�� 8SJUF B TDSJQU UIBU QSJOUT PVU UIF SFTVMU PG .startswith("be") PO FBDI

PG UIF GPMMPXJOH TUSJOHT�

string1 = "Becomes"

string2 = "becomes"

string3 = "BEAR"

string4 = " bEautiful"

�� 6TJOH UIF TBNF GPVS TUSJOHT GSPN &YFSDJTF � XSJUF B TDSJQU UIBU

VTFT TUSJOH NFUIPET UP BMUFS FBDI TUSJOH TP UIBU .startswith("be")

SFUVSOT True GPS BMM PG UIFN�

-FBWF GFFECBDL PO UIJT TFDUJPO |

��� *OUFSBDU 8JUI 6TFS *OQVU

/PX UIBU ZPVυWF TFFO IPX UP XPSL XJUI TUSJOH NFUIPET MFUυT NBLF

UIJOHT JOUFSBDUJWF� *O UIJT TFDUJPO ZPVXJMM MFBSO IPX UP HFU TPNF JOQVU

GSPN B VTFS XJUI UIF input() GVODUJPO� :PVυMM XSJUF B QSPHSBN UIBU BTLT

B VTFS UP JOQVU TPNF UFYU BOE UIFO EJTQMBZ UIBU UFYU CBDL UP UIFN JO

VQQFSDBTF�

5P VTF UIF input() GVODUJPO ZPV NVTU TQFDJGZ B QSPNQU� 5IF QSPNQU

JT KVTU B TUSJOH UIBU ZPV QVU JO CFUXFFO UIF QBSFOUIFTFT PG input()� *U

��

���� *OUFSBDU 8JUI 6TFS *OQVU

DBO CF BOZUIJOH ZPV XBOU� B XPSE B TZNCPM B QISBTFρBOZUIJOH UIBU

JT B WBMJE 1ZUIPO TUSJOH�

5IF input() GVODUJPO EJTQMBZT UIF QSPNQU BOEXBJUT GPS UIF VTFS UP UZQF

TPNFUIJOH PO UIFJS LFZCPBSE� 8IFO UIF VTFS IJUT Enter input() SF�

UVSOT UIFJS JOQVU BT B TUSJOH UIBU DBO CF BTTJHOFE UP B WBSJBCMF BOE

VTFE UP EP TPNFUIJOH JO ZPVS QSPHSBN�

5P TFF IPX input() XPSLT TBWF BOE SVO UIF GPMMPXJOH TDSJQU�

prompt = "Hey, what's up? "

user_input = input(prompt)

print("You said:", user_input)

8IFO ZPV SVO UIJT TDSJQU ZPVυMM TFF Hey, what's up? EJTQMBZFE JO UIF

JOUFSBDUJWF XJOEPXXJUI B CMJOLJOH DVSTPS� 5IF TJOHMF TQBDF BU UIF FOE

PG UIF TUSJOH "Hey, what's up " NBLFT TVSF UIBU XIFO UIF VTFS TUBSUT

UP UZQF UIF UFYU JT TFQBSBUFE GSPN UIF QSPNQU XJUI B TQBDF� 8IFO

ZPV UZQF B SFTQPOTF BOE QSFTT Enter ZPVS SFTQPOTF JT BTTJHOFE UP UIF

user_input WBSJBCMF�

)FSFυT B TBNQMF SVO PG UIF QSPHSBN�

Hey, what's up? Mind your own business.

You said: Mind your own business.

0ODF ZPV IBWF JOQVU GSPN B VTFS ZPV DBO EP TPNFUIJOH XJUI JU� 'PS

FYBNQMF UIF GPMMPXJOH TDSJQU UBLFT VTFS JOQVU BOE ψTIPVUTω JU CBDL

CZ DPOWFSUJOH UIF JOQVU UP VQQFSDBTF XJUI .upper() BOE QSJOUJOH UIF

SFTVMU�

response = input("What should I shout? ")

response = response.upper()

print("Well, if you insist...", response)

��

���� $IBMMFOHF� 1JDL "QBSU :PVS 6TFSυT *OQVU

3FWJFX &YFSDJTFT

�� 8SJUF B TDSJQU UIBU UBLFT JOQVU GSPN UIF VTFS BOE EJTQMBZT UIBU JO�

QVU CBDL�

�� 8SJUF B TDSJQU UIBU UBLFT JOQVU GSPN UIF VTFS BOE EJTQMBZ UIF JOQVU

JO MPXFSDBTF�

�� 8SJUF B TDSJQU UIBU UBLFT JOQVU GSPN UIF VTFS BOE EJTQMBZT UIF OVN�

CFS PG DIBSBDUFST JOQVUUFE�

-FBWF GFFECBDL PO UIJT TFDUJPO |

��� $IBMMFOHF� 1JDL "QBSU :PVS 6TFSφT

*OQVU

8SJUF B TDSJQU OBNFE first_letter.py UIBU нSTU QSPNQUT UIF VTFS GPS

JOQVU CZ VTJOH UIF TUSJOH� Tell me your password: 5IF TDSJQU TIPVME

UIFO EFUFSNJOF UIF нSTU MFUUFS PG UIF VTFSυT JOQVU DPOWFSU UIBU MFUUFS

UP VQQFS�DBTF BOE EJTQMBZ JU CBDL�

'PS FYBNQMF JG UIF VTFS JOQVU JT "no" UIFO UIF QSPHSBN TIPVME SFTQPOE

MJLF UIJT�

The first letter you entered was: N

'PS OPX JUυT PLBZ JG ZPVS QSPHSBN DSBTIFT XIFO UIF VTFS FOUFST OPUI�

JOH BT JOQVUρUIBU JT UIFZ KVTU IJU Enter JOTUFBE PG UZQJOH TPNFUIJOH JO�

:PVυMM MFBSO BCPVU B DPVQMF PG XBZT ZPV DBO EFBM XJUI UIJT TJUVBUJPO JO

BO VQDPNJOH DIBQUFS�

-FBWF GFFECBDL PO UIJT TFDUJPO |

��� 8PSLJOH8JUI 4USJOHT BOE /VNCFST

8IFOZPV HFU VTFS JOQVU VTJOH UIF input() GVODUJPO UIF SFTVMU JT BMXBZT

B TUSJOH� 5IFSF BSFNBOZ PUIFS UJNFT XIFO JOQVU JT HJWFO UP B QSPHSBN

��

���� 8PSLJOH 8JUI 4USJOHT BOE /VNCFST

BT B TUSJOH� 4PNFUJNFT UIPTF TUSJOHT DPOUBJO OVNCFST UIBU OFFE UP CF

GFE JOUP DBMDVMBUJPOT�

*O UIJT TFDUJPO ZPV XJMM MFBSO IPX UP EFBM XJUI TUSJOHT PG OVNCFST� :PV

XJMM TFF IPXBSJUINFUJD PQFSBUJPOTXPSL PO TUSJOHT BOEIPX UIFZ PGUFO

MFBE UP TVSQSJTJOH SFTVMUT� :PV XJMM BMTP MFBSO IPX UP DPOWFSU CFUXFFO

TUSJOHT BOE OVNCFS UZQFT�

4USJOHT BOE "SJUINFUJD 0QFSBUPST

:PVυWF TFFO UIBU TUSJOH PCKFDUT DBO IPME NBOZ UZQFT PG DIBSBDUFST JO�

DMVEJOH OVNCFST� )PXFWFS EPOυU DPOGVTF TUSJOH ψOVNCFSTω XJUI BD�

UVBM OVNCFST� 'PS JOTUBODF USZ UIJT CJU PG DPEF PVU JO *%-&υT JOUFSBD�

UJWF XJOEPX�

>>> num = "2"

>>> num + num

'22'

5IF + PQFSBUPS XIFO VTFE XJUI UXP TUSJOHT DPODBUFOBUFT TUSJOHT UP�

HFUIFS� 4P UIF SFTVMU PG "2" + "2" JT "22" OPU "4"�

4USJOHT DBO CF ψNVMUJQMJFEω CZ BO JOUFHFS� 5ZQF UIF GPMMPXJOH JOUP UIF

JOUFSBDUJWF XJOEPX�

>>> num = "12"

>>> num * 3

'121212'

5IF FYQSFTTJPO num * 3 DPODBUFOBUFT UIF TUSJOH SFGFSFODFE CZ "12"XJUI

JUTFMG � UJNFT BOE SFUVSOT UIF TUSJOH "121212"� 5P DPNQBSF UIJT PQFSB�

UJPO UP BSJUINFUJD XJUI OVNCFST OPUJDF UIBU "12" * 3 = "12" + "12" +

"12"� *O PUIFS XPSET NVMUJQMZJOH B TUSJOH CZ BO JOUFHFS n DPODBUFOBUFT

UIBU TUSJOH XJUI JUTFMG n UJNFT�

5IF OVNCFS PO UIF SJHIU�IBOE TJEF PG UIF FYQSFTTJPO num * 3 DBO CF

NPWFE UP UIF MFGU BOE UIF SFTVMU JT VODIBOHFE�

��

���� 8PSLJOH 8JUI 4USJOHT BOE /VNCFST

>>> 3 * num

'121212'

8IBU EP ZPV UIJOL IBQQFOT JG ZPV VTF UIF * PQFSBUPS CFUXFFO UXP

TUSJOHT 5ZQF "12" * "3" JO JO UIF JOUFSBDUJWF XJOEPX BOE QSFTT En-

ter�

>>> "12" * "3"

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: can't multiply sequence by non-int of type 'str'

1ZUIPO UISPXT B TypeError BOE UFMMT ZPV UIBU ZPV DBOυU NVMUJQMZ B TF�

RVFODF CZ B OPO�JOUFHFS� 8IFO UIF * PQFSBUPS JT VTFE XJUI B TUSJOH

PO FJUIFS UIF MFGU PS UIF SJHIU TJEF JU BMXBZT FYQFDUT BO JOUFHFS PO UIF

PUIFS TJEF�

/PUF

" TFRVFODF JT BOZ 1ZUIPO PCKFDU UIBU TVQQPSUT BDDFTTJOH FMF�

NFOUT CZ TVCTDSJQU� 4USJOHT BSF TFRVFODFT� :PVXJMM MFBSO BCPVU

PUIFS TFRVFODF UZQFT JO $IBQUFS ��

8IBU EP ZPV UIJOL IBQQFOT XIFO ZPV USZ UP BEE B TUSJOH UP B OVNCFS

>>> "3" + 3

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: can only concatenate str (not "int") to str

"HBJO 1ZUIPO UISPXT B TypeError CFDBVTF UIF + PQFSBUPS FYQFDUT CPUI

UIJOHT PO FJUIFS TJEF PG JU UP CF PG UIF TBNF UZQF� *G BOZ POF PG UIF

PCKFDUT PO FJUIFS TJEF PG + JT B TUSJOH 1ZUIPO USJFT UP QFSGPSN TUSJOH

DPODBUFOBUJPO� "EEJUJPO XJMM POMZ CF QFSGPSNFE JG CPUI PCKFDUT BSF

OVNCFST� 4P UP BEE "3" + 3 BOE HFU 6 ZPV NVTU нSTU DPOWFSU UIF

TUSJOH "3" UP B OVNCFS�

��

���� 8PSLJOH 8JUI 4USJOHT BOE /VNCFST

$POWFSUJOH 4USJOHT UP /VNCFST

5IF TypeError FSSPST ZPV TBX JO UIF QSFWJPVT TFDUJPO IJHIMJHIU B DPN�

NPO QSPCMFN FODPVOUFSFE XIFO XPSLJOH XJUI VTFS JOQVU� UZQF NJT�

NBUDIFT XIFO USZJOH UP VTF UIF JOQVU JO BO PQFSBUJPO UIBU SFRVJSFT B

OVNCFS BOE OPU B TUSJOH�

-FUυT MPPL BU BO FYBNQMF� 4BWF BOE SVO UIF GPMMPXJOH TDSJQU�

num = input("Enter a number to be doubled: ")

doubled_num = num * 2

print(doubled_num)

8IFO ZPV FOUFS B OVNCFS TVDI BT � ZPV FYQFDU UIF PVUQVU UP CF � CVU

JO UIJT DBTF ZPV HFU ��� 3FNFNCFS input() BMXBZT SFUVSOT B TUSJOH TP

JG ZPV JOQVU � UIFO num JT BTTJHOFE UP UIF TUSJOH "2" OPU UIF JOUFHFS 2�

5IFSFGPSF UIF FYQSFTTJPO num * 2 SFUVSOT UIF TUSJOH "2" DPODBUFOBUFE

XJUI JUTFMG XIJDI JT "22"�

*O PSEFS UP QFSGPSN BSJUINFUJD PO OVNCFST UIBU BSF DPOUBJOFE JO B

TUSJOH ZPV NVTU нSTU DPOWFSU UIFN GSPN B TUSJOH UZQF UP B OVNCFS

UZQF� 5IFSF BSF UXP XBZT UP EP UIJT� int() BOE float()�

int() TUBOET GPS ψJOUFHFSω BOE DPOWFSUT PCKFDUT JOUP XIPMF OVNCFST

XIJMF float() TUBOET GPS ψGMPBUJOH�QPJOU OVNCFSω BOE DPOWFSUT PCKFDUT

JOUP OVNCFST XJUI EFDJNBM QPJOUT� )FSFυT XIBU VTJOH UIFN MPPLT MJLF

JO UIF JOUFSBDUJWF XJOEPX�

>>> int("12")

12

>>> float("12")

12.0

/PUJDF IPX float() BEET B EFDJNBM QPJOU UP UIF OVNCFS� 'MPBUJOH�

QPJOU OVNCFST BMXBZT IBWF BU MFBTU POF EFDJNBM QMBDF PG QSFDJTJPO� 'PS

UIJT SFBTPO ZPV DBOυU DIBOHF B TUSJOH UIBU MPPLT MJLF B GMPBUJOH�QPJOU

��

���� 8PSLJOH 8JUI 4USJOHT BOE /VNCFST

OVNCFS JOUP BO JOUFHFS CFDBVTF ZPV XPVME MPTF FWFSZUIJOH BGUFS UIF

EFDJNBM QPJOU�

>>> int("12.0")

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

ValueError: invalid literal for int() with base 10: '12.0'

&WFO UIPVHI UIF FYUSB � BGUFS UIF EFDJNBM QMBDF EPFTOυU BEE BOZ WBMVF

UP UIF OVNCFS 1ZUIPO XPOυU DIBOHF ���� JOUP �� CFDBVTF JU XPVME

SFTVMU JO UIF MPTT PG QSFDJTJPO�

-FUυT SFWJTJU UIF TDSJQU GSPN UIF CFHJOOJOH PG UIJT TFDUJPO BOE TFF IPX

UP нY JU� )FSFυT UIF TDSJQU BHBJO�

num = input("Enter a number to be doubled: ")

doubled_num = num * 2

print(doubled_num)

5IF JTTVF MJFT JO UIF MJOF doubled_num = num * 2 CFDBVTF num SFGFSFODFT

B TUSJOH BOE 2 JT BO JOUFHFS� :PV DBO нY UIF QSPCMFN CZ XSBQQJOH num

XJUI FJUIFS int() PS float()� 4JODF UIF QSPNQUT BTLT UIF VTFS UP JOQVU B

OVNCFS BOE OPU TQFDJнDBMMZ BO JOUFHFS MFUυT DPOWFSU num UP B GMPBUJOH�

QPJOU OVNCFS�

num = input("Enter a number to be doubled: ")

doubled_num = float(num) * 2

print(doubled_num)

/PX XIFO ZPV SVO UIJT TDSJQU BOE JOQVU � ZPV HFU ��� BT FYQFDUFE�

5SZ JU PVU�

��

���� 8PSLJOH 8JUI 4USJOHT BOE /VNCFST

$POWFSUJOH /VNCFST UP 4USJOHT

4PNFUJNFT ZPV OFFE UP DPOWFSU B OVNCFS UP B TUSJOH� :PV NJHIU EP

UIJT GPS FYBNQMF JG ZPV OFFE UP CVJME B TUSJOH GSPN TPNF QSF�FYJTUJOH

WBSJBCMFT UIBU BSF BTTJHOFE UP OVNFSJD WBMVFT�

"T ZPVυWF BMSFBEZ TFFO UIF GPMMPXJOH QSPEVDFT B TypeError�

>>> num_pancakes = 10

>>> "I am going to eat " + num_pancakes + " pancakes."

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: can only concatenate str (not "int") to str

4JODF num_pancakes JT B OVNCFS 1ZUIPO DBOυU DPODBUFOBUF JU XJUI UIF

TUSJOH "I'm going to eat"� 5P CVJME UIF TUSJOH ZPV OFFE UP DPOWFSU

num_pancakes UP B TUSJOH VTJOH str()�

>>> num_pancakes = 10

>>> "I am going to eat " + str(num_pancakes) + " pancakes."

'I am going to eat 10 pancakes.'

:PV DBO BMTP DBMM str() PO B OVNCFS MJUFSBM�

>>> "I am going to eat " + str(10) + " pancakes."

'I am going to eat 10 pancakes.'

str() DBO FWFO IBOEMF BSJUINFUJD FYQSFTTJPOT�

>>> total_pancakes = 10

>>> pancakes_eaten = 5

>>> "Only " + str(total_pancakes - pancakes_eaten) + " pancakes left."

"Only 5 pancakes left."

:PVυSF OPU MJNJUFE UP OVNCFST XIFO VTJOH str()� :PV DBO QBTT JU BMM

TPSUT PG PCKFDUT UP HFU UIFJS TUSJOH SFQSFTFOUBUJPOT�

��

���� 8PSLJOH 8JUI 4USJOHT BOE /VNCFST

>>> str(print)

'<built-in function print>'

>>> str(int)

"<class 'int'>"

>>> str(float)

"<class 'float'>"

5IFTF FYBNQMFTNBZ OPU TFFN WFSZ VTFGVM CVU UIFZ JMMVTUSBUF IPX GMFY�

JCMF str() JT�

*O UIF OFYU TFDUJPO ZPVυMM MFBSO IPX UP GPSNBU TUSJOHT OFBUMZ UP EJTQMBZ

WBMVFT JO B OJDF SFBEBCMFNBOOFS� #FGPSF ZPVNPWF PO UIPVHI DIFDL

ZPVS VOEFSTUBOEJOH XJUI UIF GPMMPXJOH SFWJFX FYFSDJTFT�

3FWJFX &YFSDJTFT

�� $SFBUF B TUSJOH DPOUBJOJOH BO JOUFHFS UIFO DPOWFSU UIBU TUSJOH JOUP

BO BDUVBM JOUFHFS PCKFDU VTJOH int()� 5FTU UIBU ZPVS OFX PCKFDU JT

B OVNCFS CZ NVMUJQMZJOH JU CZ BOPUIFS OVNCFS BOE EJTQMBZJOH UIF

SFTVMU�

�� 3FQFBU UIF QSFWJPVT FYFSDJTF CVU VTF B GMPBUJOH�QPJOU OVNCFS BOE

float()�

�� $SFBUF B TUSJOH PCKFDU BOE BO JOUFHFS PCKFDU UIFO EJTQMBZ UIFN TJEF�

CZ�TJEF XJUI B TJOHMF QSJOU TUBUFNFOU CZ VTJOH UIF str() GVODUJPO�

�� 8SJUF B TDSJQU UIBU HFUT UXP OVNCFST GSPN UIF VTFS VTJOH UIF

input() GVODUJPO UXJDF NVMUJQMJFT UIF OVNCFST UPHFUIFS BOE

EJTQMBZT UIF SFTVMU� *G UIF VTFS FOUFST � BOE � ZPVS PVUQVU TIPVME

MPPL MJLF�

The product of 2 and 4 is 8.0.

-FBWF GFFECBDL PO UIJT TFDUJPO |

��

5IJT JT BO &BSMZ "DDFTT WFSTJPO PG ω1ZUIPO #BTJDT�

" 1SBDUJDBM *OUSPEVDUJPO UP 1ZUIPO �ϊ

8JUI ZPVS IFMQ XF DBO NBLF UIJT CPPL FWFO CFUUFS�

"U UIF FOE PG FBDI TFDUJPO PG UIF CPPL ZPVυMM нOE B ψNBHJDBMω GFFECBDL

MJOL� $MJDLJOH UIF MJOL UBLFT ZPV UP BO POMJOF GFFECBDL GPSN XIFSF

ZPV DBO TIBSF ZPVS UIPVHIUT XJUI VT�

8F XFMDPNF BOZ BOE BMM GFFECBDL PS TVHHFTUJPOT GPS JN�

QSPWFNFOU ZPV NBZ IBWF�

1MFBTF GFFM GSFF UP CF BT UFSTF PS EFUBJMFE BT ZPV TFF нU� "MM GFFECBDL

JT TUPSFE BOPOZNPVTMZ CVU ZPV DBO DIPPTF UP MFBWF ZPVS OBNF BOE

DPOUBDU JOGPSNBUJPO TPXF DBO GPMMPXVQPSNFOUJPO ZPVPOPVS ψ5IBOL

:PVω QBHF�

8F VTF B EJмFSFOU GFFECBDL MJOL GPS FBDI TFDUJPO TP XFυMM BMXBZT LOPX

XIJDI QBSU PG UIF CPPL ZPVS OPUFT SFGFS UP�

5IBOL ZPV GPS IFMQJOH VTNBLF UIJT CPPL BO FWFONPSF WBMVBCMF MFBSO�

JOH SFTPVSDF GPS UIF 1ZUIPO DPNNVOJUZ�

ρ %BO #BEFS &EJUPS�JO�$IJFG BU 3FBM 1ZUIPO


Recommended