Python基礎(chǔ)與大數(shù)據(jù)應(yīng)用(第2版)(微課版)課件全套 丁輝 單元1-11-Python環(huán)境搭建-Python可視化與可視化工具_(dá)第1頁
Python基礎(chǔ)與大數(shù)據(jù)應(yīng)用(第2版)(微課版)課件全套 丁輝 單元1-11-Python環(huán)境搭建-Python可視化與可視化工具_(dá)第2頁
Python基礎(chǔ)與大數(shù)據(jù)應(yīng)用(第2版)(微課版)課件全套 丁輝 單元1-11-Python環(huán)境搭建-Python可視化與可視化工具_(dá)第3頁
Python基礎(chǔ)與大數(shù)據(jù)應(yīng)用(第2版)(微課版)課件全套 丁輝 單元1-11-Python環(huán)境搭建-Python可視化與可視化工具_(dá)第4頁
Python基礎(chǔ)與大數(shù)據(jù)應(yīng)用(第2版)(微課版)課件全套 丁輝 單元1-11-Python環(huán)境搭建-Python可視化與可視化工具_(dá)第5頁
已閱讀5頁,還剩666頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

單元一Python環(huán)境搭建3安裝Python目錄Python交互模式2Python版本概述與Python安裝文件的下載1IPython3和PyCharm概述4項(xiàng)目實(shí)戰(zhàn)5單元小結(jié)6Python簡(jiǎn)介Python語言是GuidovanRossum1989年底開始研制的,第一個(gè)版本發(fā)行于1991年,比Java早4年。Python推出不久就迅速得到了各行業(yè)人士的青睞,經(jīng)過20多年的發(fā)展,Python已經(jīng)滲透到計(jì)算機(jī)科學(xué)與技術(shù)、統(tǒng)計(jì)分析、移動(dòng)終端開發(fā)、科學(xué)計(jì)算可視化、逆向工程與軟件分析、圖形圖像處理、人工智能、游戲設(shè)計(jì)與策劃、網(wǎng)站開發(fā)、數(shù)據(jù)爬取與大數(shù)據(jù)處理、密碼學(xué)、系統(tǒng)運(yùn)縱、音樂處理、計(jì)算機(jī)輔助教育、醫(yī)藥輔助設(shè)計(jì)、天文信息處理、化學(xué)、生物、電子電路設(shè)計(jì)等幾乎所有的專業(yè)和領(lǐng)域,在黑客領(lǐng)域更是多年來一直擁有霸主地位。Python曾連續(xù)多月在TIOBE網(wǎng)站編程語言排行榜中穩(wěn)居第一,可見其受歡迎的程度。2017年12月排名第4,可見其發(fā)展之迅速。Python是一種跨平臺(tái)、開源、免費(fèi)的解釋型高級(jí)動(dòng)態(tài)編程語言。它支持命令式編程、面向?qū)ο缶幊?、函?shù)式編程,包含了完善且易于理解的標(biāo)準(zhǔn)庫,還有非常豐富的第三方開源庫,使你能輕松地完成開發(fā)任務(wù)。Python也許是你學(xué)習(xí)的第一種與計(jì)算機(jī)交流的語言工具,掌握了這個(gè)工具,你將體會(huì)到計(jì)算機(jī)并不神秘,它是完全聽人指揮的,是永遠(yuǎn)為人服務(wù)的一種工具。Python版本Python2.XPython3.X1.Python2.X和Pyrhon3.X不兼容,并且官網(wǎng)已經(jīng)宣布不再更新python22.初學(xué)者建議首選Python3.X下載Python安裝文件(linux環(huán)境)12Downloads→Sourcecode→DownloadGzippedsourcetarball3查看下載Python-3.12.1.tgz文件的存放位置下載Python安裝文件(windows環(huán)境)12Downloads→Python3.12.1→選擇下載文件存放的文件夾3查看python-3.12.1-amd64.exe3安裝Python目錄Python交互模式2Python版本概述與Python安裝文件的下載1IPython3和PyCharm概述4項(xiàng)目實(shí)戰(zhàn)5單元小結(jié)6Python-3.12.1的安裝(基本過程)安裝makeinstall編譯make執(zhí)行腳本配置文件./configure進(jìn)入解壓目錄cd/usr/local/src/Python-3.12.1/lstar命令解包常用參數(shù):-x:從tar包中把文件提取出來,即解壓;-z:表示tgz包是被gzip壓縮過的,所以解壓時(shí)需要用gunzip解壓;-v:顯示詳細(xì)信息,即解壓的過程;-fxxx.tgz:指定被處理的文件是xxx.tgz,這個(gè)參數(shù)必須放最后。tar-xvzfPython-3.12.1.tgz復(fù)制安裝文件到/usr/local/src目錄下cp/home/ding/Downloads/Python-3.12.1.tgz/usr/local/src(1)root權(quán)限;(2)linux的版本Python-3.12.1的安裝(復(fù)雜過程)(1)復(fù)制安裝文件到/home目錄下cp/home/ding/Downloads/Python-3.12.1.tgz/usr/local/src(2)解壓tar-xvzfPython-3.12.1.tgz(3)更新Ubuntu20.04.6系統(tǒng)aptupdateaptupgrade(4)安裝開發(fā)工具aptinstallbuild-essentialPython-3.12.1的安裝(復(fù)雜過程)(5)安裝依賴包aptinstallgccaptinstallperl*tk-devzlib1g-devlibbz2-devlibdbi-devsqliteuuid-devlibffi-devaptinstallbzip2libgdbm-devlibncurses5-devliblzma-devsqlite3aptinstalllibsqlite3-devlibssl-devtcl8.6-devtk8.6-devlibreadline-devPython-3.12.1的安裝(復(fù)雜過程)(6)安裝openssl3.1.4設(shè)置下載文件存放目錄cd/home/ding/Downloads下載openssl3.1.4安裝文件wget/source/openssl-3.1.4.tar.gz解壓tar-xzvfopenssl-3.1.4.tar.gzcdopenssl-3.1.4配置安裝路徑等./config--prefix=/usr/local/openssl--openssldir=/usr/local/openssl--sharedzlib編譯并安裝opensslmake&&makeinstallPython-3.12.1的安裝(復(fù)雜過程)配置openssl的共享庫,使openssl二進(jìn)制文件從/usr/local/openssl/lib目錄中加載庫文件。創(chuàng)建新的配置文件openssl-3.1.4.conf,如下,并輸入“/usr/local/openssl/lib64”cd/etc/ld.so.conf.d/vimopenssl-3.1.4.conf重載動(dòng)態(tài)連接庫ldconfig-v備份舊的軟連接mv/bin/openssl/bin/openssl.bakmv/usr/include/openssl/usr/include/openssl.bakPython-3.12.1的安裝(復(fù)雜過程)創(chuàng)建新的軟連接ln-s/usr/local/openssl/bin/openssl/usr/bin/opensslln-s/usr/local/openssl/include/openssl/usr/include/opensslln-s/usr/local/openssl/bin/openssl/usr/local/bin/opensslln-s/usr/local/openssl/lib64/libcrypto.so.3/lib/libcrypto.so.3ln-s/usr/local/openssl/lib64/libcrypto.so.3/lib/libcrypto.so.6ln-s/usr/local/openssl/lib64/libssl.so.3/usr/lib64/libssl.so.3ln-s/usr/local/openssl/lib64/libcrypto.so.3/usr/lib64/libcrypto.so.3ln-s/usr/local/openssl/lib64/libssl.so/usr/lib64/libssl.soln-s/usr/local/openssl/lib64/libcrypto.so/usr/lib64/libcrypto.so修改目錄權(quán)限chmod-R755/usr/local/openssl/配置庫文件搜索路徑echo"/usr/local/openssl/lib64">>/etc/ld.so.conf重新配置動(dòng)態(tài)連接器的緩存,-v輸出詳細(xì)信息/sbin/ldconfig-v為openssl創(chuàng)建新的環(huán)境文件vim/etc/profile.d/openssl.shPython-3.12.1的安裝(復(fù)雜過程)將下面的配置信息復(fù)制到openssl.sh文件中,然后保存退出#SetOPENSSL_PATHOPENSSL_PATH="/usr/local/openssl/bin"exportOPENSSL_PATHPATH=$PATH:$OPENSSL_PATHexportPATH賦予openssl.sh文件執(zhí)行權(quán)限chmod+x/etc/profile.d/openssl.sh加載openssl環(huán)境后檢查PATHbin目錄source/etc/profile.d/openssl.sh復(fù)制lib64為libcd/usr/local/opensslcp-rlib64lib查看openssl的版本opensslversionPython-3.12.1的安裝(復(fù)雜過程)(7)配置Python安裝路徑cd/usr/local/src/Python-3.12.1./configure-C--with-openssl=/usr/local/openssl--with-openssl-rpath=auto--prefix=/usr/local/python(8)編譯安裝make&&makealtinstall(9)在/usr/bin路徑下創(chuàng)建Python軟鏈接,指向已安裝的Python3.12ln-s/usr/local/python/bin/python3.12/usr/bin/python(10)在/usr/bin路徑下創(chuàng)建pip軟鏈接,指向已安裝的pip3.12ln-s/usr/local/python/bin/pip3.12/usr/bin/pip(11)測(cè)試Python3.12安裝結(jié)果pythonF整個(gè)安裝過程中,需要有root權(quán)限。3安裝Python目錄Python交互模式2Python版本概述與Python安裝文件的下載1IPython3和PyCharm概述4項(xiàng)目實(shí)戰(zhàn)5單元小結(jié)6Python交互模式啟動(dòng)Python交互模式:python交互模式的使用:>>>print(“helloworld!”)

