《Python語言程序設(shè)計》教學(xué)課件合集_第1頁
《Python語言程序設(shè)計》教學(xué)課件合集_第2頁
《Python語言程序設(shè)計》教學(xué)課件合集_第3頁
《Python語言程序設(shè)計》教學(xué)課件合集_第4頁
《Python語言程序設(shè)計》教學(xué)課件合集_第5頁
已閱讀5頁,還剩533頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

《Python語言程序設(shè)計》?精品課件合集Python語言程序設(shè)計第1章編程前的準(zhǔn)備工作第1章編程前的準(zhǔn)備工作1.1關(guān)于編程計算機(jī)在人們的工作和生活中發(fā)揮了巨大的作用,它可以幫助人們完成非常復(fù)雜的計算工作,處理海量的數(shù)據(jù),分析數(shù)據(jù)之間的關(guān)系,最后還能以圖形化的方式將處理結(jié)果展現(xiàn)在人們的面前。計算機(jī)可以有效提高生產(chǎn)力水平3/30計算機(jī)在人們的工作和生活中發(fā)揮了巨大的作用,它可以幫助人們完成非常復(fù)雜的計算工作,處理海量的數(shù)據(jù),分析數(shù)據(jù)之間的關(guān)系,最后還能以圖形化的方式將處理結(jié)果展現(xiàn)在人們的面前。計算機(jī)并不是天生就具備這些超強(qiáng)的能力,它只不過是按照人們預(yù)先設(shè)置好的程序(Program)一步一步地完成自己的工作,而程序就是一組告訴計算機(jī)應(yīng)該如何正確工作的指令集合。因為計算機(jī)的計算速度特別快,所以使用計算機(jī)可以大大提高人們的工作效率。計算機(jī)可以有效提高生產(chǎn)力水平4/30計算機(jī)在人們的工作和生活中發(fā)揮了巨大的作用,它可以幫助人們完成非常復(fù)雜的計算工作,處理海量的數(shù)據(jù),分析數(shù)據(jù)之間的關(guān)系,最后還能以圖形化的方式將處理結(jié)果展現(xiàn)在人們的面前。計算機(jī)并不是天生就具備這些超強(qiáng)的能力,它只不過是按照人們預(yù)先設(shè)置好的程序(Program)一步一步地完成自己的工作,而程序就是一組告訴計算機(jī)應(yīng)該如何正確工作的指令集合。因為計算機(jī)的計算速度特別快,所以使用計算機(jī)可以大大提高人們的工作效率。程序設(shè)計也就是編程(Programming),是讓計算機(jī)按照程序員(Programmer)給出的指令去做一些它能夠勝任的工作,如解一個方程、繪制一幅圖像、獲取一張網(wǎng)頁上的數(shù)據(jù)等。如果你直接對著計算機(jī)說中文,計算機(jī)是不能理解你所說的內(nèi)容的,所以你需要使用計算機(jī)能夠理解的語言和它交流。計算機(jī)能夠理解的語言,稱為程序設(shè)計語言(ProgrammingLanguage)計算機(jī)可以有效提高生產(chǎn)力水平5/30第1章編程前的準(zhǔn)備工作1.2關(guān)于PythonPython語言的特點Python的設(shè)計哲學(xué)是“簡單”、“優(yōu)雅”、“明確”。Python的特點包括:簡單(Simple)。易于學(xué)習(xí)(EasytoLearn)。自由且開放(FreeandOpenSource)。高級語言(High-levelLanguage)??缙脚_性(Portable)。解釋運行(Interpreted)。面向?qū)ο螅∣bjectOriented)??蓴U(kuò)展性(Extensible)??汕度胄裕‥mbeddable)。豐富的程序庫(ExtensiveLibraries)。

7/30Python2與Python3Python2與Python3相互不能兼容本課程以Python3.8作為主要運行環(huán)境開展教學(xué)3.8以上版本不再支持Window7操作系統(tǒng)8/30Python語言的設(shè)計哲學(xué)不包含____________。A.簡單B.優(yōu)雅

C.明確

D.高效隨堂練習(xí)9/30第1章編程前的準(zhǔn)備工作1.3安裝Python運行環(huán)境安裝Python3的運行環(huán)境從官方網(wǎng)站上下載對應(yīng)的安裝程序(由于網(wǎng)速較慢,教師需要提前下載好)打開安裝程序,進(jìn)行Python3的安裝如果是Windows安裝程序,需要在安裝程序中勾選“AddPython3.8toPATH”選項安裝完畢后,可以找到IDLE的圖標(biāo)Windows環(huán)境中,在開始菜單中查找IDLEmacOS環(huán)境中,在Spotlight搜索欄中查找IDLE11/30第1章編程前的準(zhǔn)備工作1.4第一個Python程序在IDLE的交互方式下運行Helloworld!打開IDLE,進(jìn)入Python解釋器界面,以交互方式運行程序在解釋器提示符(>>>)后輸入:print("Helloworld!")

13/30解釋器提示符的其他特性在解釋器提示符后直接輸入各種算式,Python會將算式的計算結(jié)果直接打印出來,而不必將算式放在print()函數(shù)中

使用特殊符號"_"(下劃線)表示上一條算式的計算結(jié)果

在解釋器提示符后輸入exit()即可退出Python解釋器,因為這是一個函數(shù),單詞exit后面一定要有一對圓括號14/30以文件方式運行Helloworld!當(dāng)我們希望運行某些程序時,總不能每次都在解釋器提示符中反復(fù)輸入這些程序。因此需要將Python程序代碼保存在文件中,以便可以在日后反復(fù)修改或者運行文件中的程序。

15/30以文件方式運行Helloworld!當(dāng)我們希望運行某些程序時,總不能每次都在解釋器提示符中反復(fù)輸入這些程序。因此需要將Python程序代碼保存在文件中,以便可以在日后反復(fù)修改或者運行文件中的程序。

為了讓計算機(jī)能夠正確識別這些程序文件,Python程序的文件名必須以“.py”結(jié)束,即Python程序文件的擴(kuò)展名為“.py”。

16/30其他的Python開發(fā)環(huán)境PyCharm、VisualStudioCode等17/30通常將Python語言程序保存在一個文件名后綴為____________的文件中。A.python B.py C.pt D.p隨堂練習(xí)18/30第1章編程前的準(zhǔn)備工作1.5內(nèi)置函數(shù)print(

)內(nèi)置函數(shù)print()語法格式如下:print(value,...,sep='',end='\n',file=sys.stdout,flush=False)其中,第一個參數(shù)value代表需要打印輸出的數(shù)據(jù),之后的…代表print()函數(shù)可以接收不止一個需要輸出的數(shù)據(jù)作為參數(shù),例如在Python解釋器提示符后輸入:

在print()函數(shù)的語法格式中還包括sep、end、file、flush四個關(guān)鍵字參數(shù),之所以稱他們?yōu)殛P(guān)鍵字參數(shù),是因為在指定關(guān)鍵字參數(shù)的參數(shù)值時,必須在參數(shù)值前方加上參數(shù)名稱和一個等號,以表明參數(shù)名和參數(shù)值之間的對應(yīng)關(guān)系,例如在Python解釋器提示符后輸入:20/30內(nèi)置函數(shù)print()end參數(shù)的作用是指定輸出結(jié)束時所使用的結(jié)束字符,end參數(shù)的默認(rèn)值是字符"\n",這是一個特殊字符,它代表了計算機(jī)中的換行字符。file參數(shù)表示print()函數(shù)應(yīng)該將數(shù)據(jù)輸出到哪里,默認(rèn)的情況是輸出到sys.stdout中,該參數(shù)值表示系統(tǒng)標(biāo)準(zhǔn)輸出位置,對于IDLE來說,Shell窗口就是系統(tǒng)標(biāo)準(zhǔn)輸出位置。

21/30內(nèi)置函數(shù)print()print()函數(shù)的最后一個參數(shù)表示是否需要在輸出的過程中及時清空內(nèi)存。例如在上述程序中,如果使用默認(rèn)值,即設(shè)置flush=False,效果為只有在文件關(guān)閉后才可以看到輸出的內(nèi)容(此前需要輸出的數(shù)據(jù)都會保存在計算機(jī)的內(nèi)存中),如果希望可以在文件關(guān)閉之前,實時看見程序在文件中的輸出內(nèi)容,則應(yīng)該將參數(shù)flush設(shè)置為True,即: print("Helloworld!",file=f,flush=True)

22/30第1章編程前的準(zhǔn)備工作1.6內(nèi)置函數(shù)help(

)內(nèi)置函數(shù)help()內(nèi)置函數(shù)help()的語法格式如下:help([object])其中圓括號中的參數(shù)object代表你要查詢的幫助主題,例如在Python解釋器提示符后輸入:24/30仔細(xì)觀察help()函數(shù)的語法格式可以發(fā)現(xiàn),object參數(shù)由一對方括號包含,這對方括號表示object參數(shù)是可選參數(shù),表示可以在解釋器提示符后直接輸入沒有任何參數(shù)的help()語句并按回車鍵運行,其作用是啟動Python自帶的交互式幫助系統(tǒng)

