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