helloworld!Python提示符3安裝Python目錄Python交互模式2Python版本概述與Python安裝文件的下載1IPython3和PyCharm概述4項(xiàng)目實(shí)戰(zhàn)5單元小結(jié)6IPythonIPython是一個(gè)基于Python的交互式解釋器,提供了強(qiáng)大的編輯和交互功能。它內(nèi)置了很多有用的功能和函數(shù),提供了代碼自動(dòng)補(bǔ)全、自動(dòng)縮進(jìn)、高亮顯示、shell命令執(zhí)行等非常有用的特性,可以在任何操作系統(tǒng)上使用。apt-getinstallipython3pip3installipython安裝要求是root權(quán)限或IPython的安裝

IPython啟動(dòng)iPython:ipythoniPython的使用:In[1]:print(“helloworld!”)

helloworld!iPython提示符PyCharm

PyCharm是由JetBrains公司出品的產(chǎn)品,是一種Python集成開發(fā)環(huán)境(IntegratedDevelopmentEnvironment,IDE)。IDE是用于提供程序開發(fā)環(huán)境的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面,集成了代碼編寫功能、分析功能、編譯功能、debug功能等功能。PyCharm帶有一整套可以幫助用戶在使用Python進(jìn)行開發(fā)時(shí)提高效率的工具,如調(diào)試、語法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動(dòng)完成、單元測(cè)試、版本控制等。此外,該IDE提供了一些高級(jí)功能用于支持Django框架下的專業(yè)Web開發(fā)。NSE腳本引擎搜索pycharm選擇PyCharm社區(qū)/教育版輸入郵箱和ubuntu帳號(hào)PyCharm的安裝Linux環(huán)境的安裝PyCharm的安裝22NSE腳本引擎Windows環(huán)境的安裝打開:點(diǎn)擊:DeveloperTools找到:PyCharm點(diǎn)擊:Download選擇:.exe(windows)點(diǎn)擊:SHA-256checksum開始下載1234雙擊:下載的安裝文件pycharm-professional-2024.3.2.exePyCharm的安裝23雙擊:下載的安裝文件pycharm-community-2018.1.4.exe打開PyCharm步驟1:PyCharm的使用24步驟2:選擇NewProjectPyCharm的使用25步驟3:新建項(xiàng)目并進(jìn)行解釋器的設(shè)置PyCharm的使用26步驟4:新建Python文件右擊項(xiàng)目名稱,在快捷菜單選擇New,在子菜單中選擇PythonFile,輸入文件名PyCharm的使用27步驟5:代碼輸入及運(yùn)行初次運(yùn)行代碼:右擊編輯窗口,選擇“Runpy文件名”命令;以后直接點(diǎn)擊綠色的三角形即可。PyCharm的使用28運(yùn)行結(jié)果窗口3安裝Python目錄Python交互模式2Python版本概述與Python安裝文件的下載1IPython3和PyCharm概述4項(xiàng)目實(shí)戰(zhàn)5單元小結(jié)6在Ubuntu20.04.6系統(tǒng)中,通過Python的開發(fā)環(huán)境的安裝與簡(jiǎn)單使用,讀者可掌握Python開發(fā)環(huán)境的安裝方法,熟悉Python交互模式的使用,了解Python腳本文件的運(yùn)行方法,為后續(xù)實(shí)踐訓(xùn)練的順利開展奠定基礎(chǔ)。項(xiàng)目目標(biāo)項(xiàng)目?jī)?nèi)容(1)Python3.12.1安裝文件的下載;(2)Python3.12.1的安裝;(3)Python交互模式的使用;(4)Python腳本文件的創(chuàng)建與運(yùn)行。項(xiàng)目實(shí)戰(zhàn)→Python開發(fā)環(huán)境的安裝與使用實(shí)施步驟(1)在

Ubuntu20.04.6系統(tǒng)虛擬機(jī)的終端分別輸入【python】和【python3】命令,觀察輸出的結(jié)果,并將過程與輸出結(jié)果截圖于表1-1項(xiàng)目實(shí)施小結(jié)中。(2)在Ubuntu20.04.6系統(tǒng)虛擬機(jī)中,使用Firefox瀏覽器登錄Python官網(wǎng)http://www.P下載Python-3.12.1.tgz安裝文件。默認(rèn)下載到“/home/用戶名/Downloads”目錄中。

(3)在Ubuntu20.04.6虛擬機(jī)終端安裝Python3.12.1,依次完成以下操作:

更新Ubuntu系統(tǒng)。②

安裝開發(fā)工具。③

安裝依賴包。④

安裝openssl3.1.4或以上的版本。⑤

解壓安裝文件:tar–vzxfpython-3.12.1.tgz(注意,在當(dāng)前操作目錄下執(zhí)行此命令)。⑥

腳本配置:./configure-C--with-openssl=/usr/local/openssl--with-openssl-rpath=auto--prefix=/usr/local/python(注意openssl的安裝路徑)。

項(xiàng)目實(shí)戰(zhàn)→Python開發(fā)環(huán)境的安裝與使用實(shí)施步驟⑦