使用內(nèi)置函數(shù)help()進(jìn)入交互式幫助系統(tǒng)25/30內(nèi)置函數(shù)print()中,關(guān)鍵字參數(shù)end的默認(rèn)值是____________。A.一個英文空格

B.一個換行字符

C.一個英文逗號

D.沒有默認(rèn)值隨堂練習(xí)26/30第1章編程前的準(zhǔn)備工作1.7程序中的注釋程序中常見的重要符號:注釋為了提高程序的可讀性,程序員會在程序中加入注釋。在Python語言中,注釋是任何存在于井號(#)右側(cè)的文字,注釋并不參與程序的運行,它的主要作用是說明一切有關(guān)程序的有用信息。例如:

或者:在程序的編寫編寫過程中,應(yīng)該盡可能多地使用有用的注釋,它們將發(fā)揮以下重要的作用:解釋假設(shè)、說明重要的決定、解釋重要的細(xì)節(jié)、說明想要解決的問題、說明想要在程序中克服的困難。28/30使用注釋描述問題的解決步驟強(qiáng)烈建議你在編寫程序之前,先用注釋將求解問題的步驟在程序中描述清楚,然后再根據(jù)所寫的注釋進(jìn)行程序的編寫工作。例如,我們即將編寫一個求解一元二次方程實數(shù)根的Python語言程序,那么根據(jù)該問題的求解步驟,可以在程序中先寫出如下的注釋:注釋在程序還有一個非常有用的作用,對于一些暫時不需要運行的程序代碼,可以先不刪除它們,而只需要在它們前方加上井號(#),把這些程序代碼臨時變成注釋。只有確信永遠(yuǎn)都不需要這些程序代碼時,才使用刪除按鈕將它們從程序中刪除。29/30第1章編程前的準(zhǔn)備工作1.8續(xù)行符和語句分隔符程序中的重要符號:續(xù)行符和分隔符當(dāng)編寫的程序越來越復(fù)雜時,有時可能會在一行中輸入一條很長的語句,為了保證程序的美觀和易讀,可以使用續(xù)行符\將這條很長的語句分別擺放在連續(xù)的多行中。例如:與續(xù)行符的功能相反,如果在一行內(nèi)連續(xù)書寫2個以上的語句,需要使用語句分隔符;將書寫在同一行的語句進(jìn)行分隔。例如:31/30Python語言中的注釋以一個____________開始,直到行尾結(jié)束。A./

B.\

C.#D.;隨堂練習(xí)32/30第1章編程前的準(zhǔn)備工作1.9本章小結(jié)本章介紹了搭建Python語言開發(fā)環(huán)境及編寫、運行Python程序的相關(guān)知識。Python有兩個不同的版本,分別是Python2和Python3,不同版本的Python程序并不能相互兼容,本教材的程序均可在Python3的環(huán)境下被運行。

除了使用Python官方提供的開發(fā)工具IDLE以外,本書還推薦使用PyCharm作為Python程序的開發(fā)環(huán)境。

安裝完P(guān)ython運行及開發(fā)環(huán)境之后,即可在開發(fā)工具中創(chuàng)建和運行Python程序。Python程序的運行方式有兩種,分別是交互方式和文件方式。在第一個程序Helloworld!中,我們用到了內(nèi)置函數(shù)print(),它的功能是將指定的參數(shù)進(jìn)行輸出,它是Python眾多內(nèi)置函數(shù)中的一個,Python的內(nèi)置函數(shù)庫中包含了許多功能強(qiáng)大的函數(shù)。例如內(nèi)置函數(shù)help()為程序員提供了一個強(qiáng)大的幫助系統(tǒng),可以按照指定的主題快速準(zhǔn)確地返回幫助信息。程序中常見的重要符號:注釋符號#、續(xù)行符\、語句分隔符;34/30謝謝大家的聆聽《Python語言程序設(shè)計》?精品課件合集Python語言程序設(shè)計第2章Python語言基礎(chǔ)第2章Python語言基礎(chǔ)2.1常量與基本數(shù)據(jù)對象Python將程序中出現(xiàn)的任何內(nèi)容都統(tǒng)稱為對象(Object)。這是一種一般意義上的說法。在編寫程序的工作中,程序員更愿意把程序中的內(nèi)容稱為“某某對象(Object)”,而不是“某某東西(Something)”。對象39/71在學(xué)習(xí)常量的概念之前,先看一些常量(LiteralConstants,也被稱作字面量)的例子,例如5或1.23這樣的數(shù)字常量,又如“這是一串文本”或“Thisisastring”這樣的字符串常量。常量40/71在學(xué)習(xí)常量的概念之前,先看一些常量(LiteralConstants,也被稱作字面量)的例子,例如5或1.23這樣的數(shù)字常量,又如“這是一串文本”或“Thisisastring”這樣的字符串常量。之所以稱某些數(shù)據(jù)對象為常量或者字面量,是因為我們使用的就是這些對象字面意義上(Literal)的值或是內(nèi)容。不管在哪種應(yīng)用場景中,數(shù)字2總是表示它本身的意義而不可能有其他的含義,所以它就是一個常量,因為它的值不能被改變。常量41/71在學(xué)習(xí)常量的概念之前,先看一些常量(LiteralConstants,也被稱作字面量)的例子,例如5或1.23這樣的數(shù)字常量,又如“這是一串文本”或“Thisisastring”這樣的字符串常量。之所以稱某些數(shù)據(jù)對象為常量或者字面量,是因為我們使用的就是這些對象字面意義上(Literal)的值或是內(nèi)容。不管在哪種應(yīng)用場景中,數(shù)字2總是表示它本身的意義而不可能有其他的含義,所以它就是一個常量,因為它的值不能被改變。接下來,通過介紹表示不同類型常量的方法,學(xué)習(xí)Python中基本數(shù)據(jù)對象的類型。常量42/71常見的數(shù)字對象主要有3種類型——整數(shù)(int)、浮點數(shù)(float)與復(fù)數(shù)(complex)。例如,2或者100都是整數(shù)對象,即沒有小數(shù)點,也沒有分?jǐn)?shù)的表示形式。整數(shù)類型的對象有下列表示方法。(1)十進(jìn)制整數(shù),即由0到9十個數(shù)字組成的整數(shù),是我們生活中最常使用的數(shù)字,遵循“逢十進(jìn)一”的進(jìn)位規(guī)則,表示十進(jìn)制整數(shù)時不需要加任何前綴,如:1、100等。(2)二進(jìn)制整數(shù),即由0和1兩個數(shù)字組成的整數(shù),遵循“逢二進(jìn)一”的進(jìn)位規(guī)則,表示二進(jìn)制整數(shù)時以0B開頭,B可以是大寫或小寫,如:0B111、0b101、0b1111等。(3)八進(jìn)制整數(shù),即由0到7八個數(shù)字組成的整數(shù),遵循“逢八進(jìn)一”的進(jìn)位規(guī)則,表示八進(jìn)制整數(shù)時以0O開頭,O可以是大寫或小寫,如:0o12、0o55、0O77等。(4)十六進(jìn)制整數(shù),即由0到9和A到F十六個數(shù)字組成的整數(shù),遵循“逢十六進(jìn)一”的進(jìn)位規(guī)則,表示十六進(jìn)制整數(shù)時以0X開頭,X可以是大寫或小寫,如:0X10、0x5F等。整數(shù)類型的數(shù)據(jù)對象的表示范圍不會受到數(shù)據(jù)位數(shù)的限制,只受可用內(nèi)存大小的限制。數(shù)字對象43/71與整數(shù)對象區(qū)別,浮點數(shù)對象指的是數(shù)字中帶有小數(shù)點的數(shù),比如3.23或52.3E-4都是浮點數(shù)對象。其中,E表示10的冪,且必須是一個整數(shù)。在這里,52.3E-4表示的是52.3×10-4。其他合法的浮點數(shù)舉例還有:1.0、-10.、.387、5e-4、3.429E6等。除了整數(shù)對象和浮點數(shù)對象,Python還考慮到了復(fù)數(shù)對象的表示方式,復(fù)數(shù)是由實部和虛部組合在一起構(gòu)成的數(shù)。例如,3+4j、3.1-4.1j,其中左邊沒有后綴的部分為實數(shù)部分,簡稱實部,右邊以j或者J作為后綴的部分為虛數(shù)部分,簡稱虛部。數(shù)字對象44/71和現(xiàn)實生活一樣,計算機(jī)中也有表示對和錯、真和假這樣的邏輯型(bool)的數(shù)據(jù)對象,它們就是True和False,正如字面上的意思,對象True表示真,用來表示某個命題是正確的,對象False表示假,用來表示某個命題是錯誤的。請記住,計算機(jī)中是沒有半對半錯的概念的,非假即真,一定是這樣的!邏輯值對象45/71字符串類型(str)的數(shù)據(jù)對象就是一組字符的序列(Sequence)?;旧希梢园炎址畬ο罄斫獬梢淮~語的組合,可以是任何你能想到的字符所進(jìn)行的隨意組合。字符串對象將會在幾乎所有的Python程序中被使用到,所以請務(wù)必關(guān)注以下細(xì)節(jié)。(1)單引號可以使用單引號來指定字符串對象,例如,'將字符串這樣框進(jìn)來'或'Quotemeonthis'。所有引號內(nèi)的字符,包括各種特殊字符,諸如空格與制表符,都將按原樣保留。(2)雙引號被雙引號包括的字符串對象和被單引號括起的字符串對象的工作機(jī)制完全相同。例如,"你的名字是?"或"What'syourname?"。字符串對象46/71(3)三引號還可以使用3個引號——"""(三個雙引號)或'''(三個單引號)來指定多行字符串對象。此時,可以在三引號中隨意換行,以及在三引號之間自由地使用單引號與雙引號。例如:(4)轉(zhuǎn)義字符特別地,如果使用單引號包含一個本身也含有單引號(')的字符串,應(yīng)該如何表示呢?例如,想要表示的字符串對象是What'syourname?。一定不能寫成:'What'syourname?',因為這種錯誤的形式會使Python對于何處是字符串的開始、何處又是結(jié)束感到困惑。此時,可以通過使用轉(zhuǎn)義字符(EscapeSequence,也稱為轉(zhuǎn)義序列)來表示字符串中包含的單引號。在Python中通過\來表示一個轉(zhuǎn)義字符。通過使用轉(zhuǎn)義字符,可以將上述字符串對象表示成:'What\'syourname?'。字符串對象47/71在Python中指定一串多行字符串對象可以使用如下方式,一種方式是使用如前所述的三引號字符串,另一種方式是使用一個轉(zhuǎn)義字符\n來表示新一行的開始。例如:Python中常見的轉(zhuǎn)義字符如表所示。轉(zhuǎn)義字符\'單引號\t水平制表符\"雙引號\v垂直制表符\\字符“\”本身\r回車符\a響鈴\f換頁符\b退格符\ooo以最多3位的八進(jìn)制數(shù)作為編碼值對應(yīng)的字符\n換行符\xhh以必須為2位的十六進(jìn)制數(shù)作為編碼值對應(yīng)的字符48/71(5)原始字符串如果在字符串對象前增加r或R來指定一個原始字符串(RawString),那么該字符串中的轉(zhuǎn)義字符將失去作用。例如以下的語句將不會把Helloworld!分別輸出在兩行中。字符串對象49/71現(xiàn)實生活中,讀者可能遇到過這樣的場景,在一些搜集個人信息數(shù)據(jù)的表格中,某些項目的數(shù)據(jù)你并沒有,此時你會在這樣的表格單元中填寫“無”。為了能在計算機(jī)程序中表示內(nèi)容為“無”的數(shù)據(jù)對象,Python語言包含了與之對應(yīng)的空值對象None。None是一個非常特殊的數(shù)據(jù)對象,它既不是數(shù)字,也不是邏輯值,更不是字符串,它是一個NoneType類型的對象,而該類型的數(shù)據(jù)對象也只有一個,即None??罩祵ο驨one50/71下列代碼運行時不會產(chǎn)生錯誤的是____________。A.print('Hello,I'mfine') B.print("Hello,I'mfine")C.print('Hello,I'mfine") D.print("Hello,I'mfine') 隨堂練習(xí)51/71第2章Python語言基礎(chǔ)2.2數(shù)據(jù)對象的類型轉(zhuǎn)換為了更好地理解數(shù)據(jù)對象的類型,此處,在程序中引入內(nèi)置函數(shù)type(),該函數(shù)可以輸出參數(shù)的對象類型。type()函數(shù)的語法格式如下:type(object)例如,在交互方式中輸入以下命令可以得到各個常量的對象類型。內(nèi)置函數(shù)type()

53/71為了能讓各種不同類型的數(shù)據(jù)對象更好地在一起工作,計算機(jī)通常需要將它們轉(zhuǎn)換成相同的對象類型再進(jìn)行接下來的運算工作。Python提供了以下內(nèi)置的類型轉(zhuǎn)換函數(shù)供程序員使用。(1)int函數(shù),其語法格式包括以下兩種。int([x])

int(x,base=10)在int()函數(shù)的第一種格式中,函數(shù)將依據(jù)參數(shù)x的內(nèi)容,生成一個整數(shù)對象,如果沒有給定參數(shù)x,函數(shù)返回0。例如:內(nèi)置的類型轉(zhuǎn)換函數(shù)54/71(2)float函數(shù),其語法格式如下所示。float([x])該函數(shù)將依據(jù)參數(shù)x的內(nèi)容,生成一個浮點數(shù)對象,如果沒有給定參數(shù)x,函數(shù)返回0.0。例如:內(nèi)置的類型轉(zhuǎn)換函數(shù)55/71(3)complex函數(shù),其語法格式如下所示。complex([real[,imag]])該函數(shù)將依據(jù)參數(shù)real和imag的內(nèi)容,生成一個復(fù)數(shù)對象,其中參數(shù)real的值表示實部,參數(shù)imag的值表示虛部。如果沒有給定參數(shù)imag,函數(shù)將返回一個虛部為0的復(fù)數(shù)對象,如果參數(shù)real和參數(shù)imag都沒有給定,函數(shù)將返回復(fù)數(shù)0j。例如:內(nèi)置的類型轉(zhuǎn)換函數(shù)56/71

內(nèi)置的類型轉(zhuǎn)換函數(shù)57/71(5)str函數(shù),其常見的一種語法格式如下所示。str(object='')該函數(shù)將依據(jù)參數(shù)object的內(nèi)容,生成一個字符串對象,其中,object參數(shù)的默認(rèn)值為一個空字符串。通過該函數(shù)可以將各種對象轉(zhuǎn)換成對應(yīng)的字符串對象,例如:內(nèi)置的類型轉(zhuǎn)換函數(shù)58/71在Python中還可以使用bin()、oct()、hex()三個內(nèi)置函數(shù)分別得到一個整數(shù)的二進(jìn)制、八進(jìn)制、十六進(jìn)制的表示形式。其中,bin()函數(shù)的語法格式如下所示,函數(shù)的返回值為參數(shù)x的對應(yīng)二進(jìn)制表示形式。bin(x)oct()函數(shù)的語法格式如下所示,函數(shù)的返回值為參數(shù)x的對應(yīng)八進(jìn)制表示形式。oct(x)hex()函數(shù)的語法格式如下所示,函數(shù)的返回值為參數(shù)x的對應(yīng)十六進(jìn)制表示形式。hex(x)特別需要強(qiáng)調(diào)的是,以上三個函數(shù)的返回值均為字符串類型的對象。例如:與進(jìn)制轉(zhuǎn)換有關(guān)的內(nèi)置函數(shù)59/71和數(shù)字一樣,字符在計算機(jī)內(nèi)也是以二進(jìn)制的形式存儲和使用的,一個字符對應(yīng)的二進(jìn)制整數(shù)被稱作該字符的編碼。Python語言中的字符編碼采用的是Unicode編碼方案,幾乎包含世界上所有可書寫語言字符。使用Python語言內(nèi)置的ord()函數(shù)和chr()函數(shù),可以在單個字符和其對應(yīng)的Unicode編碼(以十進(jìn)制表示)之間相互轉(zhuǎn)換,ord()函數(shù)的語法格式如下所示。ord(c)其中,參數(shù)c為一個長度為1的字符串對象,即一個字符。ord函數(shù)的返回值就是該字符對應(yīng)的十進(jìn)制編碼值。chr()函數(shù)的功能正好與之相反,它的語法格式如下所示。chr(i)其中,參數(shù)i為一個有效的Unicode編碼值,范圍為0至1,114,111。chr()函數(shù)的返回值就是該編碼值對應(yīng)的Unicode字符。例如:與字符編碼有關(guān)的內(nèi)置函數(shù)60/71在Python中如果比較兩個字符的大小,其本質(zhì)就是在比較兩個字符的Unicode編碼值的大小。例如:比較字符大小的本質(zhì)是比較其編碼值61/71下列語句的輸出結(jié)果是____________。>>>int(10.88)隨堂練習(xí)62/71第2章Python語言基礎(chǔ)2.3變量與賦值語句如果程序中的數(shù)據(jù)對象只用常量來表示,程序的閱讀者很快就會對這樣的程序感到無比煩躁,因為程序的閱讀者只能看到數(shù)據(jù)的字面值,而不能直觀地了解數(shù)據(jù)代表的意思,從而也就無法理解程序的功能和作用。

變量64/71如果程序中的數(shù)據(jù)對象只用常量來表示,程序的閱讀者很快就會對這樣的程序感到無比煩躁,因為程序的閱讀者只能看到數(shù)據(jù)的字面值,而不能直觀地了解數(shù)據(jù)代表的意思,從而也就無法理解程序的功能和作用。由此可知,計算機(jī)程序中,一定要有一些能夠存儲各種數(shù)據(jù)對象并且也能操縱它們的機(jī)制,同時這種機(jī)制應(yīng)該能夠讓程序更加容易理解。這種對存儲在內(nèi)存中的數(shù)據(jù)對象進(jìn)行命名的機(jī)制便是變量(Variables)。變量65/71如果程序中的數(shù)據(jù)對象只用常量來表示,程序的閱讀者很快就會對這樣的程序感到無比煩躁,因為程序的閱讀者只能看到數(shù)據(jù)的字面值,而不能直觀地了解數(shù)據(jù)代表的意思,從而也就無法理解程序的功能和作用。由此可知,計算機(jī)程序中,一定要有一些能夠存儲各種數(shù)據(jù)對象并且也能操縱它們的機(jī)制,同時這種機(jī)制應(yīng)該能夠讓程序更加容易理解。這種對存儲在內(nèi)存中的數(shù)據(jù)對象進(jìn)行命名的機(jī)制便是變量(Variables)。正如其名字所述,變量所代表的內(nèi)存空間是可以變化的,也就是說,可以用變量與存儲在內(nèi)存中的任何類型的數(shù)據(jù)對象進(jìn)行關(guān)聯(lián)。變量66/71變量的名稱需要符合標(biāo)識符的合法規(guī)則。標(biāo)識符(Identifiers)就是為程序中的某些內(nèi)容(比如變量、函數(shù)等)提供的名稱。命名標(biāo)識符需要遵守以下規(guī)則。

標(biāo)識符中的字符可以是大寫英文字母、小寫英文字母、其他語言字符、數(shù)字(0到9)和下劃線(_)。

標(biāo)識符的第一個字符不能是數(shù)字(0~9)。

標(biāo)識符中不能包含空格和除下劃線以外的符號字符。

標(biāo)識符名稱中的英文字母區(qū)分大小寫。例如,name和Name不是同一個標(biāo)識符,其中前者包含小寫字母n,后者包含大寫字母N。

標(biāo)識符不可以和Python中的關(guān)鍵字相同。關(guān)鍵字是指在程序中有著特殊作用的字符組合,比如2.1.2節(jié)中介紹的代表邏輯值真的True和代表邏輯值假的False就是兩個關(guān)鍵字。標(biāo)識符命名67/71無需特別記憶,隨著課程展開,將會學(xué)習(xí)到大部分的關(guān)鍵字用法Python

3.8中的關(guān)鍵字FalseawaitelseimportpassNonebreakexceptinraiseTrueclassfinallyisreturnandcontinueforlambdatryasdeffromnonlocalwhileassertdelglobalnotwithasyncelififoryield68/71有效的標(biāo)識符名稱可以是i或name_2_3。無效的標(biāo)識符名稱可能是2things、thisisspacedout、my-name、>a1b2_c3和class等。標(biāo)識符舉例69/71為了在程序中創(chuàng)建變量,并將程序中的對象與之關(guān)聯(lián),需要使用賦值語句,賦值語句的作用便是將一系列對象與相應(yīng)的一系列變量進(jìn)行關(guān)聯(lián)。在賦值語句中,最重要的是賦值號=。例如,以下程序分別將不同類型的對象與不同的變量進(jìn)行關(guān)聯(lián)。Python中可以用賦值號將若干個變量連接起來,并將同一個對象與他們進(jìn)行關(guān)聯(lián)。例如:賦值語句70/71Python中的賦值語句還支持在同一條語句中將多個變量與不同的對象進(jìn)行關(guān)聯(lián),這有助于縮短程序,并提高程序的可讀性。例如:請注意,使用賦值號給多個變量賦值時,務(wù)必要保證賦值號左邊變量的個數(shù)與賦值號右邊對象的個數(shù)保持一致,否則會導(dǎo)致程序出錯。再例如以下程序?qū)粨Q變量x和y中所關(guān)聯(lián)的對象:賦值語句71/71在程序中,如果對同一個變量進(jìn)行多次賦值,該變量僅會關(guān)聯(lián)最近一次被賦值的對象,例如:賦值語句72/71Python語言中,存儲在內(nèi)存中的每一個對象都有一個自己的身份標(biāo)識(Identity),這個身份標(biāo)識就好比現(xiàn)實生活中每個人的身份證號。通過識別對象的身份標(biāo)識,程序便可以在內(nèi)存中找到與之對應(yīng)的存儲空間。Python中提供了內(nèi)置函數(shù)id()來獲得對象的身份標(biāo)識,其語法格式如下所示。id(object)其中,參數(shù)object可以是Python程序中的任何對象。例如以下程序表示變量num1和num2關(guān)聯(lián)的是同一個對象:內(nèi)置函數(shù)id()

73/71如果某個變量在程序中不再會被用到,可以使用del語句將其刪除,例如:上述程序的運行結(jié)果表明,刪除變量var1,并不會導(dǎo)致將其關(guān)聯(lián)的字符串對象也一并刪除,因為變量var2也與字符串對象相關(guān)聯(lián),所以程序員依然可以使用變量var2對字符串對象進(jìn)行操作。使用del語句刪除變量74/71Python程序中的運算符“=”被稱作____________。隨堂練習(xí)75/71第2章Python語言基礎(chǔ)2.4運算符與表達(dá)式程序中編寫的大多數(shù)語句都包含了表達(dá)式(Expressions)。一個表達(dá)式的簡單例子是2+3,你可以將一個表達(dá)式理解成一條算式。表達(dá)式中一般需要包含運算符(Operators)與操作數(shù)(Operands)。運算符是程序中表示特定運算操作的符號,在上面的例子中,+就是運算符,此時,它代表的是數(shù)字對象的加法運算。運算符需要一些數(shù)據(jù)對象來進(jìn)行操作,這些數(shù)據(jù)對象就被稱作操作數(shù)。在上面的例子中,整數(shù)對象2和3就是操作數(shù)。運算符和表達(dá)式的定義77/71(1)+(加號):表示加法運算,即將兩個數(shù)字對象相加,如果操作數(shù)為字符串對象,則表示將字符串進(jìn)行相連。(2)-(減號):表示減法運算,即從一個對象中減去另一個對象,也可以用來表示負(fù)數(shù)。(3)*(乘號):表示乘法運算,即返回兩個對象的乘積。如果一個操作數(shù)是字符串對象且另一個操作數(shù)是整數(shù)對象,則返回該字符串對象重復(fù)指定次數(shù)后的結(jié)果。(4)**(冪運算,求乘方):算式x**y代表求xy。(5)/(除號):表示除法運算,結(jié)果為浮點數(shù)對象。(6)//(整除):也表示除法運算,但結(jié)果只保留整數(shù)部分(向下取整)。(7)%(模運算,求余數(shù)):表示整除運算后的余數(shù)。算術(shù)運算符78/71算術(shù)運算符舉例79/71所有關(guān)系運算符的返回結(jié)果均為True或False。(1)<(小于):判斷第一個操作數(shù)是否小于第二個操作數(shù)。(2)>(大于):判斷第一個操作數(shù)是否大于第二個操作數(shù)。(3)<=(小于等于):判斷第一個操作數(shù)是否小于等于第二個操作數(shù)。(4)>=(大于等于):判斷第一個操作數(shù)是否大于等于第二個操作數(shù)。(5)==(等于):判斷兩個對象是否相等,特別注意這個運算符由兩個連續(xù)的等號組成。特別注意,兩個字符串對象相等的充要條件是:兩者長度相等,且各個對應(yīng)位置上的字符都相同。(6)!=(不等于):判斷兩個對象是否不相等。(7)is和isnot運算符:判斷兩個操作數(shù)是不是同一個對象。(8)notin和in運算符:判斷第一個操作對象是否被第二個操作對象包含。例如:關(guān)系運算符80/71關(guān)系運算符舉例81/71(1)not(邏輯非):對于算式notx,如果操作數(shù)x的邏輯值為False(即使用bool()函數(shù)將操作數(shù)轉(zhuǎn)換為邏輯值,結(jié)果為False),則算式的運算結(jié)果為True;否則,算式的運算結(jié)果為False。(2)and(邏輯與):對于算式xandy,如果操作數(shù)x的邏輯值為False,則算式的運算結(jié)果就是操作數(shù)x的值;否則,算式的運算結(jié)果就是操作數(shù)y的值。(3)or(邏輯或):對于算式xory,如果操作數(shù)x的邏輯值為True,則算式的運算結(jié)果就是操作數(shù)x的值,否則算式的運算結(jié)果就是操作數(shù)y的值。邏輯運算符82/71邏輯運算符舉例83/71Python程序中支持條件運算符if--else,該運算符的功能是通過判定某個條件是否成立,從而返回不同的運算結(jié)果。例如表達(dá)式xifCelsey首先是對條件C而非操作數(shù)x求值。如果條件C被判定為True,操作數(shù)x將被求值并返回其值;否則將對操作數(shù)y求值并返回其值。例如:條件運算符if--else

84/719.下列表達(dá)式的值為True的是________。A.3>2>1 B.5+4j>2-3j C.(3,2)<('a','b') D.'abc'>'xyz'隨堂練習(xí)85/71如果有一個諸如2+3*4的表達(dá)式,是優(yōu)先完成加法運算還是優(yōu)先完成乘法運算呢?基礎(chǔ)數(shù)學(xué)知識會告訴我們應(yīng)該先完成乘法運算。這意味著乘法運算符的優(yōu)先級要高于加法運算符。本書從Python官方文檔中引用了常見運算符的運算優(yōu)先級,其中按照從最低優(yōu)先級到最高優(yōu)先級的順序進(jìn)行羅列,運算符的優(yōu)先級運算符運算符描述if--else條件運算符or邏輯或運算and邏輯與運算notx邏輯非運算in、notin、is、isnot、<、<=、>、>=、!=、==關(guān)系運算+、-算術(shù)運算符:加、減*、/、//、%算術(shù)運算符:乘、除、整除、取模(求余數(shù))+x、-x單操作數(shù)運算符:正、負(fù)**算術(shù)運算符:乘方86/71在日常工作中,強(qiáng)烈建議使用圓括號來對運算符與操作數(shù)進(jìn)行分組,以更加明確地指定優(yōu)先級,這也能使程序更加可讀。例如,2+(3*4)要比2+3*4更加容易理解,因為后者要求程序閱讀者首先了解運算符的優(yōu)先級。當(dāng)然使用圓括號同樣也要適度(而不要過度),例如不要像(2+(3*4))這般冗余。使用圓括號還有一個額外的優(yōu)點——它能幫助我們改變運算的順序。例如,如果希望在表達(dá)式2+3*4中先完成加法運算,那么可以將表達(dá)式寫作(2+3)*4。使用圓括號改變運算順序87/71我們知道,表達(dá)式(Expressions)簡單來說就是一個算式,它將常量、運算符、括號、變量等以能求得結(jié)果的有意義內(nèi)容組合一起。學(xué)習(xí)了變量和運算符的相關(guān)知識之后,可以嘗試輸入以下程序來更好地理解使用變量為程序中的對象進(jìn)行命名的好處。案例:在表達(dá)式中使用變量88/71在Python語言中,可以將部分運算符和賦值號進(jìn)行組合,表示復(fù)合賦值運算,例如+=、-=、*=、/=、//=、%=、**=等,使用復(fù)合賦值運算符可以使程序更加精煉,同時還可以提高程序的運行效率。例如:復(fù)合賦值語句89/71如果將一個表達(dá)式放在了一串字符中,例如:"100/2*3",如何才能讓Python求出這個字符串中的表達(dá)式的值呢?這里推薦一個非常有用的內(nèi)置函數(shù)——eval()函數(shù),它的功能就是計算一串字符串中的合法Python表達(dá)式的值,eval()函數(shù)的一種常見語法格式如下所示。eval(expression)其中,參數(shù)expression表示一個包含合法Python表達(dá)式的字符串,例如:內(nèi)置函數(shù)eval()90/71設(shè)x=3,則表達(dá)式x*=3+5**2運行后,x的值是____________。隨堂練習(xí)91/71第2章Python語言基礎(chǔ)2.5和算術(shù)運算有關(guān)的內(nèi)置函數(shù)abs()函數(shù)的功能是返回一個數(shù)字對象的絕對值,它的語法格式如下所示。abs(x)其中,如果參數(shù)x可以是一個整數(shù)對象或者一個浮點數(shù)對象,則函數(shù)返回該對象的絕對值。如果參數(shù)x是一個復(fù)數(shù)對象,則函數(shù)將會返回該復(fù)數(shù)對象的模(該復(fù)數(shù)的實部與虛部的平方和的算數(shù)平方根),例如:內(nèi)置函數(shù)abs()93/71divmod()函數(shù)將兩個(非復(fù)數(shù))數(shù)字對象作為參數(shù),并在運行整除時返回一對商和余數(shù),它的語法格式如下所示。divmod(a,b)例如:內(nèi)置函數(shù)divmod()94/71pow()函數(shù)用于表示乘方運算,和**運算符的功能相似,它的語法格式如下所示。pow(base,exp[,mod])其中,參數(shù)base代表底數(shù),參數(shù)exp代表指數(shù),在沒有指定參數(shù)mod的情況下,函數(shù)返回base的exp次冪,即與乘方運算符base**exp等價。如果指定參數(shù)mod的值,則返回base的exp次冪對參數(shù)mod取余的結(jié)果,例如:內(nèi)置函數(shù)pow()95/71round()函數(shù)用來進(jìn)行Python中的四舍五入運算,其語法格式如下所示。round(number[,ndigits])該函數(shù)返回參數(shù)number舍入到小數(shù)點后ndigits位精度的值。如果參數(shù)ndigits被省略或為None,則返回最接近參數(shù)number的整數(shù)對象。例如:與之前在數(shù)學(xué)中學(xué)過的四舍五入不同,Python采用了統(tǒng)計學(xué)的四舍五入原則,即當(dāng)小數(shù)部分為.5時,會四舍五入到與之最接近的偶數(shù),這種舍入方法也被記作“四舍六入五成雙”。例如:內(nèi)置函數(shù)round()96/71表達(dá)式'odd'ifround(4.5)%2else'even'的執(zhí)行結(jié)果是:'____________'。隨堂練習(xí)97/71第2章Python語言基礎(chǔ)2.6輸入與輸出程序通常需要實現(xiàn)與用戶交互的功能。例如,獲取用戶從鍵盤上輸入的文字,以及將程序運算的結(jié)果顯示在屏幕上。上述需求可以分別通過input()函數(shù)與print()函數(shù)來實現(xiàn)。在程序的運行過程中向程序輸入數(shù)據(jù)的過程稱為輸入操作,在Python中使用input()函數(shù)來實現(xiàn)該功能。input()函數(shù)的語法格式如下所示。input([prompt])其中,可選參數(shù)prompt用于指定接收用戶輸入時在屏幕上顯示的提示性字符串。例如,編寫一個程序讓計算機(jī)存儲用戶的名字,就會用input()函數(shù)提示用戶輸入他的名字,并把用戶的輸入存放在變量中,程序如下。內(nèi)置函數(shù)input()99/71需要提醒的是,使用input()函數(shù)獲得的數(shù)據(jù)一律都是以字符串類型存放的,哪怕用戶輸入的是一個數(shù)字,這個數(shù)字也是以字符串對象的形式存放在計算機(jī)中。例如,輸入以下程序:內(nèi)置函數(shù)input()100/71與輸入的功能相似,將程序中的數(shù)據(jù)對象輸出到屏幕或者文件中的工作,稱為輸出,在Python中,可以使用print()函數(shù)來完成輸出的功能。如果想將之前獲取的關(guān)于姓名的信息打印在屏幕上,可以使用如下語句。與input()函數(shù)搭配使用print()函數(shù)101/71在輸出各類數(shù)據(jù)對象的時候,經(jīng)常需要將一系列數(shù)據(jù)對象按照指定的格式組合到一個字符串對象中,此時,可以使用Python提供的格式化字符串功能。在一個字符串常量的前方添加字符f或者F,以指定當(dāng)前的字符串對象為格式化字符串對象。例如使用格式化字符串的表示方法將變量name代表的姓名信息打印在屏幕上,可以使用如下語句。若要在最終的字符串對象中包含花括號中的表達(dá)式,可以在花括號{}中表達(dá)式的右邊加上一個等號,例如:格式化字符串對象102/71在格式化字符串對象中,還可以使用某些特定格式(Specification)對花括號內(nèi)的數(shù)據(jù)對象進(jìn)行處理。若要指定特定格式,需要在格式化字符串的花括號中使用英文冒號將表達(dá)式和格式標(biāo)記分割開來,例如:格式化字符串對象103/71同樣,如果在格式字段中表達(dá)式的最后追加一個等號,則會將表達(dá)式輸出到結(jié)果字符串中,例如:特別地,在格式化字符串對象中若要表示花括號,需要使用{{和}}來標(biāo)記,例如:格式化字符串對象104/71如果只需要把單個表達(dá)式轉(zhuǎn)變成特定格式的字符串對象,也可以使用內(nèi)置函數(shù)format(),該函數(shù)的語法格式如下所示。format(value[,format_spec])其中,參數(shù)value是一個合法的Python表達(dá)式,可選參數(shù)format_spec用于指定按照什么樣的格式將參數(shù)value的值轉(zhuǎn)換成對應(yīng)的字符串對象,如果不指定參數(shù)format_spec的內(nèi)容,則函數(shù)返回的結(jié)果與使用str(value)的結(jié)果相同。例如:內(nèi)置函數(shù)format()105/71下列語句的輸出結(jié)果為____________。>>>f"{234.56789:.4e}"A.'2.3456e+02’ B.'234.5679’ C.'2.3457e+02’ D.'2.345e+02'隨堂練習(xí)106/71第2章Python語言基礎(chǔ)2.7綜合案例:求圓的面積和周長經(jīng)過之前的學(xué)習(xí)可知,使用內(nèi)置函數(shù)input()和print()可以輕松地實現(xiàn)程序的輸入和輸出。同時,使用Python提供的各類運算符構(gòu)成表達(dá)式,可以完成本例所需的各種運算。參考程序如下:綜合案例:求圓的面積和周長108/71假設(shè)你有100元,現(xiàn)在有一個投資渠道,可以每年獲得10%的利息,如此,一年以后將擁有100×1.1=110元,兩年以后將擁有100×1.1×1.1=121元。請編寫程序,計算按照上述條件7年以后,你將擁有多少錢?(結(jié)果保留2位小數(shù))輸出樣例:After7years,youwillhave194.87隨堂練習(xí)109/71第2章Python語言基礎(chǔ)2.8本章小結(jié)通過本章的學(xué)習(xí),我們掌握了在Python中進(jìn)行運算的重要元素,包括基本數(shù)據(jù)對象的類型、變量和常量的概念以及使用運算符、操作數(shù)與表達(dá)式的相關(guān)知識。計算機(jī)解決的問題都來自于現(xiàn)實世界,為了將現(xiàn)實問題中形形色色的數(shù)據(jù)對象保存在計算機(jī)中,必須將這些數(shù)據(jù)對象分類,并使用不同的方式進(jìn)行存儲和加工,在Python語言中,最常見的數(shù)據(jù)對象的類型包括整數(shù)、浮點數(shù)、邏輯值和字符串,它們有各不相同的操作方法。在操作數(shù)據(jù)對象的過程中,會有常量和變量之分,常量就是其內(nèi)容保持恒久不變的數(shù)據(jù)對象,變量則是對內(nèi)存中的數(shù)據(jù)對象進(jìn)行命名的機(jī)制,通過賦值語句將變量名與內(nèi)存中的數(shù)據(jù)對象進(jìn)行關(guān)聯(lián),變量名需要滿足標(biāo)識符的命名規(guī)則,并且變量名應(yīng)該盡量表示所關(guān)聯(lián)數(shù)據(jù)對象的意義。111/71為了對程序中的數(shù)據(jù)對象進(jìn)行運算,可以使用運算符將這些數(shù)據(jù)對象連接起來構(gòu)成各種各樣的表達(dá)式,表達(dá)式就是一個算式,它將常量、運算符、括號、變量等以能求得結(jié)果的有意義內(nèi)容組合一起,通過表達(dá)式完成運算,便可以求解現(xiàn)實中的各類數(shù)學(xué)問題。為了更好地與使用程序的用戶交流,程序必須具備輸入和輸出的能力,所謂輸入,就是讓用戶通過輸入設(shè)備(如鍵盤和鼠標(biāo))在程序運行中給定一些用于運算的數(shù)據(jù),這些輸入的數(shù)據(jù)在程序中通過input()函數(shù)接收。所謂輸出,就是將計算機(jī)運算后得到的結(jié)果顯示在輸出設(shè)備(如顯示器)上,一般通過print()函數(shù)完成此功能,為了將輸入的內(nèi)容更好地展示給用戶,還可以將輸出結(jié)果進(jìn)行格式化字符串的操作,讓輸出的內(nèi)容更符合人們的閱讀習(xí)慣。112/71謝謝大家的聆聽《Python語言程序設(shè)計》?精品課件合集Python語言程序設(shè)計第3章神奇的小海龜?shù)?章神奇的小海龜3.1第一個海龜程序打開任意一款Python程序的開發(fā)工具,并在其中新建一個Python程序文件,在文件中輸入以下程序代碼:運行上述程序,結(jié)果如下:第一個海龜程序117/56在這個程序中,我們看到了構(gòu)成一個繪圖程序的3個基本步驟:首先,為了使用Turtle模塊提供的功能,需要使用import語句將該模塊導(dǎo)入至目前的程序中;其次,在導(dǎo)入相應(yīng)的模塊后,使用該模塊提供的各類預(yù)置程序進(jìn)行繪圖操作,比如例3.1中的程序使用海龜繪制了一條線段;最后,還要記得使用turtle.done()語句以結(jié)束當(dāng)前的繪制工作。解讀第一個海龜程序118/56在默認(rèn)情況下,坐標(biāo)(0,0)表示繪制區(qū)域的___________,也就是海龜初始出現(xiàn)的位置。A.左下角

B.右上角

C.左上角

D.中心隨堂練習(xí)119/56第3章神奇的小海龜3.2海龜?shù)膭幼魍ㄟ^前面的例子我們可以發(fā)現(xiàn),這只神奇的小海龜會在自己經(jīng)過的地方留下黑色的痕跡,也就是通過控制海龜?shù)囊苿颖憧梢栽谄聊簧侠L制各種圖形,接下來逐一介紹Turtle模塊中控制海龜?shù)姆椒?。?)forward()|fd()前進(jìn),其語法格式為:turtle.forward(distance)

