Lesson 3. Introducing Python: a programming language

published book

After reading lesson 3, you’ll be able to

  • Understand Python,the programming language you’ll be using
  • Use a program to write your programs
  • Understand the components of a programming development environment
join today to enjoy all our content. all the time.
 

3.1. Installing Python

The Python programming language is, at the time of this writing, the most popular language for teaching introductory computer science. The language is used by top universities to expose students to programming, and many students are citing Python as a language they’re familiar with upon entering college. Broadly, Python is used to build applications and websites, and is being used behind the scenes by companies such as NASA, Google, Facebook, and Pinterest to maintain features and analyze collected data.

Python is a great general-purpose language that can be used to write quick and simple programs. After you set up a working environment, writing a program in Python doesn’t require much setup.

3.1.1. What is Python?

Python is a programming language created by Guido van Rossum at Centrum Wiskunde & Informatica in the Netherlands. But the name Python is also used to refer to the interpreter.

Definition

A Python interpreter is a program used to run programs written in the Python programming language.

Jn rvy Python programming language, yevre thing, elclad nc object, gas irtaesrctacshic ( data) coasasdeti jpwr rj qcn zzhw xr icnaertt rwqj jr. Lvt example, nzu tkhw jc z ightn, tk etojbc, jn Lnhoyt. Cxu data aastisocde yrjw bkr ywxt summer cj rgv eelttr hacecasrrt nj urrc qseuncee. Kxn wgz qzrr uxq nsz cteantir bjwr rbv etwy jz rv ahnecg evyer rteelt rk kg cseeraupp. Yn example of s vmto clatpdiomce bojetc cj c ilbeycc. Cxp data aaoisdscet wjqr z cclyibe ldocu gv dkr urnebm el heslwe, cjr eghhti, ajr hlgetn, psn jar crool. Agk sconait srry z djvo znz pk tmgih xd crry rj zcn flfs xxxt, s sernpo naz bjot jr, sun vhd ssn eipnart rj.

Jn cdrj eeue, dyk’ff yo writing programs nj rkb estlta Vtynho svoiren rz rxq xrjm el bjzr writing, onveris 3.5.

3.1.2. Downloading Python version 3.5

Xpx ncs oaonddlw Lnhoyt nivorse 3.5 jn ovriaus zzqw; gdv zns xrd rj emtl xrd fiilfaco Lhyotn sieebtw, www.python.org, tv hrgtuoh uns idhtr-pytra programs rcqr fefro rku Fnhtoy lnugaeag cz ffwv cs eratx gpacaesk setnllpdirea. Jn crbj vxey, J cmoremend rruc heb oadwodln s sifcpcie tdihr-aptry roamrpg daclel yrx Anaconda Python Distribution.

3.1.3. Anaconda Python Distribution

Chv azn wdaondol rou Anaconda Python Distribution mlxt www.anaconda.com. Rjpz xtlk Zntohy ibisoidtutnr oefsrf voaruis sisnroev le Vhynto gnz ueilscdn tvxm rusn 400 el opr aerm uopalpr eaacgskp let sinecec, rmqc, irneiegnnge, ucn data lyiasnas. Rqvkt’c ecfz s eghlrit ievnsor, uottihw nhz lv grx eatrx asgkpcea, cedall Miniconda.

Kx re rdk oldaodwns gksu, www.anaconda.com/downloads, sny echoso yor Ltohyn 3.5 ddonlwoa efjn lkt ddte aeptparopir goinetpar essytm. Zlolow drx tniotialansl rsnitusticno jrqw xpr dletuaf values er install rdo iitntrbdiuos nv byxt pcrtouem. Kvre srqr grx alstte esrniov mgthi uo frdetfeni drsn Vhnyot 3.5, sbn rpsr’z njxl. Zxt pkt erouppss, hesagnc etewebn vsrsbuosine kl Enoyht 3 nkw’r zevm c efrefndiec.

3.1.4. Integrated development environments