編譯:make。⑧

安裝:makeinstall或makealtinstall。⑨

建立Python3.12的軟連接:ln-s/usr/local/python/bin/python3.12/usr/bin/python(注意:軟連接對(duì)應(yīng)的是python命令,這樣保留了系統(tǒng)自帶的Python3.8對(duì)應(yīng)的python3命令)。⑩

建立pip3.12的軟連接:ln-s/usr/local/python/bin/pip3.12/usr/bin/pip。

測(cè)試安裝結(jié)果:

執(zhí)行python命令,則輸出結(jié)果如下圖所示,表示安裝成功;

執(zhí)行pipinstallnumpy命令(可以在安裝時(shí)指定鏡像源)安裝第三方庫numpy,在啟動(dòng)Python后,importnumpy語句正確運(yùn)行,表示pip命令可以正常使用,如下圖所示。

項(xiàng)目實(shí)戰(zhàn)→Python開發(fā)環(huán)境的安裝與使用實(shí)施步驟

(4)Python交互模式的使用。

(5)腳本文件的創(chuàng)建與執(zhí)行。

hello.py文件內(nèi)容項(xiàng)目實(shí)戰(zhàn)→Python開發(fā)環(huán)境的安裝與使用請(qǐng)?zhí)顚懕?-1,項(xiàng)目實(shí)施小結(jié)。項(xiàng)目小結(jié)實(shí)戰(zhàn)項(xiàng)目名稱

小組成員

日期

訓(xùn)練環(huán)境

項(xiàng)目?jī)?nèi)容與結(jié)果步驟內(nèi)

容1

2

……

小結(jié)知識(shí)方面知道了XXX,了解了XX能力方面會(huì)做XX,能解決XX問題評(píng)價(jià)自我評(píng)價(jià)

教師評(píng)價(jià)

小結(jié)人

表1-1項(xiàng)目實(shí)施小結(jié)思考

:成功安裝Python3.12后是不是很有成就感?請(qǐng)總結(jié)一下哪些地方得到了提升。另請(qǐng)查閱資料,了解Python3.8和Python3.12的區(qū)別在哪里?項(xiàng)目實(shí)戰(zhàn)→Python開發(fā)環(huán)境的安裝與使用3安裝Python目錄Python交互模式2Python版本概述與Python安裝文件的下載1IPython3和PyCharm概述4項(xiàng)目實(shí)戰(zhàn)5單元小結(jié)6單元小結(jié)1.Python的發(fā)展和版本情況。2.Ubuntu20.04.6虛擬環(huán)境下Python3.12.1的安裝方法。3.Python交互模式的使用。4.Ubuntu20.04.6虛擬環(huán)境下,IPython和PyCharm的安裝與簡(jiǎn)單使用。單元二Python編程基礎(chǔ)3數(shù)值目錄字符串2變量1列表4元組56運(yùn)算符目錄字典7Python代碼編寫規(guī)范89控制流10項(xiàng)目實(shí)戰(zhàn)11單元小結(jié)變量→變量與引用變量就是在程序執(zhí)行過程中其值可變化的量。id()函數(shù)返回對(duì)象的引用str和”hello”的地址相同變量→標(biāo)識(shí)符標(biāo)識(shí)符是指用來標(biāo)識(shí)某個(gè)實(shí)體的符號(hào)。在Python中,標(biāo)識(shí)符用來標(biāo)識(shí)變量、函數(shù)、模塊、文件、類等。標(biāo)識(shí)符的命名規(guī)則。在Python3.X中,標(biāo)識(shí)符可以由字母、下畫線、漢字開頭,后跟字母、數(shù)字、下畫線、漢字等字符。Python默認(rèn)的關(guān)鍵字不能作為標(biāo)識(shí)符。_doc_、str、姓名、性別、年齡、機(jī)電18331、var、stu_1、stu_2等都是合法的標(biāo)識(shí)符,而12__str、%stu、#bin等都是非法的標(biāo)識(shí)符。Python標(biāo)識(shí)符對(duì)大小寫敏感,例如case與Case是不一樣的。Python的關(guān)鍵字。使用Python的內(nèi)置函數(shù)help()可以查看Python的關(guān)鍵字,共35個(gè)關(guān)鍵字。3變量目錄字符串1數(shù)值2列表4元組56運(yùn)算符目錄字典7Python代碼編寫規(guī)范89控制流10項(xiàng)目實(shí)戰(zhàn)11單元小結(jié)數(shù)值→整型(int)Python數(shù)值類型包括整型、浮點(diǎn)型、復(fù)數(shù)型和布爾型。整型(int):整型數(shù)據(jù)就是平常所見的整數(shù)。Python3.x中整型可以表示任意大(?。┑恼麛?shù)。>>>x=5433344443>>>print(x)5433344443>>>y=x*x>>>print(y)29521231836278980249>>>z=x**3>>>print(z)160399020948161083133610906307>>>f=-z>>>print(f)-160399020948161083133610906307>>>type(x)<class'int'>>>>type(23)<class'int'>>>>type(f)<class'int'>盡可以想象大(?。┑臄?shù)type()函數(shù)返回對(duì)象的類型數(shù)值→浮點(diǎn)型(float)浮點(diǎn)型(float):浮點(diǎn)型就是平時(shí)所用的帶小數(shù)的數(shù)。>>>f=0.5>>>print(f)0.5>>>type(f)<class'float'>>>>0.5+(-12.97)-12.47>>>1.3455639480389409381.345563948038941>>>-3782.47837847874673536275-3782.478378478747>>>2e-9#表示的是2×10-92e-09浮點(diǎn)型數(shù)據(jù)的精度是17位數(shù)值→復(fù)數(shù)型(complex)復(fù)數(shù)型(complex):Python中復(fù)數(shù)和數(shù)學(xué)中復(fù)數(shù)的定義一樣,由實(shí)部和虛部構(gòu)成,如3+4j。

>>>s1=1+3j>>>s2=-4+9j>>>s3=s1+s2>>>s3(-3+12j)>>>s4=s1*s2>>>s4(-32-3j)>>>type(s4)<class‘complex‘>復(fù)數(shù)輸出時(shí),注意“()”,(-32-3j)數(shù)值→布爾型(bool)布爾型(bool):Python中布爾型(bool)的值只有True和False兩個(gè)。True在數(shù)學(xué)運(yùn)算時(shí)表示1,F(xiàn)alse表示0。