可縮寫為:turtle.fd(distance)其中,參數(shù)distance為一個數(shù)字對象,該方法可以讓海龜向前移動distance指定的距離,方向為海龜當(dāng)前的朝向。例如:(2)backward()|bk()|back()后退,其語法格式為:turtle.backward(distance)

可縮寫為:turtle.bk(distance)或者turtle.back(distance)其中,參數(shù)distance為一個數(shù)字對象,該方法可以讓海龜后退distance指定的距離,方向與海龜?shù)某蛳喾?,同時也不會改變海龜?shù)某?。例如:海龜?shù)膭幼鳎呵斑M(jìn)和后退121/56(3)right()|rt()右轉(zhuǎn),其語法格式為:turtle.right(angle)

可縮寫為:turtle.rt(angle)其中,參數(shù)angle為一個數(shù)字對象,該方法可以讓海龜右轉(zhuǎn)angle個單位。參數(shù)angle的單位默認(rèn)為角度,但可通過degrees()和radians()方法改變設(shè)置。例如:(4)left()|lt()左轉(zhuǎn),其語法格式為:turtle.left(angle)

可縮寫為:turtle.lt(angle)其中,參數(shù)angle為一個數(shù)字對象,該方法可以讓海龜左轉(zhuǎn)angle個單位。參數(shù)angle的單位默認(rèn)為角度,可通過章節(jié)3.2.3中介紹的degrees()和radians()方法改變度量單位的設(shè)置。例如:海龜?shù)膭幼鳎鹤筠D(zhuǎn)和右轉(zhuǎn)122/56案例:繪制正方形123/56(5)goto()|setpos()|setposition()前往指定的坐標(biāo)位置,其語法格式為:turtle.goto(x,y=None)