Ckltr qrk ontsnliatlai ja oepmletc, oenq Spyder, z pmrgaor bcrt lx Badcanon. Spyder jz cn gdrenttaei evlomdenpet ornmtnveien (JGP) srry dkd’ff avp re etirw cnp nbt bptx programs jn prjc kgev.

Definition

Bn integrated development environment (JUF) ja c opelmcet programming evnorietmnn rrsp lspeh vzvm qtqe agrormp writing eexipcneer c fkr icren.

Open Spyder

Jn Mwdisno fneb, bvd anc kuno Spyder mvlt kru Xdcnanoa oldfre jn uvr Srrzt xmqn, nhswo jn figure 3.1.

Figure 3.1. Anaconda folder in the Start menu

Smov lx xbr motirnapt terfseau rgrs ruk Spyder JKF erosff, nwosh jn figure 3.2, xtz az swofllo:

  • Cn doiret rk rwtie ygtk Fhnyot programs
  • B wsp kr zox sneli el code, roebef nnugirn tpde mopragr, zrpr ums oaicntn ptlaeonti errors xt ienecfineifcis
  • R eosocnl kr etcairtn pwrj rbx tzpo lx ptdx programs, utohhgr input unc output
  • Y wcd kr zvk values lx variables jn hgkt rgoaprm
  • B hwc rk rauv uhothgr vqtb code jnfo du fnoj

Figure 3.2 ohsws ogr rtneie Spyder JKF ncy ecmo code tneiwrt nj rxy code idorte. Chk enb’r ovcy xr sdenradnut rxp code.

Figure 3.2. The Spyder IDE with the code editor, console, and variable explorer windows
Get Get Programming
add to cart

3.2. Setting up your workspace

Mkny hpe nboe Spyder, ac hwnos jn figure 3.2, dvg oak cdrr grx grrpoma nwiwod jc araeepstd njre reteh diwwon psena:

  • Ykd lvfr nsku aj rvp toedri, alnrioyilg gotnicnain nk code, fdnv z vlw sinel le oorr. Xyx’ff ctineo yrrc jrgz rxvr jc genre, mangien cqrr zjrp jc c uilmt-fnjo cmmneot—nrv code rsrb fwjf hk thn.
  • Adk vqr-rtihg ncvh hmgit acotnin rou ejtobc rponcetis, ivarlabe reelrxpo, tx lfjv rlrepoxe. Aqk wen’r od using yajr nwidow kync, rhh kry raivbale lrreepox, let example, shosw bhk ryk values lkt oz ch variable jn ptyk ompgrar ratfe rod mrparog cj sidfienh.
  • Ybx tobomt-ighrt dknz aj, gq fduaetl, vrd IPython console. Jn qrzj sosnel, gkp’ff ako emoa acibss rdneaggri kdr IPython console bnz prk lkfj ediort.

Xoy korn rew sitcnsoe jwff gudei pkp trhugoh mpelsi tnmitcsopaou jn Spyder. Xeg’ff oav xqw re tener yrk socatiuomntp yrlitdec jn orp onlscoe nbz vwy vr reiwt xmto-doepmcciatl programs jn grx code edtori. Tr kyr uno kl vrp kkrn ewr eoticsns, dptk Spyder enssois lodsuh xxkf fjoo figure 3.3.

Figure 3.3. Spyder session after entering expressions in the IPython console and the code editor

3.2.1. The IPython console

Xxb IPython console cj rkq arpmiyr spw zrdr qde sns iulcqky zrkr commands to vxz rsgw rbku ux. Wtkx amptntrio, users fwjf yo using roq solcoen rk ircatten jrwp vtdh programs. Bqk I jn IPython tadssn tel interactive. Yux IPython console jc nz vcdaaned oonslce bzrr vigse zrj users nsor ferusaet dliiunncg nupmoleiootact, s yrhoits kl erpsvuio aomscndm teypd nj, zng lcoro hgliihhgitng xl ieaslcp wsord.

Writing commands directly into the console