>>>type(True)<class'bool'>>>>type(False)<class'bool'>>>>x=1+True>>>x2>>>y=1+False>>>y12變量目錄數(shù)值1字符串3列表4元組56運(yùn)算符目錄字典7Python代碼編寫規(guī)范89控制流10項(xiàng)目實(shí)戰(zhàn)11單元小結(jié)字符串Python中的字符串就是用單引號(hào)“'”、雙引號(hào)“"”、3個(gè)單引號(hào)“'''”和3個(gè)雙引號(hào)“"""”引起來的字符序列,字符串是一種不可變的有序序列。>>>"Python"'Python'>>>type("Python")<class'str'>>>>str='''ThisisafunctionReturnatuple.'''>>>str'Thisisafunction\nReturnatuple.\n'三引號(hào)括起來的字符串,通常用在多行字符串中字符串→轉(zhuǎn)義字符

轉(zhuǎn)義字符:是控制字符和特殊含義的字符。轉(zhuǎn)義字符含義轉(zhuǎn)義字符含義\n換行\(zhòng)\字符串中“\”號(hào)本身\t制表符(Tab)\”字符串中雙引號(hào)本身\r回車\ddd3位八進(jìn)制數(shù)對(duì)應(yīng)的ASCII碼字符\’字符串中的單引號(hào)本身\xhh2位十六進(jìn)制數(shù)對(duì)應(yīng)的ASCII字符>>>print('Thisisafunction\nReturnatuple.\n')ThisisafunctionReturnatuple.>>>'\123'

#3位八進(jìn)制數(shù)對(duì)應(yīng)的ASCII字符是S'S'>>>'\x2f'

#兩位十六進(jìn)制數(shù)對(duì)應(yīng)的ASCII字符是“/”'/'>>>'asdf\"hjk''asdf"hjk'字符串→字符串運(yùn)算

在Python中,字符串可使用“+”“*”運(yùn)算符進(jìn)行運(yùn)算,其應(yīng)用如下:>>>sentence="Python"+"isaprogramminglanguage.">>>print(sentence)Pythonisaprogramminglanguage.>>>str="Python"*3>>>str'PythonPythonPython'#“+”就是連接的意思,“*”用于將字符串重復(fù)n次。字符串→字符串操作方法方法功能描述string.capitalize()將字符串中第一個(gè)字母大寫string.count(sub[start[,end]])統(tǒng)計(jì)字符串中某一子字符串從start位置開始到end位置為止出現(xiàn)的個(gè)數(shù)string.find(sub[start[,end]])返回某一子字符串的起始位置,無則返回-1string.isalnum()檢測(cè)字符串是否僅包含0~9、a~z、A~Zstring.isalpha()檢測(cè)字符串中是否只包含a~z、A~Zstring.isdigit()檢測(cè)字符串中是否只包含0~9string.islow()檢測(cè)字符串是否均為小寫字母string.isspace()檢測(cè)字符串中是否均為空白字符string.istitle()檢測(cè)字符串中單詞是否均為首字母大寫string.issupper()檢測(cè)字符串中是否均為大寫字母string.join(iterable)連接字符串string.lower()將字符串中的字母全部轉(zhuǎn)換為小寫string.split(sep=None)分割字符串,默認(rèn)用空格分割string.swapcase()將字符串中的大寫字母轉(zhuǎn)換為小寫,小寫字母轉(zhuǎn)換為大寫string.title()將字符串中單詞的首字母大寫string.upper()將字符串中全部字母大寫len(string)返回字符串的長度string.strip([chars])去除字符串首尾的空格、\n、\r、\t,如指定,則去除首尾指定的字符Python提供了很多字符串的操作方法。字符串→字符串操作方法字符串操作方法應(yīng)用示例>>>str='Iamastudent.'>>>print(str)Iamastudent.>>>list=str.split(sep='') #“sep=''”表示以空格作為分割符,將字符串分割后存放在一個(gè)列表中>>>list['I','am','a','student.']>>>str.title() #將字符串中單詞的首字母大寫'IAmAStudent.'>>>lag="Python">>>lag'Python'>>>'G'.join(lag) #用“G”連接字符序列'pGyGtGhGoGn'>>>lag'Python'>>>''.join(list) #用空格將字符序列連接成字符串'Iamastudent.'可以使用dir(object)查看實(shí)例對(duì)象的屬性和方法,如dir(str)可以查看字符串實(shí)例對(duì)象的屬性和方法(函數(shù))。>>>dir(str)2變量目錄數(shù)值1列表4字符串3元組56運(yùn)算符目錄字典7Python代碼編寫規(guī)范89控制流10項(xiàng)目實(shí)戰(zhàn)11單元小結(jié)列表→列表的創(chuàng)建與刪除

列表是Python的一種內(nèi)置數(shù)據(jù)類型。把所有元素放在一個(gè)“[]”內(nèi),用“,”進(jìn)行分隔,同一個(gè)列表中的元素可以是不同的類型。列表是一種可變的有序序列類型,可以進(jìn)行添加、刪除、修改元素等操作。#使用賦值運(yùn)算符“=”直接將一個(gè)列表賦值給一個(gè)變量即可創(chuàng)建列表>>>alist=[1,2,3,4]>>>alist[1,2,3,4]>>>print(alist)[1,2,3,4]>>>list_x=[1,'a','Python',9,[1,2,3]]>>>list_x[1,'a','Python',9,[1,2,3]]>>>type(list_x)#列表類型<class'list'>#上述分別創(chuàng)建了alist和list_x兩個(gè)列表,alist所有元素都是同一類型,而list_x的元素包含數(shù)值、字符串和列表。>>>dellist_x>>>list_xTraceback(mostrecentcalllast):File"<stdin>",line1,in<module>NameError:name'list_x'isnotdefined#del命令的功能是刪除一個(gè)實(shí)例對(duì)象。刪除list_x后,再次訪問list_x時(shí),拋出異常。列表→列表的操作方法通過列表的操作方法可實(shí)現(xiàn)對(duì)列表元素的添加、刪除、排序等操作。方法功能描述list.append(object)在列表的尾部追加元素list.count(value)返回列表中某元素出現(xiàn)的次數(shù)list.extend(iterable)在列表的尾部追加另一個(gè)列表list.index(value,[start[,stop]])返回某元素在列表中的位置list.insert(index,object)在列表的某個(gè)位置插入一個(gè)元素list.pop([index])返回列表中index位置的元素,并刪除該元素,省略index則指列表尾部位置list.remove(value)刪除列表中指定元素,若有多個(gè),則刪除第一個(gè)list.reverse()將列表中元素的順序顛倒list.sort(reverse=False)將列表中的元素默認(rèn)按升序排序列表→列表的操作方法列表操作方法應(yīng)用示例>>>alist=[1,4,2,2,3,4,4]>>>alist[1,4,2,2,3,4,4]>>>alist.append(2)#在列表尾部追加元素“2”>>>alist[1,4,2,2,3,4,4,2]>>>alist.insert(3,8)#在第3(左邊第一個(gè)元素的位置為0)個(gè)位置插入元素“8”,>>>alist[1,4,2,8,2,3,4,4,2]>>>alist.pop()2>>>alist[1,4,2,8,2,3,4,4]>>>alist.reverse()>>>alist[4,4,3,2,8,2,4,1]>>>alist.sort()>>>alist[1,2,2,3,4,4,4,8]>>>alist.sort(reverse=True)>>>alist[8,4,4,4,3,2,2,1]>>>alist.count(4)#4出現(xiàn)的次數(shù)3“reverse=True”表示降序排列,省略參數(shù)或者“reverse=False”表示升序排列。列表→列表的切片切片是Python序列的重要操作之一。適用于列表、元組、字符串、range對(duì)象等??梢杂们衅瑏斫厝×斜碇腥魏尾糠肢@得一個(gè)新的列表,也可進(jìn)行元素的增刪改。Python中序列的序號(hào)(索引)既可以從左向右以0開始依次增加,也可以從右向左以-1開始依次減小。列表元素的訪問與修改>>>alist=[3,4,2,9]>>>print(alist[0])#輸出左邊第0個(gè)位置的元素3>>>print(alist(-len(alist))#輸出最左邊的元素3>>>print(alist[3])#輸出左邊第3個(gè)位置的元素9>>>print(alist[-1])#輸出最右邊的元素9>>>print(alist[2],alist[-2])#輸出左邊第2個(gè)位置的元素22>>>alist[0]=88#修改列表元素的值>>>print(alist[0])88len()是Python的內(nèi)置函數(shù),用于獲得序列中元素的個(gè)數(shù)列表→列表的切片>>>alist=[3,4,2,9,12,6,18,-6]>>>alist[:] #取全部元素[3,4,2,9,12,6,18,-6]>>>alist[0:] #取全部元素[3,4,2,9,12,6,18,-6]>>>alist[:-1] #取除最后一個(gè)元素外的所有元素,alist[:-1]等價(jià)于x[0:-1:1][3,4,2,9,12,6,18]>>>alist[2:5] #取序號(hào)是2、3、4的元素,不包含最后一個(gè)序號(hào)的元素[2,9,12]>>>alist[::2] #從0開始隔一個(gè)取一個(gè)元素[3,2,12,18]>>>alist[1:5:2] #從1開始,每隔一個(gè)取一個(gè)元素,直到5為止[4,9]>>>alist[::-1] #從右向左取全部成員[-6,18,6,12,9,2,4,3]>>>alist[5:0:-2] #從右向左隔一個(gè)取一個(gè)元素,不包含0[6,9,4]#alist[:-1]等價(jià)于x[0:-1:1],-1表示最后一個(gè)位置列表切片:切片是為了獲得序列某個(gè)區(qū)間的元素序列。切片操作使用2個(gè)冒號(hào)分隔三個(gè)數(shù)字來實(shí)現(xiàn),第一個(gè)數(shù)字表示切片的開始位置,默認(rèn)為0,第二個(gè)數(shù)字表示切片的終止位置(但不包含該位置的元素),默認(rèn)為列表的長度,第三個(gè)數(shù)字為切片的步長,默認(rèn)為1,當(dāng)省略步長時(shí),可以同時(shí)省略后一個(gè)冒號(hào)。列表→列表的切片>>>alist=[3,4,2,9,12,6,18,-6]>>>alist_x=alist[1:6:2]>>>alist_x[4,9,6]>>>alist[1:6:2]=[28,38,48]#修改元素值>>>alist[3,28,2,38,12,48,18,-6]#修改元素值時(shí)要求“=”左右兩側(cè)的元素個(gè)數(shù)相同>>>delalist[3:5]#刪除元素>>>alist[3,28,2,48,18,-6]切片應(yīng)用:切片可用于獲得子列表,或者修改、刪除列表元素。列表→列表的切片#字符串也可以按切片來進(jìn)行操作,獲取部分字符>>>str=“Python”>>>str[0]‘P’>>>str[-1]‘n’>>>str[1:5:2]'yt'>>>str[0]=‘r’Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>TypeError:'str'objectdoesnotsupportitemassignment切片應(yīng)用:切片可用于獲得子列表,或者修改、刪除列表元素。這里拋出了異常,是因?yàn)樽址遣豢勺冃蛄?,即不能修改其值,這兒想修改就出現(xiàn)錯(cuò)誤了2變量目錄數(shù)值1元組5字符串3列表46運(yùn)算符目錄字典7Python代碼編寫規(guī)范89控制流10項(xiàng)目實(shí)戰(zhàn)11單元小結(jié)元組→元組的創(chuàng)建與刪>>>tuple=(1,2,3,'k','Python')>>>tuple(1,2,3,'k','Python')>>>type(tuple)<class'tuple'>>>>tup1=() #創(chuàng)建一個(gè)空元組>>>tup1()>>>tup2=(8,) #創(chuàng)建只含一個(gè)元素的元組時(shí)要注意,元素后要加一個(gè)“,”>>>tup2(8,)>>>tup3=(8) #未加“,”,則視為一個(gè)括號(hào)表達(dá)式,所以tup3為8>>>tup38>>>deltup2 #刪除tup2>>>tup2 #刪除后再訪問,則拋出異常Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>NameError:name'tup2'isnotdefined.元組是Python的一個(gè)重要內(nèi)置數(shù)據(jù)類型。元組用“()”將數(shù)據(jù)元素括起來,元素之間用“,”進(jìn)行分隔,一個(gè)元組的元素可以是不同類型的。元組是一種不可變的有序序列。元組→元素的訪問>>>tuple[0] #元組中元素的訪問同列表,也是通過序號(hào)(索引)和切片進(jìn)行訪問的1>>>tuple[2],tuple[4](3,'Python')>>>tuple[-1]'Python'>>>tuple[1:5:2](2,'k')元組也可以進(jìn)行切片操作,規(guī)則同列表切片操作。元組→元素的運(yùn)算>>>tuple=(1,2,3,'k','Python')>>>language=("Java","C#","PHP")>>>merge=tuple+language#連接運(yùn)算>>>merge(1,2,3,'k','Python','Java','C#','PHP')>>>language*3#重復(fù)運(yùn)算('Java','C#','PHP','Java','C#','PHP','Java','C#','PHP')元組→元素的操作方法>>>merge.index('Java')#所有序列的下標(biāo)從左到右從0開始依次增加,從右到左從-1開始依次減小5>>>merge.count('C#')1元組只有兩個(gè)操作方法,分別是tuple.index(value[,start,stop])和tuple.count(value),定義也和列表相同。2變量目錄數(shù)值1字符串3列表4元組5運(yùn)算符目錄7Python代碼編寫規(guī)范89控制流10項(xiàng)目實(shí)戰(zhàn)11單元小結(jié)字典6字典→字典的創(chuàng)建與訪問>>>dict={}#創(chuàng)建一個(gè)空字典>>>adct={'a':1,'b':2,'c':3.4}>>>adct{'a':1,'b':2,'c':3.4}>>>lag={'Python':1,'c':2,'java':3}>>>lag{'Python':1,'c':2,'java':3}>>>adct['a']#通過鍵訪問元素的值1>>>lag['java']3>>>xuesheng={'xm':['ding','wang','li'],'xb':['f','f','m'],'fs':[67,78,87]}>>>xuesheng{'xm':['ding','wang','li'],'xb':['f','f','m'],'fs':[67,78,87]}#字典的鍵可以是一個(gè)字符串、數(shù)值、邏輯值,字典的值可以是單個(gè)的值,也可以是列表、元組等字典是Python的一種內(nèi)置數(shù)據(jù)類型,每個(gè)元素都以鍵值對(duì)的形式存在,用“{}”將所有元素括起來,各元素之間用“,”分隔。字典與字符串、列表和元組主要的不同是,字典是無序的,其元素的訪問是通過“鍵”實(shí)現(xiàn)的,而不是通過元素的序號(hào)(索引),并且字典中的“鍵”不能重復(fù)。字典是Python中最強(qiáng)大的數(shù)據(jù)類型之一。在Python中,創(chuàng)建實(shí)例對(duì)象時(shí),通過賦值運(yùn)算符“=”將一個(gè)實(shí)例賦給一個(gè)變量即可。字典→字典元素的修改字典元素的修改主要有值的修改、元素的增加與刪除操作。①修改值>>>lag['java']=5>>>lag{'Python':1,'c':2,'java':5}增加元素>>>lag["c#"]=4#直接將值賦給一個(gè)新的鍵,就添加了一個(gè)元素>>>lag{'Python':1,'c':2,'java':5,'c#':4}元素的刪除#del命令可以刪除元素,也可以刪除整個(gè)字典>>>dellag['java']>>>lag{'Python':1,'c':2,'c#':4}>>>dellag>>>lagTraceback(mostrecentcalllast):File"<stdin>",line1,in<module>NameError:name'lag'isnotdefined字典→字典的操作方法Python提供了很多字典的操作方法。方法功能描述dict.clear()清空字典dict.copy()復(fù)制字典dict.get(k,[default])獲得k(鍵)對(duì)應(yīng)的值,不存在則返回defaultdict.items()獲得由鍵和值組成元組做為元素的列表dict.keys()獲得鍵的迭代器dict.pop(k[,d])刪除k(鍵)對(duì)應(yīng)的”鍵:值”對(duì)dict.update(adict)從另一個(gè)字典更新字典元素的值,如不存在傳入的元素,則添加此元素dict.values()獲得值的迭代器dict.fromkeys(iter,value)以列表或元組中給定的鍵建立字典,默認(rèn)值為valuedict.popitem()從字典中刪除任一鍵值對(duì)元素,并返回它dict.setdefault(k[,default])若字典中存在鍵為k的元素,則返回其對(duì)應(yīng)的值,否則在字典中建立一個(gè)k:default元素字典→字典操作方法部分方法應(yīng)用示例>>>xuesheng={'name':'ding','age':18,'score':[112,145,80]}>>>xuesheng{'name':'ding','age':18,'score':[112,145,80]}>>>xuesheng.get('addr',"jiangsu")#“addr”鍵不存在,返回默認(rèn)值“Jiangsu”'jiangsu'>>>xuesheng.popitem()#隨機(jī)刪除一個(gè)元素(鍵:值對(duì)),并返回該元素('score',[112,145,80])>>>xuesheng.setdefault('addr',"shanghai")'shanghai'>>>xuesheng#刪除了’score’:[112,145,80],增加了’addr’:’shanghai’元素{'name':'ding','age':18,'addr':'shanghai'}>>>forkeyinxuesheng.items():#獲得“鍵:值”對(duì)的列表 print(key)('name','ding')('age',18)('addr','shanghai')字典→字典應(yīng)用示例字典可以簡(jiǎn)單理解為存儲(chǔ)一個(gè)二維表,如下學(xué)生表,可以定義一個(gè)字典來存儲(chǔ)。>>>xsxx={'xm':['Xu','Wang','Jiang'],'xb':['F','M','F'],'fs':[58,78,83]}>>>xsxx{'xm':['Xu','Wang','Jiang'],'xb':['F','M','F'],'fs':[58,78,83]}2變量目錄數(shù)值1字符串3列表4元組5目錄Python代碼編寫規(guī)范89控制流10項(xiàng)目實(shí)戰(zhàn)11單元小結(jié)字典6運(yùn)算符7運(yùn)算符→算術(shù)運(yùn)算符運(yùn)算符是一種“功能”符號(hào),用來進(jìn)行相應(yīng)的運(yùn)算。Python運(yùn)算符分為算術(shù)運(yùn)算符、位運(yùn)算符、邏輯運(yùn)算符、比較(關(guān)系)運(yùn)算符、賦值運(yùn)算符以及其他運(yùn)算符。運(yùn)算符功能描述運(yùn)算符功能描述+加法運(yùn)算/除法運(yùn)算-減法運(yùn)算//整除運(yùn)算*乘法運(yùn)算%取余運(yùn)算**冪運(yùn)算(指數(shù)運(yùn)算)#“//”整除運(yùn)算,是取商的整數(shù)部分>>>7//32>>>7.4//51.0#“%”取余運(yùn)算,是取除法運(yùn)算后的余數(shù)部分>>>8%32如何將153的各位數(shù)字取出??運(yùn)算符→位運(yùn)算符

運(yùn)算符功能描述運(yùn)算符功能描述^異或運(yùn)算<<

左移運(yùn)算&與運(yùn)算>>

右移運(yùn)算|或運(yùn)算~按位取反運(yùn)算位運(yùn)算都是按位進(jìn)行的,基于二進(jìn)制形式進(jìn)行運(yùn)算。#邏輯運(yùn)算都是按位進(jìn)行的,依據(jù)二進(jìn)制形式進(jìn)行運(yùn)算>>>print(3^8,3|8,3&8,8>>1,8<<2,sep=',')11,11,0,4,32#sep=’,’表示多個(gè)輸出項(xiàng)之間用“,”進(jìn)行分隔>>>print(8>>3)#右移,高位補(bǔ)符號(hào)位,低位丟棄1>>>-109>2-28#左移,高位丟棄時(shí)保留符號(hào)位,低位補(bǔ)0>>>print(12<<2)48>>>-12<<13-98304>>>5&64>>>3&40>>>5&64>>>3^56>>>3|57#先按位取反,正數(shù)取反為負(fù)數(shù)#負(fù)數(shù)再按補(bǔ)碼規(guī)則轉(zhuǎn)換為實(shí)際原碼>>>~3-4>>>~-43運(yùn)算符→邏輯運(yùn)算符

Python邏輯運(yùn)算符有and(與)、or(或)、not(非)三個(gè)。Python中非0即為真(True),0為假(False)。>>>3and4

#3和4進(jìn)行“與”運(yùn)算,結(jié)果為真,取后一個(gè)值44>>>3or4

#3“或”4的結(jié)果為真,取前一個(gè)值33>>>not3

#3的反為假(False)False>>>[1,2]and44>>>4and55>>>[]and()#“[]”、“()”、“{}”空值都為假[]#Python還有一個(gè)表示什么值都沒有的常量是None運(yùn)算符→比較運(yùn)算符

Python比較運(yùn)算符也稱關(guān)系運(yùn)算符,其意義與數(shù)學(xué)中的定義相同。比較運(yùn)算的結(jié)果為True或False。>>>3>4False>>>3>=3True>>>4!=4False>>>5>4<3#等價(jià)于5>4and4<3False運(yùn)算符意義運(yùn)算符意義>

大于>=大于等于<

小于<=小于等于==等于!=不等于運(yùn)算符→賦值運(yùn)算符

>>>x=6>>>x+=12>>>x18>>>x%=5#與表達(dá)式x=x%5等價(jià)>>>x3>>>x**=3#與表達(dá)式x=x**3等價(jià)>>>x27>>>x//=(-5)#與表達(dá)式x=x//(-5)等價(jià)>>>x-6運(yùn)算符

意義運(yùn)算符

意義=基本的賦值運(yùn)算*=乘法賦值運(yùn)算-=減法賦值運(yùn)算/=除法賦值運(yùn)算+=加法賦值運(yùn)算%=取余賦值運(yùn)算**=冪賦值運(yùn)算//=整除賦值運(yùn)算運(yùn)算符→其它運(yùn)算符

in和notin:這兩個(gè)是成員運(yùn)算符,用于檢查某個(gè)數(shù)據(jù)對(duì)象是否存在于具有多個(gè)元素(列表、元組、字典、字符串等)的數(shù)據(jù)對(duì)象之中,運(yùn)算結(jié)果為True或False。>>>3in[1,2,3,4]True>>>6in[1,2,3,4]False>>>8notin[1,2,3,4]True>>>dict={'java':1,'Python':2,'C#':3,'PHP':4}>>>dict{'java':1,'Python':2,'C#':3,'PHP':4}>>>'C#'indictTrue>>>'c#'indict#區(qū)分大小寫的False#對(duì)于字典,是檢查字典的鍵運(yùn)算符→其它運(yùn)算符

is和isnot:是用于兩個(gè)實(shí)例對(duì)象的同一性測(cè)試運(yùn)算符,用于判斷左右變量是否指向同一個(gè)實(shí)例,運(yùn)算結(jié)果為True或False。>>>x=5>>>y=6>>>xisyFalse>>>xisnotyTrue運(yùn)算符→優(yōu)先級(jí)

優(yōu)先級(jí)運(yùn)算符描述1**指數(shù)(最高優(yōu)先級(jí))運(yùn)算運(yùn)算2~+-按位取反,一元加號(hào)和減號(hào)(符號(hào)位運(yùn)算)3*/%//乘,除,取余和整除運(yùn)算4+-加法,減法運(yùn)算5>><<右移,左移運(yùn)算6&位“與”運(yùn)算7^|位“異或”、“或”運(yùn)算符8<=<>>=比較(不等)運(yùn)算9<>==!=比較(等于)運(yùn)算10=%=/=//=-=+=*=**=賦值運(yùn)算11isisnot身份運(yùn)算12innotin成員運(yùn)算13notorand邏輯運(yùn)算高到底2變量目錄數(shù)值1字符串3列表4元組5目錄運(yùn)算符79控制流10項(xiàng)目實(shí)戰(zhàn)11單元小結(jié)字典6Python代碼編寫規(guī)范8縮進(jìn):Python程序是通過代碼的縮進(jìn)來體現(xiàn)代碼之間的邏輯關(guān)系,即層次結(jié)構(gòu)。Python的代碼塊是從尾部帶“:”的行開始,以及其后所有縮進(jìn)的行,表示一個(gè)代碼塊。同一級(jí)別代碼塊的縮進(jìn)量必須相同。k=0foriin[1,2,3,4,5]:k=k+i

print(k)print(i)ifa>b:

ifa==1:

print(a)

else:

print(a+1)else:

print(b)Python代碼編寫規(guī)范屬于for語句,所以向后縮進(jìn)屬于外層的if語句,所以向后縮進(jìn)Python代碼編寫規(guī)范代碼注釋:是程序中不可缺少的部分,良好的注釋可以使程序的可讀性增強(qiáng),同樣也方便程序員后期的代碼維護(hù)。Python代碼的注釋有兩種形式:?jiǎn)涡凶⑨?,以?”開始,表示本行是注釋行,也就是“#”之后的內(nèi)容是注釋信息;多行注釋,用三個(gè)單引號(hào)“’’’”或者是三個(gè)雙引號(hào)“"""”將注釋的內(nèi)容括起來。’’’這段程序的功能是:求1~100的和’’’sum=0forkinrange(101):