或者:turtle.setposition(x,y=None)

可縮寫為:

turtle.setpos(x,y=None)其中,參數(shù)x為一個數(shù)值或表示坐標(biāo)的對象,參數(shù)y為一個數(shù)值或None,如果y為None,x應(yīng)為一個表示坐標(biāo)的對象。該方法可以讓海龜移動到一個使用坐標(biāo)表示的位置,移動過程中不會改變海龜?shù)某?。需要?qiáng)調(diào)的是,在默認(rèn)情況下,坐標(biāo)(0,0)表示繪制區(qū)域的中心,也就是海龜初始出現(xiàn)的位置。例如:(6)setx()設(shè)置海龜對象的x坐標(biāo),其語法格式為:turtle.setx(x)其中,參數(shù)x為一個數(shù)字對象,該方法用于設(shè)置海龜?shù)臋M坐標(biāo)為參數(shù)x,縱坐標(biāo)保持不變。例如:海龜?shù)膭幼鳎阂苿拥街付ㄎ恢?24/56(7)sety()設(shè)置海龜對象的y坐標(biāo),其語法格式為:turtle.sety(y)其中,參數(shù)y為一個數(shù)字對象,該方法用于設(shè)置海龜?shù)目v坐標(biāo)為參數(shù)y,橫坐標(biāo)保持不變。例如:(8)setheading()|seth()設(shè)置海龜朝向,其語法格式為:turtle.setheading(to_angle)