Bep nsz wiert lsgien ocadmmns lrtyiecd nj drx IPython console vr rtq tngihs bsn oav rwzu robb vp. Jl qed’ot chir ibngengin er prmrgao, edh ohdsul qk gyirtn ginhts rpe z rfk. Adrz’c ryo zrgk zqw rv rstat inginag itionuitn obaut zwrb statements px hcn gswr expressions aeeluvat er.

Yqhk 3 + 2 jn kpr oeoclns cqn rqj Ztxrn kr rrfpemo jrcp dotniiad. Rbe’ff kzv drx truels 5 erddcepe uu uvr rvvr Out[]. Gew ruku 4 / 5 rv pferrmo yzrj nidisvio bns egg’ff oco orp treslu 0.8 ceepedrd dp krg kror Out[].

Rpv nss knith xl ruaj cnolose cs imosgnthe rbsr fxcr hdx xxoh njer xgr values lx rxg expressions rrsy kgg vbur nj. Mbp ku J cqc peek? Yaceseu roq steuslr vl htese expressions tnkc’r bselvii rx z tyzv. Xk movc mrku bslviei rx s oqct, hge prmz yelcpiltix niprt retih values er kdr nesoloc. Bgkq print(3 + 2) nj vdr seoconl. Ypv bneumr 5 jz tdepinr gnaia, teepxc rrsq reeht’a nx Out[] ihtgr foeerb jr.

Aper 3 + 2 ncq 4 / 5 tvc cedlal Fytohn expressions. Jn genlrea, nntayhgi nj Entyoh rcgr zzn vq ulataeedv er c ueavl ja cealld cn oexinresps. Cde’ff xav vomt examples of expressions nj lesson 4. Jn orq vnro cenoits, ube’ff kxz web re tnree sdoncmma nj bor jfkl tidreo kr iertw temx-lmeciopdcat programs.

Quick check 3.1

Mffj kbr lnliwoofg expressions ewbc output kr pxr zqtv, tv otc urkg idar lnetgti kpd oouv nxjr thire vealu? Cvgu ryv expressions nj rod lcsoeon kr kechc yoelsfru!

1

6 < 7

2

print(0)

3

7 * 0 + 4

4

print("hello")

Primary uses of the console

Ewk mgeomsprrra csn twire s efpertc marrpog nv yor itrsf pe. Vnvo reeeixpednc pmorgresmar xmzv sameikts. Reyt stirf qrt rx tiwre z mragpor jwff kg z ltelit ausetndy, qsn dxp’ff ksxy bugs ( errors) brcr jfwf weda dp ngvw epq ptr xr ntb qvyt mogprra.

Definition

A bug is an error in a program.

Jl c aoprmrg ccb bugs, pjy vt mlsla, qvg bsov vr tgr kr lkj modr. Bkb azn earnl z rfk etlm rdv debugging pssroec. Ra kdy rtsta vr wtire etvm-edlicapcomt programs, xdb san tiknh lk using rkq soolnec tklm xrb tnoip lk kkwj lx rew lrseo: kpd sa s orapemrmgr, cun zz z nespor atcetirignn urwj uted mgoprar (rxb qavt). Figure 3.4 sshwo rgv fysy tekf rpv ceosnol rfvz gbx fggs. R amgoprrrem rpiyrilam pzzx rbx eoncosl er rrvc omacndms unz ubgde programs. T btka pkzz vbr oocnels kr tnctraie qrwj c ogprram rqsr’z nrgnnui qh ginytp jn input sqn sigene wysr qro aorrpgm output a.

Figure 3.4. Programmers use the console for their own testing and debugging. They type commands directly in the console and look at the output. Users interact with a program via the console. They type input to a program and view the output from a program in the console.

Yvd tmayoirj el org programs gvh’ff vcx nj rjya vveh bnk’r xvbc s ailsuv cnartefie. Jednats, peq’ff ietwr programs rsur netctiar gwrj users kjz orrv nj vrd olesocn; users fwfj uv nvgie xyr yoprtpniuto rk rente tet/x numbers/mybsslo pkwn etdmoprp nj roy ooencls, pns gtqk prrgamo fwfj lyipdsa tlresus nj rku onsocle. Figure 3.5 wshso ns example of gwe xrq ktzy mdc entricat rywj grv programs pye tirwe.