sum=sum+kprint(sum)這是一個(gè)多行注釋Python代碼編寫規(guī)范其它規(guī)范①一個(gè)語句行太長,可以在行尾用“\”來續(xù)行;②一般一個(gè)import語句只導(dǎo)入一個(gè)模塊,盡量避免導(dǎo)入多個(gè)模塊;③使用必要的空格和空行來增強(qiáng)代碼的清晰度和可讀性。一般在運(yùn)算符的兩側(cè)、逗號(hào)兩側(cè)建議增加空格,代碼塊之間增加空行;④Python官網(wǎng)有關(guān)于代碼風(fēng)格的指南PEP8,見/dev/peps/pep-0008/。2變量目錄數(shù)值1字符串3列表4元組5目錄運(yùn)算符78Python代碼編寫規(guī)范10項(xiàng)目實(shí)戰(zhàn)11單元小結(jié)字典6控制流9控制流控制流可控制程序邏輯執(zhí)行的先后順序。Python有3種控制流結(jié)構(gòu),分別是順序結(jié)構(gòu)、分支(選擇)結(jié)構(gòu)及循環(huán)結(jié)構(gòu)。控制分支(選擇)結(jié)構(gòu)的語句是if…[else…],控制循環(huán)結(jié)構(gòu)的語句是while和for語句??刂屏鳌樞蚪Y(jié)構(gòu)程序順序結(jié)構(gòu)程序指的是執(zhí)行順序是按語句的書寫順序進(jìn)行的。1.IPO模式輸入數(shù)據(jù)分析、輸出結(jié)果分析、處理過程(算法),稱之為IPO程序設(shè)計(jì)模式,I(Input)輸入、O(Output)輸出、P(Process)處理。【例2-1】已知圓柱體的底半徑r=3.5,高h(yuǎn)=6.7,請(qǐng)編程計(jì)算圓柱體的體積和表面積。①采用IPO程序設(shè)計(jì)模式分析如下:I(輸入數(shù)據(jù)):底半徑r=3.5,高h(yuǎn)=6.7,2個(gè)輸入數(shù)據(jù)。O(輸出結(jié)果):圓柱體的體積v和表面積s,2個(gè)輸出結(jié)果。P(處理過程(算法))(1)計(jì)算底面積s1=πr2,(2)計(jì)算體積v=s1×h,(3)計(jì)算底的周長l=2πr,(4)計(jì)算表面積s=l×h+2×s1,(5)輸出結(jié)果v和s。②根據(jù)IPO模式的分析結(jié)果,編寫如下程序:#ch2_1.pyimportmath#輸入數(shù)據(jù)r=3.5h=6.7#中間處理s1=math.pi*r*rv=s1*hl=2*math.pi*rs=l*h+2*s1#輸出結(jié)果print("圓柱體的體積=%f,表面積=%f"%(v,s),sep=',')“importmath”語句的功能是導(dǎo)入模塊math后,才能使用π,使用格式為math.pi,即“模塊名.屬性名”控制流→順序結(jié)構(gòu)程序96開始與結(jié)束框:用來表示一個(gè)過程的開始或結(jié)束?!遍_始”或”結(jié)束”寫在符號(hào)內(nèi)。輸入/輸出框:用于數(shù)據(jù)的輸入和輸出。判定框:用來表示過程中的一項(xiàng)判定或一個(gè)分岔點(diǎn),判定或分岔的條件寫在菱形內(nèi),常以問題的形式出現(xiàn)。對(duì)該問題的回答決定了判定符號(hào)之外引出的路線,每條路線標(biāo)上相應(yīng)的回答。處理框:用來表示過程的一個(gè)單獨(dú)步驟。具體內(nèi)容寫在框內(nèi)。

