




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2.1Python語(yǔ)言的編程規(guī)范
2.2常量、變量與對(duì)象
2.3數(shù)據(jù)類(lèi)型
2.4Python的語(yǔ)句概述
2.5輸入/輸出函數(shù)
2.6turtle庫(kù)
第2章Python的基本語(yǔ)法概述考綱考點(diǎn)程序的基本語(yǔ)法元素:程序的格式框架、縮進(jìn)、
注釋、變量、命名、保留字、數(shù)據(jù)類(lèi)型、賦值語(yǔ)
句、引用語(yǔ)句、控制語(yǔ)句基本輸入輸出函數(shù):input()、eval()、print()Turtle庫(kù)知識(shí)導(dǎo)圖2.1Python語(yǔ)言的編程規(guī)范2.1.1代碼縮進(jìn)
Python語(yǔ)言采用嚴(yán)格的“縮進(jìn)”來(lái)表明程序的格式框架??s進(jìn)指每一行代碼開(kāi)始前的空白區(qū)域,用來(lái)表示代碼之間的包含和層次關(guān)系。
1個(gè)縮進(jìn)
=4個(gè)空格縮進(jìn)是Python語(yǔ)言中表明程序框架的唯一手段縮進(jìn)
當(dāng)表達(dá)分支、循環(huán)、函數(shù)、類(lèi)等程序含義時(shí),在if、while、for、def、class等保留字所在完整語(yǔ)句后通過(guò)英文冒號(hào)(:)結(jié)尾,表示縮進(jìn)的開(kāi)始。
python程序是依靠代碼塊的縮進(jìn)來(lái)體現(xiàn)代碼之間的邏輯關(guān)系的,縮進(jìn)結(jié)束就表示一個(gè)代碼塊結(jié)束了。
同一個(gè)級(jí)別的代碼塊的縮進(jìn)量必須相同例2-1編程,根據(jù)輸入的年份和月份計(jì)算出該月的天數(shù)。代碼如下:year=int(input("請(qǐng)輸入年份:"))month=int(input("請(qǐng)輸入月份:"))ifmonth==2:ifyear%4==0andyear%100!=0oryear%400==0:days=29else:days=28elifmonthin[4,6,9,11]:days=30else:days=31print("本月天數(shù)是:",days)2.1.2注釋注釋是代碼中的輔助性文字,會(huì)被編譯或解釋器略去,不被計(jì)算機(jī)執(zhí)行,一般用于程序員對(duì)代碼的說(shuō)明。Python語(yǔ)言采用#表示一行注釋的開(kāi)始,?
?注釋可以在一行中任意位置通過(guò)“#”開(kāi)始,其后的本行內(nèi)容被當(dāng)作注釋?zhuān)暗膬?nèi)容仍然是python執(zhí)行程序的一部分。注釋
多行注釋可以用三個(gè)單引號(hào)(''')括起來(lái)。?
??
?2.1.3續(xù)行?
?續(xù)行符可以提高代碼的可讀性和可維護(hù)性。當(dāng)一行代碼過(guò)長(zhǎng)時(shí),不僅會(huì)導(dǎo)致代碼難以閱讀和修改,還會(huì)影響代碼的性能??梢允褂梅葱备埽╘)來(lái)實(shí)現(xiàn)代碼的續(xù)行
還可以使用括號(hào)續(xù)行。Python會(huì)自動(dòng)將這幾行代碼當(dāng)作一行代碼來(lái)處理,文件方式和交互方式下均可使用。?
??
?2.1.4標(biāo)識(shí)符的命名?
?標(biāo)識(shí)符是用戶(hù)編程時(shí)使用的名字。對(duì)標(biāo)識(shí)符命名是編程語(yǔ)言規(guī)則的一部分,它規(guī)定了如何為變量、函數(shù)、類(lèi)、模塊等編程元素取名字。一般采用字母、數(shù)字、下劃線,甚至漢字等字符及其組合進(jìn)行命名,但要注意的是,首字符不能是數(shù)字,不允許使用空格和特殊字符(如感嘆號(hào)、問(wèn)號(hào)、冒號(hào)等)例如:變量名my_variable,函數(shù)名_my_function,類(lèi)名MyClass等等
標(biāo)識(shí)符對(duì)大小寫(xiě)敏感,即china和China是兩個(gè)不同的名字;對(duì)標(biāo)識(shí)符命名還需要注意的是不能與python的保留字相同。?
??
??
?續(xù)行符可以提高代碼的可讀性和可維護(hù)性。當(dāng)一行代碼過(guò)長(zhǎng)時(shí),不僅會(huì)導(dǎo)致代碼難以閱讀和修改,還會(huì)影響代碼的性能。可以使用反斜杠(\)來(lái)實(shí)現(xiàn)代碼的續(xù)行
保留字,也稱(chēng)為關(guān)鍵字,指被編程語(yǔ)言?xún)?nèi)部定義并保留使用的標(biāo)識(shí)符。程序員編寫(xiě)程序不能定義與保留字相同的標(biāo)識(shí)符。
每種程序設(shè)計(jì)語(yǔ)言都有一套保留字,保留字一般用來(lái)構(gòu)成程序整體框架、表達(dá)關(guān)鍵值和具有結(jié)構(gòu)性的復(fù)雜語(yǔ)義等。掌握一門(mén)編程語(yǔ)言首先要熟記其所對(duì)應(yīng)的保留字。2.1.5保留字
Python3.x保留字列表
(35個(gè))2.2常量、變量與對(duì)象2.2.1常量所謂常量,一般是指不需要改變也不能改變的字面值?
?在python中,還會(huì)出現(xiàn)一類(lèi)符號(hào)常量,一般用大寫(xiě)字母來(lái)表示例如一個(gè)數(shù)字5,一個(gè)字符串“hello!”,一個(gè)列表[1,2,3],等等。例如:MAX_VALUE、PI
Python中并沒(méi)有真正的符號(hào)常量,由于Python中沒(méi)有強(qiáng)制符號(hào)常量類(lèi)型的定義方式,這些所謂的符號(hào)常量類(lèi)型只是程序員約定俗成的表示方式而已,在實(shí)際操作中,其本質(zhì)還是變量。?
??
?>>>MAX_VALUE=100>>>print(MAX_VALUE)100>>>MAX_VALUE=200>>>print(MAX_VALUE)2002.2.2變量
變量是保存和表示數(shù)據(jù)值的一種語(yǔ)法元素,在程序中十分常見(jiàn)。顧名思義,變量的值是可以改變的,能夠通過(guò)賦值(使用等號(hào)=表達(dá))方式被修改,例如(注意空格):?>>>x=5>>>x5>>>x="中國(guó)">>>x'中國(guó)'2.2.3對(duì)象每個(gè)對(duì)象由:標(biāo)識(shí)(identity),類(lèi)型(type),值(value)組成在Python中一切皆對(duì)象。值表示對(duì)象所存儲(chǔ)的數(shù)據(jù)的信息。使用print(obj)可以直接打印出值標(biāo)識(shí)用于唯一標(biāo)識(shí)對(duì)象,通常對(duì)應(yīng)于對(duì)象在計(jì)算機(jī)內(nèi)存中的地址。使用內(nèi)置函數(shù)id(obj)可返回對(duì)象的標(biāo)識(shí)類(lèi)型用于表示對(duì)象存儲(chǔ)的“數(shù)據(jù)”類(lèi)型??梢韵拗茖?duì)象的取值范圍以及可執(zhí)行的操作。使用內(nèi)置函數(shù)type(obj)可返回對(duì)象的所屬類(lèi)型其本質(zhì):一個(gè)內(nèi)存塊,擁有特定的值,支持特定類(lèi)型的相關(guān)操作特別說(shuō)明:
在python中,變量其實(shí)是對(duì)象的引用,因?yàn)樽兞看鎯?chǔ)的是對(duì)象的地址,變量通過(guò)地址引用了“對(duì)象”。變量位于:棧內(nèi)存對(duì)象位于:堆內(nèi)存對(duì)象沒(méi)有被引用的時(shí)候,會(huì)被回收到垃圾堆棧內(nèi)存堆內(nèi)存3xy1985553168>>>x=3>>>id(x)#查看x的引用地址1985553168>>>id(3)#查看對(duì)象3的地址1985553168
在Python中,對(duì)象可以分為可變對(duì)象和不可變對(duì)象。?
??
?不可變對(duì)象是指該對(duì)象所指向的內(nèi)存中的值不能被改變。當(dāng)改變某個(gè)變量時(shí),由于其所指的值不能被改變,因此會(huì)開(kāi)辟一個(gè)新的地址,變量再指向這個(gè)新的地址。在Python中,數(shù)值類(lèi)型(int和float)、字符串(str)和元組(tuple)都是不可變對(duì)象。不可變對(duì)象棧內(nèi)存堆內(nèi)存3x198555316841985553200>>>x=3>>>id(x)1985553168>>>id(3)1985553168>>>x=x+1>>>id(x)1985553200>>>id(3)1985553168>>>id(4)1985553200?
??
?可變對(duì)象是指該對(duì)象所指向的內(nèi)存中的值可以被改變。變量(準(zhǔn)確的說(shuō)是引用)改變后,實(shí)際上是其所指的值直接發(fā)生改變,并沒(méi)有發(fā)生復(fù)制行為,也沒(méi)有開(kāi)辟出新地址,通俗點(diǎn)說(shuō)就是原地改變。在Python中,列表(list)、字典(dict)和集合(set)是可變對(duì)象??勺儗?duì)象棧內(nèi)存堆內(nèi)存1x3063083889992234>>>x=[1,2,3]#x為列表>>>id(x)#查看x的引用地址3063083889992>>>x.append(4)#給x增加元素4>>>x[1,2,3,4]#此時(shí)x值發(fā)生變化>>>id(x)#x的引用地址沒(méi)變3063083889992
Python中,可變對(duì)象和不可變對(duì)象其值都能夠被引用,就是都可以做“讀”操作。但是“寫(xiě)”操作只能對(duì)可變對(duì)象進(jìn)行。?
??
?2.3數(shù)據(jù)類(lèi)型
Python語(yǔ)言支持多種數(shù)據(jù)類(lèi)型,最簡(jiǎn)單的包括數(shù)字類(lèi)型、字符串類(lèi)型,略微復(fù)雜的包括元組類(lèi)型、集合類(lèi)型、列表類(lèi)型、字典類(lèi)型等。2.3.1數(shù)字類(lèi)型
表
示
數(shù)
字
或
數(shù)
值
的
數(shù)
據(jù)
類(lèi)
型
稱(chēng)
為
數(shù)
字
類(lèi)
型
,Python語(yǔ)言提供3種數(shù)字類(lèi)型:整數(shù)、浮點(diǎn)數(shù)和復(fù)數(shù),分別對(duì)應(yīng)數(shù)學(xué)中的整數(shù)、實(shí)數(shù)和復(fù)數(shù)。整數(shù)
一個(gè)整數(shù)值可以表示為十進(jìn)制、十六進(jìn)制、八進(jìn)制和二進(jìn)制等不同進(jìn)制形式。在Python3中,整數(shù)沒(méi)有大小限制,可以是任意大小的整數(shù)。十進(jìn)制:
1010十六進(jìn)制:0x3F2八進(jìn)制:
0o1762二進(jìn)制:
0b001111110010浮點(diǎn)數(shù)
一個(gè)浮點(diǎn)數(shù)可以表示為帶有小數(shù)點(diǎn)的一般形式,也可以采用科學(xué)計(jì)數(shù)法表示,只有十進(jìn)制形式。例如:浮點(diǎn)數(shù)123.456,兩種表示方式如下:一般形式:123.456科學(xué)計(jì)數(shù)法:
1.23456e2整數(shù)與浮點(diǎn)數(shù)混合運(yùn)算時(shí),表達(dá)式自動(dòng)轉(zhuǎn)成浮點(diǎn)數(shù)復(fù)數(shù)
Python中的復(fù)數(shù)由實(shí)部和虛部組成,可以使用a+bj或者complex(a,b)表示,其中a和b都是實(shí)數(shù),且a稱(chēng)為復(fù)數(shù)的實(shí)部,b稱(chēng)為復(fù)數(shù)的虛部??梢允褂胘或J表示復(fù)數(shù)的虛部>>>x=5+6j>>>y=7+8j>>>x+y(12+14j)>>>x*y(-13+82j)2.3.2字符串類(lèi)型
Python語(yǔ)言中,字符串類(lèi)型數(shù)據(jù)主要用于處理一些文本類(lèi)信息,有字符串類(lèi)型的常量和變量,單個(gè)字符也是字符串。
Python使用單引號(hào)、雙引號(hào)、三個(gè)單引號(hào),三個(gè)雙引號(hào)作為定界符表示字符串,且不同的定界符之間可以相互嵌套使用>>>x="456">>>type(x)<class'str'>>>>x='happy'>>>type(x)<class'str'>>>>x='''Hesaid,"HappyBirthday"'''#為了輸出雙引號(hào),引號(hào)嵌套使用>>>x'Hesaid,"HappyBirthday"'2.3.3布爾類(lèi)型布爾類(lèi)型數(shù)據(jù)只有兩個(gè)值:True和False。布爾類(lèi)型的特點(diǎn)是占用內(nèi)存空間小,使用靈活,常用于if語(yǔ)句、循環(huán)語(yǔ)句、條件表達(dá)式中,進(jìn)行邏輯判斷和條件判斷布爾類(lèi)型可以與其他數(shù)據(jù)類(lèi)型進(jìn)行轉(zhuǎn)換,如與整數(shù)類(lèi)型(int)進(jìn)行轉(zhuǎn)換時(shí),True對(duì)應(yīng)1,F(xiàn)alse對(duì)應(yīng)0。>>>TrueandTrue#與運(yùn)算True>>>TrueandFalseFalse>>>FalseandTrueFalse>>>TrueorTrue#或運(yùn)算True>>>TrueorFalseTrue>>>FalseorTrueTrue>>>notTrue#非運(yùn)算False>>>notFalseTrue>>>3*True#布爾值可以直接參與整數(shù)運(yùn)算3>>>3*False0and是邏輯與運(yùn)算,or是邏輯或運(yùn)算,not是邏輯非運(yùn)算2.3.4組合數(shù)據(jù)類(lèi)型
在Python中,組合數(shù)據(jù)類(lèi)型是指可以包含不同類(lèi)型的元素的數(shù)據(jù)結(jié)構(gòu)。Python中的組合數(shù)據(jù)類(lèi)型主要包括列表(list)、元組(tuple)、字典(dictionary)和集合(set)。列表列表是一種有序的元素集合,可以隨時(shí)添加或刪除其中的元素。列表中的元素可以是任何類(lèi)型,例如字符串、整數(shù)、浮點(diǎn)數(shù)、其他列表等。列表使用“[]”作為定界符。>>>x=[36,"happy",3.14]>>>type(x)<class'list'>元組元組與列表類(lèi)似,是一個(gè)有序的元素集合,但元組是不可變對(duì)象,一旦創(chuàng)建就不能更改。元組中的元素也可以是任何類(lèi)型。元組使用“()”作為定界符。>>>x=(56,"happy",[3,5,7])>>>x(56,'happy',[3,5,7])>>>type(x)<class'tuple'>字典字典是無(wú)序的鍵值對(duì)集合。字典中的元素以鍵值對(duì)的形式存在,你可以通過(guò)鍵來(lái)訪問(wèn)其對(duì)應(yīng)的值。字典中的鍵必須是唯一的。值可以是任何類(lèi)型,包括列表、元組、字典等。字典使用“{}”作為定界符。>>>x={'name':'John','age':18,'hobbies':['fishing','reading']}>>>x{'name':'John','hobbies':['fishing','reading'],'age':18}>>>type(x)<class'dict'>集合集合是一個(gè)無(wú)序的唯一元素集合。集合中的元素都是唯一的,不會(huì)重復(fù)。集合支持一些數(shù)學(xué)集合的操作,如并集、交集、差集等。集合中的元素只能是不可變對(duì)象。集合也使用“{}”作為定界符。>>>x={3.14,4,'abc',(4,6)}>>>x{3.14,4,(4,6),'abc'}>>>type(x)<class'set'>2.4Python的語(yǔ)句概述
2.4.1表達(dá)式
產(chǎn)生或計(jì)算新數(shù)據(jù)值的代碼片段稱(chēng)為表達(dá)式。表達(dá)式類(lèi)似數(shù)學(xué)中的計(jì)算公式,以表達(dá)單一功能為目的,運(yùn)算后產(chǎn)生運(yùn)算結(jié)果,運(yùn)算結(jié)果的類(lèi)型由操作符或運(yùn)算符決定。
表達(dá)式一般由數(shù)據(jù)和操作符等構(gòu)成,這是構(gòu)成Python語(yǔ)句的重要部分,單個(gè)常量或變量可以看作最簡(jiǎn)單的表達(dá)式?,F(xiàn)在主要區(qū)別一下表達(dá)式和語(yǔ)句,示例代碼如下:>>>3*26>>>x=3*2>>>x62.4.2賦值語(yǔ)句
Python語(yǔ)言中,=表示“賦值”,即將等號(hào)右側(cè)的值計(jì)算后將結(jié)果值賦給左側(cè)變量,包含等號(hào)(=)的語(yǔ)句稱(chēng)為“賦值語(yǔ)句”<變量>=<表達(dá)式>示例代碼如下:>>>x=99#給變量x賦值為整數(shù)值99>>>y=3.33#給變量y賦值為浮點(diǎn)數(shù)3.33>>>z="你好,中國(guó)!"#給變量z賦值為字符串"你好,中國(guó)!"多重賦值同時(shí)將多個(gè)變量的值賦給多個(gè)表達(dá)式>>>x,y,z=3,7.8,"hi"#多重賦值>>>x3>>>y7.8>>>z'hi'>>>x,y=y,x#多重賦值,交換x,y的值>>>x7.8>>>y3增強(qiáng)賦值使用+=、-=、*=、/=等運(yùn)算符對(duì)變量進(jìn)行增強(qiáng)賦值。>>>x,y,z=1,2,3>>>x+=10#等價(jià)于x=x+10>>>y-=5#等價(jià)于y=y-5>>>z*=2#等價(jià)于z=z*2鏈?zhǔn)劫x值可以將同一個(gè)值賦給多個(gè)變量。>>>x=y=z=3#鏈?zhǔn)劫x值>>>x3>>>y3>>>z3解構(gòu)賦值將一個(gè)元組或列表的值解包并賦給多個(gè)變量。>>>x,y=[1,2]#將列表[1,2]解包,并將1賦給x,2賦給y>>>x1>>>y22.4.3import語(yǔ)句在python默認(rèn)的安裝中僅包含了核心模塊,啟動(dòng)python時(shí)也只加載了核心模塊,還有一些標(biāo)準(zhǔn)庫(kù)是啟動(dòng)時(shí)沒(méi)裝入內(nèi)存的,這樣做的好處是可以減小程序運(yùn)行的壓力。所以,當(dāng)用戶(hù)需要使用標(biāo)準(zhǔn)庫(kù)和第三方庫(kù)的時(shí)候,就會(huì)有一步非常重要的第一步操作,即導(dǎo)入庫(kù),導(dǎo)入使用的是import語(yǔ)句。下面介紹三種格式的導(dǎo)入的方法。方法1這種格式的導(dǎo)入語(yǔ)句,在使用的時(shí)候需要在模塊對(duì)象的前面加上模塊名作為前綴,必須以“模塊名.對(duì)象“的方式進(jìn)行訪問(wèn)。如果模塊名字很長(zhǎng)的話,可以為導(dǎo)入的模塊設(shè)置一個(gè)別名,使用“別名.對(duì)象名”進(jìn)行訪問(wèn)。
格式:import模塊名[as別名]importmath#導(dǎo)入標(biāo)準(zhǔn)庫(kù)mathresult=math.sqrt(16)#計(jì)算16的平方根print(result)#輸出結(jié)果importrandomasr#導(dǎo)入標(biāo)準(zhǔn)庫(kù)random,并設(shè)置別名rx=r.random()#獲得[0.0,1.0)區(qū)間的隨機(jī)小數(shù)方法2這種格式的導(dǎo)入語(yǔ)句,僅導(dǎo)入明確指定的對(duì)象,也可以為導(dǎo)入的對(duì)象確定一個(gè)別名。此導(dǎo)入方式可以減少查詢(xún)次數(shù),提高訪問(wèn)速度,同時(shí)也可以減少輸入量,不需要使用模塊名為前綴。
格式:from模塊名import對(duì)象名[as別名]>>>frommathimportsin#導(dǎo)入標(biāo)準(zhǔn)庫(kù)math中的指定對(duì)象sin>>>sin(3.14)0.0015926529164868282>>>cos(3.14)#math庫(kù)中的cos對(duì)象并沒(méi)導(dǎo)入,出錯(cuò)Traceback(mostrecentcalllast):File"<pyshell#100>",line1,in<module>cos(3.14)NameError:name'cos'isnotdefined>>>frommathimportcosasf#導(dǎo)入cos,并起別名為f>>>f(3.14)-0.9999987317275395方法3是方法2的極端情況,可以一次導(dǎo)入模塊中所有對(duì)象。一般不推薦使用,一方面,會(huì)降低代碼的可讀性,有時(shí)很難區(qū)分自定義函數(shù)和從模塊中導(dǎo)入的函數(shù);另一方面,會(huì)導(dǎo)致命名空間的混亂。如果多個(gè)模塊中有同名的對(duì)象,只有最后一個(gè)導(dǎo)入的模塊中的對(duì)象是有效的。
格式:from模塊名import*>>>frommathimport*#導(dǎo)入math庫(kù)>>>gcd(12,24)#求最大公約數(shù)12>>>pi#常數(shù)?3.141592653589793>>>log2(8)#計(jì)算以2為底的8的對(duì)數(shù)3.0>>>sin(4)#求sin函數(shù)值-0.75680249530792822.4.4控制語(yǔ)句
除了賦值語(yǔ)句外,Python程序還包括一些其他的語(yǔ)句類(lèi)型,例如,分支語(yǔ)句和循環(huán)語(yǔ)句等。更多的分支和循環(huán)內(nèi)容將在第4章介紹。這里僅簡(jiǎn)要介紹這兩類(lèi)語(yǔ)句的基本使用。??分支語(yǔ)句if
if語(yǔ)句,是一種選擇結(jié)構(gòu),有單分支、二分支和多分支,其作用是根據(jù)判斷條件選擇程序執(zhí)行路徑。示例代碼如下:x=10ifx>5:print("x大于5")else:print("x不大于5")??for語(yǔ)句
for語(yǔ)句,是一種循環(huán)結(jié)構(gòu),其作用是根據(jù)判斷條件確定一段程序是否需要反復(fù)執(zhí)行。示例代碼如下:>>>foriinrange(10): print(i,end=",")0,1,2,3,4,5,6,7,8,9,2.5輸入/輸出函數(shù)2.5.1input()函數(shù)
獲得用戶(hù)輸入之前,input()函數(shù)可以包含一些提示性文字<變量>=input(<提示性文字>)?
不論用戶(hù)輸入什么內(nèi)容,input()一律作為字符串對(duì)待,必要時(shí)可以使用內(nèi)置函數(shù)int()、float()或eval()對(duì)用戶(hù)輸入的內(nèi)容進(jìn)行類(lèi)型轉(zhuǎn)換>>>x=input("請(qǐng)輸入數(shù)字:")請(qǐng)輸入數(shù)字:3.14>>>x'3.14'#3.14兩邊有單引號(hào)>>>type(x)<class'str'>eval()
函數(shù)
eval(<字符串>)函數(shù)是Python語(yǔ)言中一個(gè)十分重要的函數(shù),它能夠以Python表達(dá)式的方式解析并執(zhí)行字符串,將返回結(jié)果輸出>>>a?=?eval("1.2?+?3.4")>>>print(a)4.6?
eval()函數(shù)經(jīng)常和input()函數(shù)一起使用,用來(lái)獲取用戶(hù)輸入的數(shù)字,使用方式如下:<變量>=eval(input(<提示性文字>))?>>>x=eval(input("請(qǐng)輸入數(shù)字:"))請(qǐng)輸入數(shù)字:789>>>type(x)<class'int'>>>>x=eval(input("請(qǐng)輸入數(shù)字:"))請(qǐng)輸入數(shù)字:7.89>>>type(x)<class'float'>2.5.2print()函數(shù)?內(nèi)置函數(shù)print()用于輸出信息,其輸出的信息既可以到標(biāo)準(zhǔn)控制臺(tái)(例如:顯示器,打印機(jī)等設(shè)備)也可以到指定的文件。使用格式如下:
print(value1,value2,...,sep='',end='\n',file=sys.stdout,flush=False)參數(shù)說(shuō)明1?value1,value2,...:參數(shù)列表,要打印輸出的值,可以是多個(gè),用逗號(hào)分隔。示例代碼如下:>>>a=35>>>print(a)#參數(shù)為變量35>>>print("好好學(xué)習(xí),報(bào)效祖國(guó)")#參數(shù)為字符串常量好好學(xué)習(xí),報(bào)效祖國(guó)>>>print(["g","o","o","d"])#參數(shù)為列表['g','o','o','d']>>>print(35.6)#參數(shù)為浮點(diǎn)數(shù)35.6參數(shù)說(shuō)明1?參數(shù)既可以是字符串、數(shù)據(jù)值也可以是變量。當(dāng)參數(shù)為變量的時(shí)候,運(yùn)行結(jié)果是變量的值;當(dāng)參數(shù)為字符串的時(shí)候,運(yùn)行結(jié)果是不帶引號(hào)的可打印字符;當(dāng)參數(shù)中包含雙引號(hào)字符串時(shí),如上例中的列表“["g","o","o","d"]”,其輸出結(jié)果采用單引號(hào)形式“['g','o','o','d']”;參數(shù)為其他數(shù)據(jù)類(lèi)型時(shí),直接輸出表示。參數(shù)說(shuō)明1?print()函數(shù)可以有多個(gè)參數(shù),各參數(shù)之間用逗號(hào)分隔,其運(yùn)行輸出結(jié)果之間用一個(gè)空格分隔。示例代碼如下:>>>b=10.25>>>print(b,b+1,b*2,1.25)#有四個(gè)參數(shù),用逗號(hào)分隔10.2511.2520.51.25>>>print("富強(qiáng)","民主","文明")富強(qiáng)
民主
文明參數(shù)說(shuō)明2?sep='':可選參數(shù),指定多個(gè)值之間的分隔符字符。如果省略不寫(xiě),則默認(rèn)為一個(gè)空格。示例代碼如下:>>>print("富強(qiáng)","民主","文明",sep="**")富強(qiáng)**民主**文明參數(shù)說(shuō)明3?end='\n':可選參數(shù),指定打印輸出后的結(jié)束字符。如果省略不寫(xiě),則默認(rèn)為一個(gè)換行符。示例代碼如下:>>>foriinrange(3):print(i)012>>>foriinrange(3): print(i,end='&')0&1&2&參數(shù)說(shuō)明4?file=sys.stdout:可選參數(shù),指定輸出文件對(duì)象。如果省略不寫(xiě),則默認(rèn)為標(biāo)準(zhǔn)輸出,即輸出結(jié)果到屏幕或者打印機(jī)。示例代碼如下:>>>withopen(r"d:\output.txt","w")asf: print("床前明月光",file=f)當(dāng)執(zhí)行完以上語(yǔ)句內(nèi)容后,print()函數(shù)的file參數(shù),將輸出結(jié)果"床前明月光"寫(xiě)到一個(gè)名為output.txt的文件中參數(shù)說(shuō)明5?flush=False:可選參數(shù),指定是否刷新輸出緩沖區(qū)。如果省略不寫(xiě),則默認(rèn)為False。示例代碼如下:>>>print("Hi,Mike!",flush=True)Hi,Mike!這個(gè)例子中,我們使用了flush=True參數(shù),確保輸出值立即顯示在控制臺(tái)上,一般使用中用默認(rèn)方式即可。因?yàn)檫@個(gè)參數(shù)涉及到緩沖區(qū)的刷新,需要學(xué)到更高階才能了解其具體區(qū)別,此處只做一般性了解2.6Turtle庫(kù)
turtle(海龜)是Python重要的標(biāo)準(zhǔn)庫(kù)之一,它能夠進(jìn)行基本的圖形繪制。
turtle庫(kù)繪制圖形有一個(gè)基本框架:一個(gè)小海龜在坐標(biāo)系中爬行,其爬行軌跡形成了繪制圖形。對(duì)于小海龜來(lái)說(shuō),有“前進(jìn)”、“后退”、“旋轉(zhuǎn)”等爬行行為,對(duì)坐標(biāo)系的探索也通過(guò)“前進(jìn)方向”、“后退方向”、“左側(cè)方向”和“右側(cè)方向”等小海龜自身角度方位來(lái)完成。2.6.1turtle的坐標(biāo)系????在Python的turtle庫(kù)中,我們主要使用了兩種坐標(biāo)系:空間坐標(biāo)系和角度坐標(biāo)系??臻g坐標(biāo)系:用來(lái)描述海龜在畫(huà)布上的位置的坐標(biāo)系。默認(rèn)狀態(tài)下,海龜?shù)某跏嘉恢脼楫?huà)布的中心,也就是原點(diǎn)(0,0)。????角度坐標(biāo)系:這是用來(lái)描述海龜?shù)姆较虻淖鴺?biāo)系。絕對(duì)角度坐標(biāo)系以向右方向水平位置為0度,逆時(shí)針?lè)较驗(yàn)檎较颉O鄬?duì)角度坐標(biāo)系與海龜頭的初始位置有關(guān),以海龜頭當(dāng)前朝向的左右側(cè)作為相對(duì)角度選擇。2.6.2turtle的畫(huà)布函數(shù)turtle中有畫(huà)布(Canvas)和畫(huà)筆兩個(gè)工具元素。畫(huà)布是turtle模塊用于繪圖的區(qū)域,在該畫(huà)布上有一個(gè)坐標(biāo)軸,坐標(biāo)原點(diǎn)在畫(huà)布的中心,turtle模塊中的x軸正方向指向右側(cè),y軸正方向指向上方。坐標(biāo)原點(diǎn)位于畫(huà)布的中心。畫(huà)布主要使用兩個(gè)函數(shù):
turtle.screensize(width,height,bgcolor)作用:設(shè)置畫(huà)布的大小和背景顏色width參數(shù):設(shè)置畫(huà)布的寬度height參數(shù):設(shè)置畫(huà)布的高度bgcolor:設(shè)置背景顏色,其值為表示顏色的字符串或者RGB數(shù)值。當(dāng)寬度或者高度為整數(shù)時(shí)表示的是像素;小數(shù)時(shí),表示占據(jù)電腦屏幕的比例。當(dāng)高度或者寬度超過(guò)窗口大小時(shí),會(huì)出現(xiàn)滾動(dòng)條。若不設(shè)置值,默認(rèn)參數(shù)為(400,300,None)
turtle.setup(width,height,startx,starty)作用:設(shè)置主窗體的大小和位置參數(shù):width?:窗口寬度,如果值是整數(shù),表示的像素值;如果值是小數(shù),表示窗口寬度與屏幕的比例;height:?窗口高度,如果值是整數(shù),表示的像素值;如果值是小數(shù),表示窗口高度與屏幕的比例;startx:窗口左側(cè)與屏幕左側(cè)的像素距離,如果值是None,窗口位于屏幕水平中央;starty:窗口頂部與屏幕頂部的像素距離,如果值是None,窗口位于屏幕垂直中央;2.6.3turtle的畫(huà)筆函數(shù)????畫(huà)筆函數(shù)主要分為:畫(huà)筆的狀態(tài)函數(shù)和畫(huà)筆運(yùn)動(dòng)函數(shù)。????畫(huà)筆狀態(tài)函數(shù)主要是指設(shè)置使用畫(huà)筆時(shí)顏色、畫(huà)線的寬度、移動(dòng)速度、爬行模式還是飛行模式等的函數(shù)。函數(shù)描述pendown()放下畫(huà)筆,海龜處于爬行模式,移動(dòng)畫(huà)筆將繪制圖形,別名pd(),down()penup()提起畫(huà)筆,海龜處于飛行模式,移動(dòng)畫(huà)筆不會(huì)繪制圖形,別名
pu(),up()pensize(width)設(shè)置畫(huà)筆粗細(xì),width數(shù)值越大越粗。別名
width()pencolor()設(shè)置畫(huà)筆顏色,有一個(gè)參數(shù)或無(wú)參數(shù),當(dāng)無(wú)參數(shù)輸入時(shí),返回當(dāng)前畫(huà)筆顏色。color()設(shè)置畫(huà)筆和背景顏色,有兩個(gè)參數(shù)begin_fill()設(shè)置顏色填充區(qū)域的開(kāi)始。在開(kāi)始繪制擬填充顏色的圖形前調(diào)用end_fill()與begin_fill配對(duì)使用,在完成了擬填充顏色的圖形的繪制后使用。使用后該繪制圖形完成顏色的填充。filling()返回填充狀態(tài),True為填充,F(xiàn)alse為未填充clear()清空當(dāng)前窗口的所有繪制過(guò)的內(nèi)容,但不改變當(dāng)前畫(huà)筆的位置和角度reset()清空當(dāng)前窗口,并重置位置等狀態(tài)為默認(rèn)值hideturtle()隱藏畫(huà)筆的turtle形狀showturtle()顯示畫(huà)筆的turtle形狀isvisible()如果turtle畫(huà)筆形狀可見(jiàn),則返回True,否則返回Falsewrite(str,font=None)根據(jù)設(shè)置的字體形式,顯示字符串畫(huà)筆狀態(tài)函數(shù)表2-2畫(huà)筆狀態(tài)函數(shù)表????colorstring參數(shù)顏色參數(shù)的兩種表達(dá)
格式:pencolor(colorstring)或者color(colorstring,colorstring)colorstring:表示顏色字符串,例如:“red”、”blue”、”yellow”例2-2.繪制紅邊正方形。程序分析:首先需要導(dǎo)入turtle庫(kù);在畫(huà)圖前需要設(shè)置畫(huà)筆的顏色和粗細(xì),可以使用turtle.pensize()函數(shù)和turtle.pencolor()函數(shù);接下來(lái)繪制正方形,使用一個(gè)for循環(huán)來(lái)繪制正方形??梢栽O(shè)在每次循環(huán)中,海龜向前移動(dòng)100個(gè)單位(使用turtle.forward()函數(shù)),然后向右轉(zhuǎn)90度(使用turtle.right()函數(shù))。這個(gè)過(guò)程重復(fù)4次,正好繪制一個(gè)正方形的四條邊。最后,使用turtle.done()函數(shù)來(lái)結(jié)束程序。這個(gè)函數(shù)的作用是保持繪制的圖形在屏幕上顯示,直到用戶(hù)手動(dòng)關(guān)閉窗口。????示例代碼如下:importturtleturtle.pensize(20)#設(shè)置畫(huà)筆線條寬度為20turtle.pencolor("red")#設(shè)置畫(huà)筆顏色為紅色#讓海龜畫(huà)一個(gè)正方形foriinrange(4):turtle.forward(100)#向前移動(dòng)100turtle.right(90)#向右轉(zhuǎn)90度turtle.done()#結(jié)束觀察:從圖中可以看到,雖然繪圖結(jié)束,但是在正方形左上角還有一個(gè)“箭頭”,這個(gè)“箭頭”就是海龜,如果希望隱藏海龜,可以在“turtle.done()”語(yǔ)句前面使用hideturtle()函數(shù)。????(r,g,b)參數(shù)格式:pencolor((r,g,b))或者color((r,g,b),(r,g,b))在Python的turtle模塊中,顏色是通過(guò)RGB(紅綠藍(lán))色彩模式來(lái)指定的。(r,g,b)色彩參數(shù)通過(guò)組合不同比例的紅、綠、藍(lán)三種基本顏色的值來(lái)產(chǎn)生各種顏色,其色彩覆蓋了視力所能感知的所有顏色。(r,g,b)每個(gè)參數(shù)的取值范圍為0-255整數(shù)或0-1小數(shù),默認(rèn)采用小數(shù)值。????例2-3.繪制實(shí)心正方形。程序分析:
首先,使用turtle.begin_fill()函數(shù)來(lái)標(biāo)記填充開(kāi)始。然后使用一個(gè)for循環(huán)來(lái)繪制正方形的四條邊。在每次循環(huán)中,海龜向前移動(dòng)100個(gè)單位(使用turtle.fd()函數(shù)),然后向右轉(zhuǎn)90度(使用turtle.right()函數(shù))。這個(gè)過(guò)程重復(fù)4次,正好繪制一個(gè)正方形的四條邊。最后,使用turtle.end_fill()函數(shù)來(lái)標(biāo)記填充結(jié)束。這個(gè)函數(shù)與begin_fill()函數(shù)成對(duì)出現(xiàn),用于定義填充的結(jié)束位置。這樣,在正方形內(nèi)部將會(huì)填充上指定的顏色。????示例代碼如下:importturtleturtle.pensize(20)#設(shè)置畫(huà)筆線條寬度為20turtle.color((1,0,0),(0,0,1))#設(shè)置畫(huà)筆顏色為紅色,填充色為藍(lán)色#讓海龜畫(huà)一個(gè)正方形turtle.begin_fill()#填充開(kāi)始foriinrange(4):turtle.fd(100)#向前移動(dòng)100turtle.right(90)#向右轉(zhuǎn)90度turtle.end_fill()#填充結(jié)束,與begin_fill()成對(duì)出現(xiàn)turtle.done()#結(jié)束觀察:begin_fill()和end_fill()函數(shù)作用是什么?????畫(huà)筆運(yùn)動(dòng)函數(shù)是指控制畫(huà)筆的行進(jìn)位置和角度的函數(shù)畫(huà)筆運(yùn)動(dòng)函數(shù)函數(shù)描述forward(distance)沿當(dāng)前畫(huà)筆方向移動(dòng)指定距離,distance參數(shù)單位為像素長(zhǎng)度,值為負(fù)則向向反方向移動(dòng)。別名fd(distance)backward(distance)沿當(dāng)前畫(huà)筆方向的反方向移動(dòng)指定距離,distance參數(shù)單位為像素長(zhǎng)度,值為負(fù)則向前進(jìn)方向移動(dòng)。別名:bk(distance)right(angle)在當(dāng)前角度下順時(shí)針轉(zhuǎn)動(dòng)angle度,是一個(gè)相對(duì)角度的運(yùn)動(dòng)。angle是角度的整數(shù)值。別名rt(angle)left(angle)在當(dāng)前角度下逆時(shí)針轉(zhuǎn)動(dòng)angle度,是一個(gè)相對(duì)角度的運(yùn)動(dòng)。angle是角度的整數(shù)值。別名lt(angle)goto(x,y)將畫(huà)筆移動(dòng)到坐標(biāo)為(x,y)的位置
setheading(angle)設(shè)置當(dāng)前角度為angle,angle為絕對(duì)方向角度值,是角度的整數(shù)值。別名seth(angle)circle(radius,extent=None,steps=None)畫(huà)半徑為radius的圓:radius為正,則圓心在畫(huà)筆的左邊,為負(fù),則圓心在畫(huà)筆右邊畫(huà)半徑為radius,角度為extent的弧畫(huà)半徑為radius的圓的內(nèi)切正多邊形,邊數(shù)為stepshome()設(shè)置當(dāng)前畫(huà)筆位置為原點(diǎn),朝向東undo()撤銷(xiāo)畫(huà)筆最后一步動(dòng)作speed()設(shè)置畫(huà)筆繪制速度,參數(shù)為0-10之間觀察:“turtle.forward(100)”這條語(yǔ)句也可以寫(xiě)成“turtle.fd(100)”,這就是別名的妙用,表2-2和表2-3中函數(shù)的別名通常都比正式名要短得多,例如,pendown()可以直接使用pd(),是一樣的使用效果。表2-3畫(huà)筆運(yùn)動(dòng)函數(shù)2.6.4turtle庫(kù)綜合實(shí)踐????例2-4繪制電腦印花,印花圖為紅色,如圖所示。。程序分析:該圖是由不同半徑的同心五邊形構(gòu)成。我們可以使用一個(gè)循環(huán)反復(fù)執(zhí)行以下操作:使用fd()函數(shù)(即forward的縮寫(xiě))使海龜向前移動(dòng)i個(gè)單位,其中i是當(dāng)前循環(huán)的索引值,每循環(huán)一次其值增大一次;使用right()函數(shù)使海龜向右轉(zhuǎn)動(dòng)一定的角度。????代碼如下:fromturtleimport*pencolor("red")foriinrange(200):#循環(huán)次數(shù)還可以增加減少
fd(i)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廊坊師范學(xué)院《腫瘤學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年酗酒成癮心理測(cè)試題及答案
- 2025年電工考試試題類(lèi)型及答案
- 2025年形體訓(xùn)練考試試題及答案
- 2025年新體育法試題及答案
- 2025年空調(diào)維修面試題及答案
- 工業(yè)機(jī)器人運(yùn)維員理論改練習(xí)測(cè)試題附答案
- 2025年時(shí)尚人格測(cè)試試題及答案
- 2025年會(huì)務(wù)組織的面試題及答案
- 2025年護(hù)士資格考試?yán)碚撝R(shí)復(fù)習(xí)題庫(kù)及答案(共120題)
- 新課標(biāo)(水平三)體育與健康《籃球》大單元教學(xué)計(jì)劃及配套教案(18課時(shí))
- GA/T 761-2024停車(chē)庫(kù)(場(chǎng))安全管理系統(tǒng)技術(shù)要求
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)基礎(chǔ)(創(chuàng)新創(chuàng)業(yè)課程)完整全套教學(xué)課件
- 人教版小學(xué)數(shù)學(xué)四年級(jí)下冊(cè)第一單元測(cè)試卷附答案(共9套)
- (完整版)形式發(fā)票模版(國(guó)際件通用)
- GM∕T 0036-2014 采用非接觸卡的門(mén)禁系統(tǒng)密碼應(yīng)用指南
- 部編版四年級(jí)道德與法治下冊(cè)第3課《當(dāng)沖突發(fā)生》優(yōu)秀課件(含視頻)
- 席位卡A4紙打印模板(共3頁(yè))
- 研究生英語(yǔ)寫(xiě)譯教程基礎(chǔ)級(jí)第三版袁錫興楊若東寫(xiě)作篇Chapter1Theparagraph
- 股權(quán)轉(zhuǎn)讓承諾書(shū).doc
- 陽(yáng)泉?dú)庀蟮刭|(zhì)資料
評(píng)論
0/150
提交評(píng)論