可縮寫為:turtle.seth(to_angle)參數(shù)to_angle為一個數(shù)字對象,該方法用于設(shè)置海龜?shù)某驗閰?shù)to_angle。默認(rèn)情況下,以角度表示方向分別是:0度表示正右方,90度表示正上方,180度表示正左方,270度表示正下方。海龜?shù)膭幼鳎恨D(zhuǎn)至指定的方向125/56案例:傾斜的正方形126/56(9)home()讓海龜返回原點,其語法格式為:turtle.home()該方法可以將海龜移至初始坐標(biāo)(0,0),并設(shè)置海龜朝向為初始方向,默認(rèn)為朝向正右方。例如:(10)circle()畫圓,其語法格式為:turtle.circle(radius,extent=None,steps=None)其中,參數(shù)radius為一個數(shù)字對象,參數(shù)extent為一個數(shù)字對象或None,參數(shù)steps為一個整數(shù)對象或None。該方法用于繪制一個以參數(shù)radius為指定半徑的圓。圓心在海龜左邊radius個單位;參數(shù)extent為一個夾角,用來決定繪制圓的一部分。如未指定參數(shù)extent則繪制整個圓,如果參數(shù)extent不是完整圓周,則以當(dāng)前畫筆位置為一個端點繪制圓弧。此時,如果參數(shù)radius為正值則朝逆時針方向繪制圓弧,否則朝順時針方向。最終海龜?shù)某驎罁?jù)參數(shù)extent的值而改變。海龜?shù)膭幼鳎褐刂煤彤媹A127/56(9)home()讓海龜返回原點,其語法格式為:turtle.home()該方法可以將海龜移至初始坐標(biāo)(0,0),并設(shè)置海龜朝向為初始方向,默認(rèn)為朝向正右方。例如:(10)circle()畫圓,其語法格式為:turtle.circle(radius,extent=None,steps=None)其中,參數(shù)radius為一個數(shù)字對象,參數(shù)extent為一個數(shù)字對象或None,參數(shù)steps為一個整數(shù)對象或None。該方法用于繪制一個以參數(shù)radius為指定半徑的圓。圓心在海龜左邊radius個單位;參數(shù)extent為一個夾角,用來決定繪制圓的一部分。如未指定參數(shù)extent則繪制整個圓,如果參數(shù)extent不是完整圓周,則以當(dāng)前畫筆位置為一個端點繪制圓弧。此時,如果參數(shù)radius為正值則朝逆時針方向繪制圓弧,否則朝順時針方向。最終海龜?shù)某驎罁?jù)參數(shù)extent的值而改變。海龜?shù)膭幼鳎褐刂煤彤媹A128/56(11)dot()畫點,其語法格式為:turtle.dot(size=None,*color)其中,參數(shù)size為一個整數(shù)對象,且>=1,參數(shù)color為一個顏色字符串或表示顏色數(shù)值對。該方法可以在繪圖區(qū)域中繪制一個直徑為參數(shù)size,顏色為參數(shù)color的圓點。如果參數(shù)size未指定,則直徑取(筆觸尺寸+4)和(2*筆觸尺寸)中的較大值。例如:海龜?shù)膭幼鳎寒孅c129/56案例:一朵小花130/56(12)stamp()在繪圖區(qū)域印章,其語法格式為:turtle.stamp()該方法在海龜當(dāng)前位置印制一個海龜形狀,同時還將返回該印章對應(yīng)的id。例如:(13)clearstamp()清除繪圖區(qū)域的印章,其語法格式為:turtle.clearstamp(stampid)其中,參數(shù)stampid為一個整數(shù)對象,必須是之前使用stamp()生成印章的有效id。該方法將刪除stampid指定的印章。例如:海龜?shù)膭幼鳎豪L制印章131/56(14)clearstamps()清除多個印章,其語法格式為:turtle.clearstamps(n=None)其中,參數(shù)n為一個整數(shù)對象或None。該方法將刪除全部或前/后n個海龜印章。如果n為None則刪除全部印章,如果n>0則刪除所有印章中的前n個,否則如果n<0則刪除所有印章中的后|n|個。例如:海龜?shù)膭幼鳎呵宄≌?32/56(15)undo()撤消海龜?shù)膭幼?,其語法格式為:turtle.undo()該方法將撤消最近的一個或多個海龜動作,可撤消的次數(shù)由撤消緩沖區(qū)的大小決定。例如:(16)speed()設(shè)置海龜?shù)囊苿铀俣?,其語法格式為:turtle.speed(speed=None)其中,參數(shù)speed為一個0到10范圍內(nèi)的整數(shù)對象或速度字符串。該方法用于將海龜移動的速度設(shè)置為0到10表示的整數(shù)值,如未指定參數(shù)則返回當(dāng)前速度,如果輸入數(shù)值大于10或小于0.5則速度設(shè)為0。速度字符串與速度值的對應(yīng)關(guān)系如下:速度值從1到10,畫線和海龜轉(zhuǎn)向的動畫效果逐級加快。特別注意,當(dāng)參數(shù)speed=0時表示的并不是以最慢速度進(jìn)行繪制,反而是跳過動畫效果,以最快的方式展示繪制效果。例如:海龜動作:撤銷動作與調(diào)速133/561.通過使用turtle.speed()為小海龜設(shè)置爬行的速度,當(dāng)speed()參數(shù)的值是__________時,將會跳過小海龜?shù)囊苿舆^程,直接得到程序繪制的圖形效果。A.0 B.1 C.5 D.10隨堂練習(xí)134/56通過前一節(jié)的學(xué)習(xí),讀者應(yīng)該已經(jīng)掌握了通過控制海龜移動在繪圖區(qū)域作圖的具體方法,接下來將逐一介紹關(guān)于設(shè)置或者獲取海龜狀態(tài)的一系列方法。(1)position()|pos()獲取海龜?shù)奈恢?,其語法格式為:turtle.position()