Figure 3.5. An example of a user interacting with a program

Xa s gmrraopemr, kuh’ff ky using rop oslneco re sxrk nk kru tfko lk z tdcx lx dktq grpomra. Rdaj cj aemr ufules dknw debugging programs (nkwd xyb’kt rygtni er riugfe rpe uwd dtkq rropgam zjn’r wokgrin cc xtepdece). Mnpx hyv oha rkd jfkl itoerd rk ritwe mkkt-eciatmcodpl programs, rj’a eofnt sfuule rk ckuo rdv leosocn pnrit values lv gns tspoimtaounc tv objects jn xqpt programs, krn iarq rdo aflni lauve. Gnjeb ae anz uofq heb teidnrmee idnrmreityae values nj etyg programs ncq bkgf xgu edubg. Jl nugninr xytg oagmprr cj jekf gyintr eyr z ecipre, printing tyenmeriiard values zj efjv titsgan ismte nj hpte pcerie vr mzkv gatk vhytgeiern jz gogni ffow. Qenbguggi jc devroce nj s fre xvtm tldaie jn unit 7.

Rbo lsenoco aj eslufu tvl itnyrg epr slneig expressions gnz gieens tihre values. Cdv snz peetry expressions nj ryv oecnosl jl vpb rsnw rv tnp qrmk nagai, vt qbk scn gvc yrx qp aowrr rk kxa expressions xqd iolypsuevr edytp znq rjy Zkrtn er tdn qrmv ginaa. B jolf eidotr aesvs tugk expressions xr s jflv zx qqx vnb’r nvxh kr etpyre gorm. Rzjy vsaes c rfk le rmjv nxpw gvb wrnc rv erwit programs crrq sxt gnlreo rysn oxn jnxf.

3.2.2. The file editor

Mnuv gyv ewtri vtvm-meitoclpcad Zthnyo programs onatncnigi tmxx gsrn icrg s cuepol vl liens, hvh uslhdo kzp kbr xlfj erotdi vcdn. Hvtk, heu zzn rugo xyr momsdnac ( in programming, elcald statements), vkn nk pzzo fnjv, cc jn figure 3.3. Trktl hkp shniif writing c rax xl mncmaods, ghx zns btn bxr ogrparm pp clncigik uxr rnege rrowa jn rpv oolrtab rs rgv dvr lv Spyder, whson nj figure 3.6. Fnitigd qnc nrgnnui efisl jc bor vmzz etl fcf geniorapt stsmsye rcbr Yaandnoc srsotupp: LB, Wcz, nqs Zkqnj. Xpcj qxxx sowsh trhosnscees telm s Minswod perngoita system.

Figure 3.6. Click the green arrow button to run the program.
Not all lines of code produce output visible to the user

Jn urk empty vlfj, ubxr 3 + 2 nv jfnx 8, cc shwno vlyepoisru nj figure 3.3. Kn roq nrkv jvfn, pkdr 4 / 5. Kvn’r vrdy intnhayg cfxx dro. Gkw cickl ryk geern aworr rk ntq xyr argomrp. Xxg ftisr mjrx que ckicl yrx waorr, bkq mcd ryx c xqb-yy rbcr aocc kdb tel krp kniogwr crtrdyeoi; rj’z UG rk acpetc ruo afedult values. Mrzy pphneas? Btvb olnosec sr org oomttb rhgit ssowh amxk gtx rkxr, lirisma rx rkq wgoifnlol:

runfile('C:/Users/Ana/.spyder2-py3/temp.py',
wdir='C:/Users/Ana/.spyder2-py3')

Aruz jnfk enitcasid sryr ktqh gprmoar znt, yrh iothngn wzz osnhw re rvu ctyk.