流程線:用來表示步驟在順序中的進(jìn)展。流程線的箭頭表示一個(gè)過程的流程方向。連接框:用來表示流程圖的待續(xù)。圈內(nèi)有一個(gè)字母或數(shù)字。在相互聯(lián)系的流程圖內(nèi),連接符號(hào)使用同樣的字母或數(shù)字,以表示各個(gè)過程是如何連接的。2.算法算法就是解決問題的方法或步驟,是程序設(shè)計(jì)的靈魂。算法的描述方法很多,常見的有自然語言法、偽代碼法、控制流圖法、NS控制流圖法等,例2-1的“P(處理過程(算法))”中的算法就是用自然語言描述的。本節(jié)介紹常用的控制流圖,其它描述方法請(qǐng)查閱相關(guān)資料??刂屏鳌樞蚪Y(jié)構(gòu)程序97例2-1控制流圖開始A計(jì)算:l=2πrA輸出體積和表面積結(jié)束計(jì)算表面積:s=l×h+2×s1輸入數(shù)據(jù):r=3.5,h=6.7

計(jì)算體積:v=s1×h計(jì)算:s1=πr2控制流→順序結(jié)構(gòu)程序98

開始輸出面積結(jié)束輸入數(shù)據(jù):a,b,c

計(jì)算:s=(a+b+c)/2③編寫程序#ch2_2.py#計(jì)算三角形的面積importmath#輸入三條邊a=float(input("請(qǐng)輸入三角形的第一條邊:"))b=float(input("請(qǐng)輸入三角形的第二條邊:"))c=float(input("請(qǐng)輸入三角形的第三條邊:"))#計(jì)算面積s=(a+b+c)/2area=math.sqrt(s*(s-a)*(s-b)*(s-c))#輸出結(jié)果print("三角形的面積是:%f"%area)控制流→順序結(jié)構(gòu)程序99④print()是Python的內(nèi)建(內(nèi)置)函數(shù)。其功能是輸出信息。常用格式如下:輸出實(shí)例對(duì)象或表達(dá)式列表的值:print(‘23+45=’,23+45)。格式化輸出實(shí)例對(duì)象或表達(dá)式列表的值:print(“本息總額為%.2f”%final),”%”為格式控制符,格式符如下表所示。%m.nf格式中,n表示小數(shù)部分的位數(shù),m表示輸出的總寬度,當(dāng)不夠時(shí),按實(shí)際輸出,如print(‘%2.3f’%123.5678),實(shí)際輸出結(jié)果為”123.568”。控制輸出項(xiàng)分隔符及換行設(shè)置,通過參數(shù)”sep”和“end”的設(shè)置來實(shí)現(xiàn)?!眘ep”是設(shè)置輸出項(xiàng)的分隔符,如”sep=‘,’”表示輸出項(xiàng)之間用”,”進(jìn)行分隔?!眅nd”是用于設(shè)置結(jié)束符的,每個(gè)print()默認(rèn)是進(jìn)行換行,如果設(shè)置了”end=‘X’”,則不換行,以所設(shè)置的符號(hào)=‘X’作為結(jié)束符。格式符含