可縮寫為:turtle.pos()該方法將返回海龜當(dāng)前的坐標(biāo)對象(x,y)。例如:

(2)towards()獲取海龜朝向指定坐標(biāo)的角度,其語法格式為:turtle.towards(x,y=None)其中,參數(shù)x為一個數(shù)字對象或表示坐標(biāo)的數(shù)值對,或一個海龜對象。當(dāng)參數(shù)x是一個數(shù)字對象時,參數(shù)y也應(yīng)為一個數(shù)字對象,否則參數(shù)y為None。該方法用于返回從當(dāng)前海龜位置到坐標(biāo)(x,y)或某個其他坐標(biāo)對象或另一海龜所在位置的連線的夾角。例如:海龜狀態(tài):位置和特定角度135/56(3)xcor()獲取海龜當(dāng)前位置的x坐標(biāo),其語法格式為:turtle.xcor()該方法用于返回海龜當(dāng)前位置的x坐標(biāo)。(4)ycor()獲取海龜當(dāng)前位置的y坐標(biāo),其語法格式為:turtle.ycor()該方法用于返回海龜當(dāng)前位置的y坐標(biāo)。例如:海龜狀態(tài):坐標(biāo)136/56(5)heading()獲取海龜?shù)某颍湔Z法格式為:turtle.heading()該方法用于返回海龜當(dāng)前的朝向。例如:(6)distance()獲取海龜與指定坐標(biāo)之間的距離,其語法格式為:turtle.distance(x,y=None)其中,參數(shù)x為一個數(shù)字對象或表示坐標(biāo)的數(shù)值對,或一個海龜對象。當(dāng)參數(shù)x是一個數(shù)字對象時,參數(shù)y也應(yīng)為一個數(shù)字對象,否則參數(shù)y為None。該方法用于返回從當(dāng)前海龜位置到坐標(biāo)(x,y)或某個其他坐標(biāo)對象或另一海龜所在位置的單位距離。例如:海龜狀態(tài):朝向和距離137/56(7)showturtle()|st()在繪圖區(qū)域中顯示海龜,其語法格式為:turtle.showturtle()