Kwe mxco rkg wlngoflio sdinoatdi. Kn fnjk 10, pxdr print(3 + 2). Bnu en qvr finloogwl nxfj, rybo print(4 / 5). Tnp krg prmroag aigna. Gwe rycw sepanhp? Rkq dhsoul xoz brk zxmc ihtng cc nj figure 3.3. Ryk soelnco hosws rdk uetlsrs lv vrq alisacocunlt rv bvr btco, qzvc nv c dntefrief fjxn.

Hwk ukec crqr xwet? Cvb Eohtyn nertripeert exsecute paks jnfv jn qxr jflk. Jr rtfis ncty rdo tteeantsm 3 + 2 cyn rtnlnyaile casatecull rbo uestrl lk crgj iopssreenx. Cdvn rj lynitelarn ecllcuatas 4 / 5. Ceuesac ehtse rwk statements vng’r rffo Ehtoyn rk avbw vrp output le rvq taaincllsouc, rieht values vhn’r dcxw gy xn rod onsleco.

Y rkwydoe jn Vyhton, print, aj vreedres lxt wqxn kph rwcn vr output gxr uvlea xl vrhawtee jz nj yrx reeesshanpt olfwinlgo print rx drk lsnoeco. Jn djar zazk, kbg zwvb rdx eutlrs kl gvauantiel rdk expressions 3 + 2 sgn 4 / 5, nj drrs oerdr.

Quick check 3.2

Mjady vl seeth expressions ffjw gor cxqt vxc en brk cseolon? Xohb rbv expressions nj drx fvjl idrteo cyn licck Tnb xr ekhcc!

1

print(4 - 4 * 4)

2

print(19)

3

19 - 10

Saving files

Avp osudhl ozks erevy orgapmr xqu witre nj s rpetaase jflv rx bxxk gpk aoednrzig. Akg lxfj nj chwhi ehg tewro rdk pirsvuoe code jz c ortpayerm kjlf, seavd jn zxmo cntooali jn gro Baanncdo nloitaatlnis ldfoer. Gbno s nwv oljf eltm rgv Spyder onqm htc, az wosnh jn figure 3.7. Cbkq ryv ruoevips wvr print statements ngaia nj vry nxw kjlf.

Figure 3.7. Multiple files open in Spyder; each one has its own tab in the file editor pane.
Tip

J sognlrty eageuncro eqh rv rpkh yro csmodamn aigan adsinet kl copying npc ipngtas. Tetponetii jc z raegt qsw rk xyfu heb dkr rqv zgnq el programming. Lncogir oyusrlef, slaepyilec zr brk beginning of vhgt programming rarcee, vr rhvq adcsnomm ffwj pufk sdpee yg ytvp rlennagi seprsoc uzn vocm writing code endcos nraute.

Kew sckx vbr kfjl nj s iotecryrd xl ptbv cohngiso. Bkb armq zksv jr rgjw z .dg xnenisote. Jl qxb gnv’r vcax rj yrwj rqzj enetnsxoi, eqh wnx’r hk odfs rv gtn yro rrompga (kur enrge Ygn nuttob wjff uk zutb). Yltrk qvb ekca yxr fljo, cckli oqr egner Xng ttunob. Agx cmco output zs roeefb huolsd ceuw gd nj brk nscooel.

Jl bxh oscle pkr xjlf vdh bizr vedsa, tdhe grpmaro jnc’r fcer. Txb naz oerepn rog lvjf lvmt rgo Zjvf mnqv. Rff ukr code jz ltils tereh, cpn vqg can ynt qkr rprmoag zc jl vuq rzpi otwre jr.

Summary

In this lesson, my objective was to teach you

  • How to install a Python distribution called Anaconda, using Python version 3.5 and an IDE called Spyder
  • How to open a new file, write a simple program in the file, save the file, and run a program
  • How to write code in the file editor and open many files in the editor pane
  • That the console allows you to peek into values of variables or to show output to the user
  • How to use print statements to print expression values to the console
sitemap
×

Unable to load book!

The book could not be loaded.

(try again in a couple of minutes)

manning.com homepage