義d,i帶符號(hào)的十進(jìn)制整數(shù)o不帶符號(hào)的八進(jìn)制u不帶符號(hào)的十進(jìn)制X/x不帶符號(hào)的十六進(jìn)制E/e科學(xué)計(jì)數(shù)法表示的浮點(diǎn)數(shù)f/F十進(jìn)制浮點(diǎn)數(shù)G/g如果指數(shù)大于4或者小于精度值則和e相同,其它情況和F/f相同C單字符(接受整數(shù)或者單字符字符串)r字符串(使用repr轉(zhuǎn)換任意python對(duì)象)s字符串(使用str轉(zhuǎn)換任意python對(duì)象)控制流→順序結(jié)構(gòu)程序100⑤input()是Python內(nèi)建(內(nèi)置)函數(shù)。其功能是從控制臺(tái)獲取(輸入)一個(gè)字符串,調(diào)用格式為input([提示字符串]),如input('請(qǐng)輸入存款利率:'),執(zhí)行時(shí),屏幕上先顯示提示字符串”請(qǐng)輸入存款利率:”,再等待用戶輸入??梢杂胔elp()函數(shù)查看其功能和參數(shù),即:help(print)、help(input)控制流→順序結(jié)構(gòu)程序101⑥Python內(nèi)建函數(shù)函