可縮寫為:turtle.st()該方法的作用是設(shè)置海龜在繪圖區(qū)域中可見,默認(rèn)情況下海龜一開始就處于可見狀態(tài)。(8)hideturtle()|ht()在繪圖區(qū)域中隱藏海龜,其語法格式為:turtle.hideturtle()

可縮寫為:turtle.ht()該方法的作用是使海龜在繪圖區(qū)域中不可見,當(dāng)你繪制復(fù)雜圖形時應(yīng)當(dāng)隱藏海龜,因為隱藏海龜可顯著加快繪制速度。海龜狀態(tài):顯示和隱藏138/56(9)isvisible()判斷海龜是否在繪圖區(qū)域中可見,其語法格式為:turtle.isvisible()該方法用于返回海龜是否課件,如果海龜正常在繪圖區(qū)域中顯示則返回True,如果已經(jīng)將海龜從繪圖區(qū)域中隱藏則返回False。海龜狀態(tài):是否可見139/56(10)shape()設(shè)置海龜?shù)男螤睿湔Z法格式為:turtle.shape(name=None)其中,參數(shù)name為一個有效的形狀名字符串。該方法可以設(shè)置海龜形狀為參數(shù)name指定的形狀名,如未指定形狀名則返回當(dāng)前的形狀名。海龜?shù)男螤畛跏紩r有以下幾種:"blank","arrow","turtle","circle","square","triangle","classic",其中字符串"blank"表示不使用任何形狀,將會讓海龜處于隱身狀態(tài)。(11)getshapes()獲的海龜當(dāng)前可設(shè)置的形狀種類,其語法格式為:turtle.getshapes()該方法用于返回所有當(dāng)前可用海龜形狀的列表。例如:海龜狀態(tài):表示形狀140/56案例:海龜?shù)牟煌螤?41/56在使用海龜繪制圖形的過程中,既可以使用角度作為夾角的單位,也可以使用弧度作為夾角的單位,默認(rèn)情況下是以角度作為夾角的單位,如果需要使用弧度作為夾角的單位,需要進(jìn)行設(shè)置。(1)degrees()使用角度作為夾角單位,其語法格式為:turtle.degrees(fullcircle=360.0)其中,參數(shù)fullcircle為一個數(shù)字對象。該方法用于設(shè)置夾角的度量單位,即設(shè)置一個圓周為多少"度",默認(rèn)值為360度。例如:設(shè)置度量單位:角度142/56(2)radians()使用弧度作為夾角單位,其語法格式為:turtle.radians()該方法用于設(shè)置夾角的度量單位為弧度。設(shè)置度量單位:弧度143/56使用turtle.setheading()方法可以設(shè)置海龜?shù)某?,在默認(rèn)情況下,語句turtle.setheading(90)將會使海龜朝向___________。A.正右方 B.正左方 C.正上方 D.正下方隨堂練習(xí)144/56第3章神奇的小海龜3.3畫筆的控制(1)pendown()|pd()|down()使畫筆落下,其語法格式為:turtle.pendown()

可縮寫為:turtle.pd()

或者:turtle.down()該方法將設(shè)置畫筆為落下的狀態(tài),此時移動海龜將會在移動軌跡上留下痕跡。(2)penup()|pu()|up()使畫筆抬起,其語法格式為:turtle.penup()

可縮寫為:turtle.pu()

或者:turtle.up()該方法將設(shè)置畫筆為抬起的狀態(tài),此時移動海龜不會在移動軌跡上留下痕跡。畫筆控制:落筆和抬筆146/56案例:隱藏海龜移動痕跡147/56(3)pensize()|width()改變畫筆粗細(xì),其語法格式為:turtle.pensize(width=None)

或者:turtle.width(width=None)其中,參數(shù)width為一個正值數(shù)字對象,該方法用于設(shè)置線條的粗細(xì)為參數(shù)width對應(yīng)的值或返回該值。在使用該方法時,如未指定參數(shù),則返回當(dāng)前的pensize值。例如:(4)isdown()判斷畫筆是否落下,其語法格式為:turtle.isdown()運行該方法后,如果畫筆落下則返回True,如果畫筆抬起返回False。例如:畫筆控制:畫筆粗細(xì)148/56(1)colormode()返回或設(shè)置繪圖時采用的顏色模式,其語法格式為:turtle.colormode(cmode=None)其中,參數(shù)cmode為浮點數(shù)1.0或者整數(shù)255。該方法的作用是返回當(dāng)前所采用的的顏色模式或?qū)㈩伾J皆O(shè)為1.0或255。需要向讀者說明的是,在計算機(jī)內(nèi)表示一種顏色的方法是分別記錄組成該顏色的紅色、綠色和藍(lán)色的分量,以這種方法表示的顏色被稱為RGB顏色。在顏色模式為1.0時,代表這三種顏色的分量的取值范圍為0到1.0,在顏色模式為255時,代表這三種顏色的分量的取值范圍為0到255。例如:畫筆控制:顏色模式149/56(2)pencolor()返回或設(shè)置畫筆顏色,其語法格式為:turtle.pencolor(*args)該方法用于返回或設(shè)置畫筆顏色,使用該方法時允許以下四種形式:pencolor():當(dāng)以沒有任何參數(shù)的形式使用該方法時,將返回描述顏色的字符串對象或表示當(dāng)前畫筆顏色的三元組。pencolor(colorstring):當(dāng)以參數(shù)為1個表示顏色的字符串對象的形式使用該方法時,該方法將設(shè)置畫筆顏色為參數(shù)colorstring指定的顏色,例如“red”、“yellow”或“#33cc8c”,其中“#33cc8c”的形式表示的是一個RGB顏色,其中代表紅色、綠色和藍(lán)色分量的數(shù)值分別是十六進(jìn)制的33、cc和c8(2位十六進(jìn)制數(shù)的取值范圍為00~ff,即十進(jìn)制的0~255)。pencolor((r,g,b)):當(dāng)以參數(shù)為三元組(r,g,b)的形式使用該方法時,該方法將設(shè)置畫筆顏色為以(r,g,b)三元組表示的RGB顏色。其中,r、g、b分別表示該顏色的紅色、綠色和藍(lán)色的分量值,且三者的取值范圍在默認(rèn)的顏色模式下為0到1范圍內(nèi)的浮點數(shù)。pencolor(r,g,b):當(dāng)以3個參數(shù)r、g、b的形式使用該方法時,該方法將設(shè)置畫筆顏色為以r、g、b作為紅色、綠色和藍(lán)色分量表示出的RGB顏色,其中,r、g、b的取值范圍在默認(rèn)的顏色模式下為0到1范圍內(nèi)的浮點數(shù)。顏色控制:設(shè)置畫筆顏色150/56范例:設(shè)置畫筆顏色使用turtle.color()方法設(shè)置畫筆顏色的范例如下:151/56(3)fillcolor()返回或設(shè)置填充顏色,其語法格式為:turtle.fillcolor(*args)該方法用于返回或設(shè)置填充顏色,使用該方法時允許以下四種形式:fillcolor():當(dāng)以沒有任何參數(shù)的形式使用該方法時,將返回描述顏色的字符串對象或表示當(dāng)前填充顏色的三元組。fillcolor(colorstring):當(dāng)以參數(shù)為1個表示顏色的字符串對象的形式使用該方法時,該方法將設(shè)置填充顏色為參數(shù)colorstring指定的顏色描述字符串,例如"red"、"yellow"或"#33cc8c",其中"#33cc8c"的形式表示的是一個RGB顏色,其中代表紅色、綠色和藍(lán)色分量的數(shù)值分別是十六進(jìn)制的33、cc和c8(2位十六進(jìn)制數(shù)的取值范圍為00~ff)。fillcolor((r,g,b)):當(dāng)以參數(shù)為三元組(r,g,b)的形式使用該方法時,該方法將設(shè)置填充顏色為以(r,g,b)三元組表示的RGB顏色。其中,r、g、b分別表示該顏色的紅色、綠色和藍(lán)色的分量值,且三者的取值范圍在默認(rèn)的顏色模式下為0到1范圍內(nèi)的浮點數(shù)。fillcolor(r,g,b):當(dāng)以3個參數(shù)r、g、b的形式使用該方法時,該方法將設(shè)置填充顏色為以r、g、b作為紅色、綠色和藍(lán)色分量表示出的RGB顏色,其中,r、g、b的取值范圍在默認(rèn)的顏色模式下為0到1范圍內(nèi)的浮點數(shù)。顏色控制:設(shè)置填充顏色152/56使用turtle.fillcolor()設(shè)置填充顏色的范例如下:范例:設(shè)置填充顏色153/56(4)color()返回或設(shè)置繪圖顏色,其語法格式為:turtle.color(*args)該方法用于返回或設(shè)置畫筆顏色和填充顏色,它允許多種輸入格式,可以按照如下0至3個參數(shù)的形式進(jìn)行使用:color():如果以沒有參數(shù)的形式使用turtle.color()方法,將返回以一對顏色描述字符串或元組表示的當(dāng)前畫筆顏色和填充顏色,兩者也可以分別由pencolor()和fillcolor()返回。color(colorstring),color((r,g,b)),color(r,g,b):如果以1個或3個參數(shù)的形式使用turtle.color()方法,那么參數(shù)的使用與pencolor()相同,設(shè)置后的效果是畫筆顏色和填充顏色均為參數(shù)中指定的顏色。color(colorstring1,colorstring2),color((r1,g1,b1),(r2,g2,b2)):如果以2個參數(shù)的形式使用trutle.color()方法,那么相當(dāng)于同時使用pencolor(colorstring1)加fillcolor(colorstring2),或者pencolor((r1,g1,b1))加fillcolor((r2,g2,b2)),對畫筆顏色和填充顏色進(jìn)行不同的設(shè)置。

顏色控制:同時設(shè)置畫筆和填充顏色154/56使用turtle.col

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論