數(shù)

述abs(x)返回x的絕對(duì)值或復(fù)數(shù)的模hasattr(object,name)測(cè)試object是否具有name元素input([“提示字符串”])從控制臺(tái)獲得輸入字符串isinstance(object,class_or_tuple)測(cè)試object是否屬于指定類型的實(shí)例,如果有多個(gè)類型,需要放入元組中l(wèi)ist([x])、tuple([x])、dict([x])把x轉(zhuǎn)換為列表、元組、字典,或生成空列表、元組、字典map(func,seq)返回以seq序列的元素作為func參數(shù)進(jìn)行計(jì)算得到的新序列open(filename[,mode])以指定的模式mode打開文件filename,并返回文件對(duì)象print(value,……,sep=’’,end=’\n’,file=sys.stdout,flush=False)基本輸出函數(shù)range([start,]end[,step])返回range對(duì)象,包含區(qū)間[start,end)內(nèi)以step為步長的整數(shù)reversed(seq)將seq序列反轉(zhuǎn)(逆序)round(x[,小數(shù)位數(shù)])對(duì)x進(jìn)行四舍五入,保留指定的小數(shù)位數(shù),缺省小數(shù)位數(shù),則返回整數(shù)str(object)將object轉(zhuǎn)換為字符串sorted(iterable,key=None,reverse=False)對(duì)iterable進(jìn)行排序,key指定排序的規(guī)則,reverse指定升序或降序排列zip(sqe1[,seq2[……]])返回以sqe1[,seq2[……]]序列對(duì)應(yīng)元素形成的元組dir([obj])列出對(duì)象的所有屬性和方法help([obj])函數(shù)或模塊的詳細(xì)說明id(obj)獲取對(duì)象的內(nèi)存地址type(obj)返回對(duì)象的類型divmod(a,b)把除數(shù)和余數(shù)運(yùn)算結(jié)果結(jié)合起來,返回一個(gè)包含商和余數(shù)的元組(a//b,a%b)filter(function,iterable)用于過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表hex(x)用于將一個(gè)整數(shù)轉(zhuǎn)換成16進(jìn)制,以字符串形式表示bin(x)用于將一個(gè)整數(shù)轉(zhuǎn)換成二進(jìn)制,以字符串形式表示oct(x)用于將一個(gè)整數(shù)轉(zhuǎn)換成8進(jìn)制,以字符串形式表示ord(char)將字符轉(zhuǎn)換成對(duì)應(yīng)的十進(jìn)制ASCII碼chr(x)將一個(gè)ASCII轉(zhuǎn)換成對(duì)應(yīng)的字符all(iterable)判斷給定的可迭代參數(shù)iterable中的所有元素是否都為TRUE,如果是返回True,否則返回Falseany(iterable)any()函數(shù)用于判斷給定的可迭代參數(shù)iterable是否全部為False,則返回False,如果有一個(gè)為True,則返回TruePython內(nèi)置函數(shù)數(shù)量多,功能強(qiáng)大控制流→順序結(jié)構(gòu)程序102類型轉(zhuǎn)換input()輸入的是一個(gè)字符串,可實(shí)際上三角形的邊長都是浮點(diǎn)數(shù),因此需要利用類型轉(zhuǎn)換函數(shù)將字符串轉(zhuǎn)換成需要的類型。

轉(zhuǎn)換格式為:

“類型符(轉(zhuǎn)換對(duì)象)”

如:

a=float(input("請(qǐng)輸入三角形的第一條邊:"))

將輸入的邊長轉(zhuǎn)換為float類型,再賦值給a變量??刂屏鳌种ЫY(jié)構(gòu)程序103生活中經(jīng)常需要通過決策選擇某種方案。例如,學(xué)校有多個(gè)食堂,中午選擇去哪個(gè)食堂吃飯呢?根據(jù)什么來選擇食堂呢?再如購物,有微信、現(xiàn)金、支付寶、銀行卡等多種支付方式,選擇哪種支

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論