Python語言程序設(shè)計(jì)基礎(chǔ)課程(入門級)課件_第1頁
Python語言程序設(shè)計(jì)基礎(chǔ)課程(入門級)課件_第2頁
Python語言程序設(shè)計(jì)基礎(chǔ)課程(入門級)課件_第3頁
Python語言程序設(shè)計(jì)基礎(chǔ)課程(入門級)課件_第4頁
Python語言程序設(shè)計(jì)基礎(chǔ)課程(入門級)課件_第5頁
已閱讀5頁,還剩101頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Python語言程序設(shè)計(jì)基礎(chǔ)課程

(入門級)

Python開發(fā)環(huán)境配置Python開發(fā)環(huán)境配置-

Python語言概述-

Python語言Windows系統(tǒng)開發(fā)環(huán)境-

Python語言Mac系統(tǒng)開發(fā)環(huán)境-

Python語言Linux系統(tǒng)開發(fā)環(huán)境-

Python語言Web開發(fā)環(huán)境三選一-

Python程序編寫與運(yùn)行Python語言概述CCBY-NC-SA4.0嵩天Python

[`paiθ?n],譯為“蟒蛇”Python語言擁有者是Python

Software

Foundation(PSF)PSF是非盈利組織,致力于保護(hù)Python語言開放、開源和發(fā)展Python語言的誕生Guido

van

RossumPython語言創(chuàng)立者2002年,Python

2.x2008年,Python

3.x

Python,由荷蘭人GuidovanRossum于1989年發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。

作為python的作者,是什么促使他設(shè)計(jì)了這個語言呢?在80年代,個人電腦的配置低,程序員不得不努力思考如何最大化利用空間,讓guido感到苦惱。他認(rèn)為這樣編寫程序?qū)嵲谑翘^于耗費(fèi)時間,于是他想到了shell。shell可以像膠水一樣,將UNIX下的許多功能連接在一起。許多C語言下上百行的程序,在shell下只用幾行就可以完成。然而,shell的本質(zhì)是調(diào)用命令,它并不是一個真正的語言,shell不能全面的調(diào)動計(jì)算機(jī)的功能。后來他進(jìn)入CWI(數(shù)學(xué)和計(jì)算機(jī)研究所)工作,并參加了ABC語言的開發(fā)。1989年圣誕節(jié)期間,在阿姆斯特丹,Guido為了打發(fā)圣誕節(jié)的無趣,決心開發(fā)一個新的腳本解釋程序,做為ABC語言的一種繼承。而取名python,是取自他摯愛的一部電視劇MontyPython’sFlyingCircus。1991年,第一個Python編譯器誕生,它是用C語言實(shí)現(xiàn)的,guido為防止重蹈ABC的覆轍,著重注意python的可擴(kuò)展性,并且也沿用了C中的大部分語法習(xí)慣,而這,使python得到guido同事的歡迎。他們迅速的反饋使用意見,并參與到Python的改進(jìn)。1990年代初,計(jì)算機(jī)的性能大大提高。許多程序員以及資深計(jì)算機(jī)用戶頻繁使用Internet進(jìn)行交流,這使得python沒有了硬件上的束縛與傳播上的困難,再加上python易于使用的特點(diǎn),使python得到了一定程度上的傳播。python相當(dāng)?shù)拈_放,任何人可對python進(jìn)行拓展或改造。由Guido決定是否將新的特征加入到python或者標(biāo)準(zhǔn)庫中。后來的python2.0,轉(zhuǎn)為完全開源的開發(fā)方式,python的數(shù)據(jù)庫的擴(kuò)展速度與傳播速度也由此更進(jìn)一步。到今天,Python的框架已經(jīng)確立。Python語言以對象為核心組織代碼(Everythingisobject),支持多種編程范式(multi-paradigm),采用動態(tài)類型(dynamictyping),自動進(jìn)行內(nèi)存回收(garbagecollection)。Python支持解釋運(yùn)行(interpret),并能調(diào)用C庫進(jìn)行拓展。Python有強(qiáng)大的標(biāo)準(zhǔn)庫(batteryincluded)。這也是python相較于C,java一類語言的優(yōu)勢。Python語言是一個由編程牛人領(lǐng)導(dǎo)設(shè)計(jì)并開發(fā)的編程語言Python語言是一個有開放、開源精神的編程語言Python語言應(yīng)用于火星探測、搜索引擎、引力波分析等眾多領(lǐng)域TIOBE

INDEX:編程語言流行程度排行榜1、語法簡潔2、與平臺無關(guān)3、粘性擴(kuò)展4、開源理念5、通用靈活6、強(qiáng)制可讀7、支持中文8、模式多樣9、類庫豐富Python語言的特點(diǎn)Python語言的優(yōu)點(diǎn)優(yōu)點(diǎn)一:優(yōu)雅、簡單、明確(減少花哨、晦澀或以“炫技”為目的的代碼)讓數(shù)據(jù)分析師們擺脫了程序本身語法規(guī)則的泥潭,更快的進(jìn)行數(shù)據(jù)分析C語言Python語言12優(yōu)點(diǎn)二:強(qiáng)大的標(biāo)準(zhǔn)庫完善的基礎(chǔ)代碼庫,覆蓋了網(wǎng)絡(luò)通信、文件處理、數(shù)據(jù)庫接口、圖形系統(tǒng)、XML處理等大量內(nèi)容,被形象地稱為“內(nèi)置電池”(batteriesincluded)Python使用者——“調(diào)包俠”13優(yōu)點(diǎn)三:良好的可擴(kuò)展性大量的第三方模塊,覆蓋了科學(xué)計(jì)算、Web開發(fā)、數(shù)據(jù)接口、圖形系統(tǒng)等眾多領(lǐng)域,開發(fā)的代碼通過很好的封裝,也可以作為第三方模塊給別人使用。如Pandas、Numpy、Seaborn、Scikit-learn等等優(yōu)點(diǎn)四:免費(fèi)、開源14缺點(diǎn)一:運(yùn)行速度慢缺點(diǎn)二:加密難缺點(diǎn)三:縮進(jìn)規(guī)則缺點(diǎn)四:多線程災(zāi)難Python語言的缺點(diǎn)15Python語言與Java動態(tài)類型和靜態(tài)類型Python中一切皆對象括號與縮進(jìn)應(yīng)用領(lǐng)域16Python語言與R語言機(jī)器學(xué)習(xí)的一把利器可讀性強(qiáng),便于上手靈活性強(qiáng):可與其他如Web應(yīng)用程序進(jìn)行整合以統(tǒng)計(jì)推斷為導(dǎo)向數(shù)據(jù)分析之外的領(lǐng)域有所限制包凌亂且一致性較差17Python語言與R語言的應(yīng)用場景對比網(wǎng)絡(luò)爬蟲連接數(shù)據(jù)庫內(nèi)容管理系統(tǒng)API構(gòu)建統(tǒng)計(jì)分析互動式圖標(biāo)/面板18Python的兩種編程方式交互式和文件式-

交互式:對每個輸入語句即時運(yùn)行結(jié)果,適合語法練習(xí)-

文件式:批量執(zhí)行一組語句并運(yùn)行結(jié)果,編程的主要方式實(shí)例1:圓面積的計(jì)算根據(jù)半徑r計(jì)算圓面積>>>r=25>>>area=3.1415*r*r>>>print(area)1963.4375000000002>>>print("

{:.2f}F".format(area))1963.44交互式實(shí)例1:圓面積的計(jì)算根據(jù)半徑r計(jì)算圓面積r=25輸出結(jié)果如下:area=3.1415*r*rprint(area)1963.43750000000021963.44print("

{:.2f}F".format(area))保存為CalCircle.py文件并運(yùn)行文件式實(shí)例2:同切圓繪制繪制多個同切圓import

turtleturtle.pensize(2)turtle.circle(10)turtle.circle(40)turtle.circle(80)turtle.circle(160)文件式保存為TangentCirclesDraw.py文件并運(yùn)行實(shí)例2:同切圓繪制繪制多個同切圓>>>

import

turtle>>>

turtle.pensize(2)>>>

turtle.circle(10)>>>

turtle.circle(40)>>>

turtle.circle(80)>>>

turtle.circle(160)交互式實(shí)例3:五角星繪制繪制一個五角星>>>from

turtleimport

*>>>color('red','red')>>>begin_fill()>>>for

iin

range(5):fd(200)rt(144)>>>end_fill()>>>交互式實(shí)例3:五角星繪制繪制一個五角星from

turtleimport

*color('red','red')begin_fill()for

iin

range(5):fd(200)rt(144)end_fill()done()文件式保存為StarDraw.py文件并運(yùn)行本章小結(jié)Python開發(fā)環(huán)境配置-

Python語言的發(fā)展歷史-

選取一種系統(tǒng)平臺構(gòu)建Python開發(fā)環(huán)境-

嘗試編寫與運(yùn)行3個Python小程序Python語言程序設(shè)計(jì)實(shí)例4:

溫度轉(zhuǎn)換問題分析設(shè)計(jì)算法根據(jù)華氏和攝氏溫度定義,利用轉(zhuǎn)換公式如下:C=(F–

32)/

1.8F=C*

1.8+32其中,

C表示攝氏溫度,

F表示華氏溫度#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")if

TempStr[-1]in

['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elif

TempStr[-1]in

['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")編寫上述代碼,并保存為TempConver

t.py文件運(yùn)行效果IDLE打開文件,按F5運(yùn)行Python語言程序設(shè)計(jì)Python程序語法元素分析Python程序語法元素分析-

程序的格式框架-

命名與保留字-

數(shù)據(jù)類型-

語句與函數(shù)-

Python程序的輸入輸出-

"溫度轉(zhuǎn)換"代碼分析程序的格式框架#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")if

TempStr[-1]in

['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elif

TempStr[-1]in

['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")代碼高亮:編程的色彩輔助體系,不是語法要求#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")if

TempStr[-1]in

['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elif

TempStr[-1]in

['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")縮進(jìn):一行代碼開始前的空白區(qū)域,表達(dá)程序的格式框架#TempConvert.pyDARTS=

1000TempStr

=

input("請輸入帶有符號的溫度值:

")if

TempStr[-1]

in

['F','f']:C=

(eval(TempStr[0:-1])

-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elif

TempStr[-1]in

['C',

'c']:F=

1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:hits=

0.0clock()for

iin

range(1,DARTS):x,y

=

random(),random()dist=

sqrt(x**2+y**2)if

dist<=

1.0:hits=

hits+

1pi=4

*(hits/DARTS)print("Pi的值是

{:.2f}F".format(pi))print("輸入格式錯誤")單層縮進(jìn)多層縮進(jìn)縮進(jìn)縮進(jìn)表達(dá)程序的格式框架-

嚴(yán)格明確:縮進(jìn)是語法的一部分,縮進(jìn)不正確程序運(yùn)行錯誤-

所屬關(guān)系:表達(dá)代碼間包含和層次關(guān)系的唯一手段-

長度一致:程序內(nèi)一致即可,一般用4個空格或1個TAB#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")ifTempStr[-1]in['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elifTempStr[-1]in['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")注釋:用于提高代碼可讀性的輔助性文字,不被執(zhí)行注釋不被程序執(zhí)行的輔助性說明信息-

單行注釋:以#開頭,其后內(nèi)容為注釋#

這里是單行注釋-

多行注釋:以'''開頭和結(jié)尾'''這是多行注釋第一行這是多行注釋第二行'''#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")if

TempStr[-1]in

['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elif

TempStr[-1]in

['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")縮進(jìn)

注釋比如如下的代碼中注釋與代碼重復(fù),毫無用處:>>>r=10#將10賦值給r而下面這段代碼注釋則包含了代碼中隱藏的信息,如果不加注釋,很難讓人看懂這個是什么意思(雖然在實(shí)際中可能可以根據(jù)上下文判定,但需要浪費(fèi)不必要的思考時間)。>>>r=10#半徑,單位是米選擇好的變量名,可以減少注釋的需要,但長名字也會讓復(fù)雜表達(dá)式更難閱讀,所以這兩者之間需要衡量舍取。#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")ifTempStr[-1]in['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elifTempStr[-1]in['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")變量:程序中用于保存和表示數(shù)據(jù)的占位符號變量用來保存和表示數(shù)據(jù)的占位符號-

變量采用標(biāo)識符(名字)

來表示,關(guān)聯(lián)標(biāo)識符的過程叫命名TempStr是變量名字-

可以使用等號(=)向變量賦值或修改值,=被稱為賦值符號TempStr

="82F"

#向變量TempStr賦值"82F"2.3.1變量在Python中,變量的使用環(huán)境非常寬松。沒有

在Python中,等號(=)是賦值語句,可以把任意數(shù)據(jù)類型賦值給變量。如下為定義一個名為xiaohong的變量:>>>xiaohong='XiaoHong‘此操作解釋:xiaohong是我們創(chuàng)建的變量,=是賦值語句,XiaoHong是變量值,需要用引號標(biāo)記。整句話的意思為:創(chuàng)建變量xiaohong并賦值為XiaoHong。(注意:字符串必須以引號標(biāo)記開始,并以引號標(biāo)記結(jié)束。)打印變量結(jié)果:>>>print(xiaohong)XiaoHong在使用變量前,需要對其賦值,沒有值的變量是沒有意義的,編譯器也不會編譯通過。例如我定義一個變量為abc,不賦任何值,輸入及結(jié)果如下:>>>abcTraceback(mostrecentcalllast):File"<pyshell#33>",line1,in<module>abcNameError:name'abc'isnotdefined同一個變量可以反復(fù)賦值,而且可以是不同類型的變量,輸入如下:>>>a=123123>>>a='ABC'>>>print(a)ABC這種變量本身類型不固定的語言稱之為動態(tài)語言,與之對應(yīng)的是靜態(tài)語言。靜態(tài)語言在定義變量時必須指定變量類型,如果賦值的時候類型不匹配,就會報錯。和靜態(tài)語言相比,動態(tài)語言更靈活,就是這個原因。當(dāng)不能確定變量或數(shù)據(jù)的類型時,可以借助解釋器內(nèi)置的函數(shù)type進(jìn)行確認(rèn)。在交互模式下可以如下輸入:>>>type('Hello,world!')<class'str'>>>>type(100)<class'int'>>>>type(3.0)<class'float'>>>>a='testtype'>>>type(a)<class'str'>請不要把賦值語句的等號等同于數(shù)學(xué)的等號。比如下面的代碼:a=100a=a+200在編程語言中,賦值語句先計(jì)算右側(cè)的表達(dá)式a+200,得到結(jié)果300,再賦給變量a。由于a之前的值是100,重新賦值后,a的值變成300。我們通過交互模式驗(yàn)證,輸入如下:>>>a=100>>>a=a+200>>>print(a)300理解變量在計(jì)算機(jī)內(nèi)存中的表示也非常重要。當(dāng)我們寫:>>>a='ABC'時,Python解釋器干了兩件事情:(1)在內(nèi)存中創(chuàng)建了一個'ABC'的字符串;(2)在內(nèi)存中創(chuàng)建了一個名為a的變量,并把它指向'ABC'。也可以把一個變量a賦值給另一個變量b,這個操作實(shí)際上是把變量b指向變量a所指向的數(shù)據(jù),例如下面的代碼:>>>a='ABC'>>>b=a>>>a='XYZ'>>>print(b)最后一行打印出變量b的內(nèi)容到底是'ABC'呢還是'XYZ'?執(zhí)行a=‘ABC’,解釋器創(chuàng)建了字符串‘ABC’和變量a,并把a(bǔ)指向‘ABC’,如下圖所示:

執(zhí)行b=a,解釋器創(chuàng)建了變量b,并把b指向a指向的字符串'ABC',如圖所示:執(zhí)行a='XYZ',解釋器創(chuàng)建了字符串'XYZ',并把a(bǔ)的指向改為'XYZ',但b并沒有更改,如圖所示:所以,最后打印變量b的結(jié)果自然是'ABC'了。命名與保留字命名關(guān)聯(lián)標(biāo)識符的過程-

命名規(guī)則:大小寫字母、數(shù)字、下劃線和漢字等字符及組合如:TempStr,

Python_Great,

這是門Python好課-

注意事項(xiàng):大小寫敏感、首字符不能是數(shù)字、不與保留字相同Python和python是不同變量,123Python是不合法的下劃線“_”可以出現(xiàn)在變量名中。它經(jīng)常用于連接多個詞組。比如happy_study,do_it_with_more_practice。交互模式輸入如下:>>>happy_study='stayhungrystayfoolish'>>>print(happy_study)stayhungrystayfoolish如果給變量取非法的名稱,解釋器顯示語法錯誤。請看下面的示例:>>>2wrongtest='justfortest'SyntaxError:invalidsyntax該示例提示語法錯誤,錯誤信息為無效的語法,原因是它不是以字母開頭。保留字被編程語言內(nèi)部定義并保留使用的標(biāo)識符-

Python語言有33個保留字(也叫關(guān)鍵字)if,

elif,

else,

in-

保留字是編程語言的基本單詞,大小寫敏感if

是保留字,If

是變量保留字and

elif

import

raise

globalas

else

in

return

nonlocalassert

except

is

try

Truebreak

finally

lambda

while

Falseclass

for

not

with

Nonecontinue

from

or

yielddef

if

pass

del#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")if

TempStr[-1]in

['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elif

TempStr[-1]in

['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")變量

命名

保留字?jǐn)?shù)據(jù)類型#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")ifTempStr[-1]in['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elifTempStr[-1]in

['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")數(shù)據(jù)類型:整型、字符串、浮點(diǎn)數(shù)、列表數(shù)據(jù)類型10,011,101

該如何解釋呢?-

這是一個二進(jìn)制數(shù)字

或者

十進(jìn)制數(shù)字作為二進(jìn)制數(shù)字,10,011,101的值是十進(jìn)制157-

這是一段文本

或者

用逗號,分隔的3個數(shù)字作為一段文本,逗號是文本中的一部分,一共包含10個字符數(shù)據(jù)類型供計(jì)算機(jī)程序理解的數(shù)據(jù)形式-

程序設(shè)計(jì)語言不允許存在語法歧義,需要定義數(shù)據(jù)的形式需要給10,011,101關(guān)聯(lián)一種計(jì)算機(jī)可以理解的形式-

程序設(shè)計(jì)語言通過一定方式向計(jì)算機(jī)表達(dá)數(shù)據(jù)的形式"123"表示文本字符串123,123則表示數(shù)字123數(shù)據(jù)類型10,011,101-

整數(shù)類型:

10011101-

字符串類型:

"10,011,101"-

列表類型:

[10,

011,

101]數(shù)據(jù)類型Python3中有六個標(biāo)準(zhǔn)的數(shù)據(jù)類型:Number(數(shù)字)、String(字符串)、List(列表)、Tuple(元組)、Sets(集合)、Dictionary(字典)。本節(jié)將講解Number(數(shù)字)String(字符串)數(shù)據(jù)類型,其它數(shù)據(jù)類型由后續(xù)相關(guān)章節(jié)進(jìn)行介紹。Python3支持三種不同的數(shù)值類型:整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)(complex)。1整型整型(int),通常被稱為是整型或整數(shù),是正或負(fù)整數(shù),不帶小數(shù)點(diǎn)。例如交互模式下輸入如下:>>>5151這里使用的就是整型。整型加法如下:>>>25+2550整型減法:>>>51-501整型乘法:>>>51*2102整型除法:>>>153/513.0>>>155/513.0392156862745097此處出現(xiàn)除不盡的情況了。在整數(shù)除法中,除法(/)計(jì)算結(jié)果是浮點(diǎn)數(shù),即使是兩個整數(shù)恰好整除,結(jié)果也是浮點(diǎn)數(shù),如果只想得到整數(shù)的結(jié)果,丟棄可能的分?jǐn)?shù)部分,可以使用地板除(//),整數(shù)的地板除(//)永遠(yuǎn)是整數(shù),即使除不盡。改成如下寫法:>>>153//513>>>155//513地板除(//)只取結(jié)果的整數(shù)部分,Python還提供一個余數(shù)運(yùn)算(%),可以得到兩個整數(shù)相除的余數(shù)。如下:>>>153%510>>>155%5122浮點(diǎn)型浮點(diǎn)型(float),浮點(diǎn)型由整數(shù)部分與小數(shù)部分組成,浮點(diǎn)型也可以使用科學(xué)計(jì)數(shù)法表示。先看示例:>>>3.3*102336.59999999999997按預(yù)計(jì)應(yīng)該一位小數(shù),但輸出結(jié)果卻有這么多位小數(shù)。是因?yàn)檎麛?shù)和浮點(diǎn)數(shù)在計(jì)算機(jī)內(nèi)部存儲的方式是不同的,整數(shù)運(yùn)算永遠(yuǎn)是精確的,而浮點(diǎn)數(shù)運(yùn)算則可能會有四舍五入的誤差。如下輸入:>>>3.3*102+15.5352.09999999999997浮點(diǎn)除法:>>>153/51.03.0>>>155/51.03.0392156862745097浮點(diǎn)地板除:>>>155//51.03.0>>>155%51.02.03復(fù)數(shù)復(fù)數(shù)((complex)),復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成,可以用a+bj,或者complex(a,b)表示,復(fù)數(shù)的實(shí)部a和虛部b都是浮點(diǎn)型。Python支持復(fù)數(shù),Python的復(fù)數(shù)我們當(dāng)前階段使用或接觸的比較少,此處就不做具體的講解,讀者有一個概念即可,有興趣可以自行查閱相關(guān)資料。4數(shù)據(jù)類型轉(zhuǎn)換有時候,我們需要對數(shù)據(jù)內(nèi)置的類型進(jìn)行轉(zhuǎn)換,數(shù)據(jù)類型的轉(zhuǎn)換,你只需要將數(shù)據(jù)類型作為函數(shù)名即可。詳細(xì)將在后期介紹。關(guān)于數(shù)據(jù)的類型轉(zhuǎn)換,有如下幾個函數(shù)可以使用:int(x)將x轉(zhuǎn)換為一個整數(shù)。float(x)將x轉(zhuǎn)換到一個浮點(diǎn)數(shù)。complex(x)將x轉(zhuǎn)換到一個復(fù)數(shù),實(shí)數(shù)部分為x,虛數(shù)部分為0。complex(x,y)將x和y轉(zhuǎn)換到一個復(fù)數(shù),實(shí)數(shù)部分為x,虛數(shù)部分為y。x和y是數(shù)字表達(dá)式。5常量所謂常量就是不能變的變量,比如常用的數(shù)學(xué)常數(shù)π就是一個常量。在Python中,通常用全部大寫的變量名表示常量。Python中有兩個比較常見的常量,分別為:PI和E。PI:數(shù)學(xué)常量pi(圓周率,一般以π來表示)。E:數(shù)學(xué)常量e,e即自然常數(shù)(自然常數(shù))。這兩個常量將會在后續(xù)章節(jié)中被使用,具體的用法在使用中進(jìn)行體現(xiàn)。字符串由0個或多個字符組成的有序字符序列-字符串由一對單引號或一對雙引號表示"請輸入帶有符號的溫度值:

"或者

'C'-字符串是字符的有序序列,可以對其中的字符進(jìn)行索引"請"

"請輸入帶有符號的溫度值:

"

的第0個字符#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")ifTempStr[-1]in['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elifTempStr[-1]in['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")字符串:由0個或多個字符組成的有序字符序列字符串的序號正向遞增序號

反向遞減序號反向遞減序號-9

-8

-7

-6

-5

-4

-3

-2

-1-12

-11-10請

:0

1

2

3

4

5

6

7

8

9

10

11正向遞增序號字符串的使用使用[]獲取字符串中一個或多個字符-索引:返回字符串中單個字符

<字符串>[M]"請輸入帶有符號的溫度值:

"[0]

或者

TempStr[-1]-切片:返回字符串中一段字符子串

<字符串>[M:N]"請輸入帶有符號的溫度值:

"[1:3]

或者

TempStr[0:-1]字符串可以使用操作符+,但其功能和數(shù)學(xué)中的不一樣,它會進(jìn)行拼接(concatenation)操作,即將前后兩個字符首尾連接起來。如:>>>string1='hello'>>>string2='world'>>>print(string1+string2)helloworld如果想讓字符串之間有空格,可以建一個空字符變量,插在相應(yīng)的字符串之間讓它們隔開,或是在字符串中加入相應(yīng)的空格。交互模式下輸入如下:>>>string1='hello'>>>string2='world'>>>space=''>>>print(string1+space+string2)helloworld或者>>>string1='hello'>>>string2='world'>>>print(string1+string2)helloworld#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")ifTempStr[-1]in['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elifTempStr[-1]in['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")數(shù)字類型:整數(shù)和浮點(diǎn)數(shù)數(shù)字類型整數(shù)和浮點(diǎn)數(shù)都是數(shù)字類型-

整數(shù):數(shù)學(xué)中的整數(shù)32

或者

-89-

浮點(diǎn)數(shù):數(shù)學(xué)中的實(shí)數(shù),帶有小數(shù)部分1.8

或者

-1.8

或者

-1.0#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")ifTempStr[-1]in['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elifTempStr[-1]in['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")列表類型:由0個或多個數(shù)據(jù)組成的有序序列列表類型由0個或多個數(shù)據(jù)組成的有序序列-

列表使用[]表示,采用逗號(,)分隔各元素['F','f']表示兩個元素'F'和'f'-

使用保留字

in判斷一個元素是否在列表中TempStr[-1]

in

['C','c']判斷前者是否與列表中某個元素相同#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")ifTempStr[-1]in['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elifTempStr[-1]in

['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")字符串

整數(shù)

浮點(diǎn)數(shù)

列表語句與函數(shù)#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")ifTempStr[-1]in['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elif

TempStr[-1]in

['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")賦值語句:由賦值符號構(gòu)成的一行代碼賦值語句由賦值符號構(gòu)成的一行代碼-

賦值語句用來給變量賦予新的數(shù)據(jù)值C=(eval(TempStr[0:-1])-32)/1.8

#右側(cè)運(yùn)算結(jié)果賦給變量C-

賦值語句右側(cè)的數(shù)據(jù)類型同時作用于變量TempStr=input("")

#input()返回一個字符串,TempStr也是字符串#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")ifTempStr[-1]in['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elif

TempStr[-1]in

['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")分支語句:由判斷條件決定程序運(yùn)行方向的語句分支語句由判斷條件決定程序運(yùn)行方向的語句-

使用保留字if

elif

else構(gòu)成條件判斷的分支結(jié)構(gòu)ifTempStr[-1]

in['F','f']:#如果條件為True則執(zhí)行冒號后語句-

每個保留字所在行最后存在一個冒號(:),語法的一部分冒號及后續(xù)縮進(jìn)用來表示后續(xù)語句與條件的所屬關(guān)系#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")ifTempStr[-1]in['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elifTempStr[-1]in

['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")函數(shù):根據(jù)輸入?yún)?shù)產(chǎn)生不同輸出的功能過程函數(shù)根據(jù)輸入?yún)?shù)產(chǎn)生不同輸出的功能過程-

類似數(shù)學(xué)中的函數(shù),

y=f(x)print("輸入格式錯誤")

#打印輸出

"輸入格式錯誤"-

函數(shù)采用

<函數(shù)名>(<參數(shù)>)方式使用eval(TempStr[0:-1])

#TempStr[0:-1]是參數(shù)#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")ifTempStr[-1]in['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elif

TempStr[-1]in

['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")賦值語句

分支語句

函數(shù)Python程序的輸入輸出#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")ifTempStr[-1]in['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elifTempStr[-1]in

['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:print("輸入格式錯誤")input():從控制臺獲得用戶輸入的函數(shù)輸入函數(shù)

input()從控制臺獲得用戶輸入的函數(shù)-

input()函數(shù)的使用格式:<變量>

=input(<提示信息字符串>)-

用戶輸入的信息以字符串類型保存在<變量>中TempStr

=input(“請輸入”)

#TempStr保存用戶輸入的信息#TempConvert.pyTempStr

=input("請輸入帶有符號的溫度值:

")ifTempStr[-1]in['F','f']:C=(eval(TempStr[0:-1])-32)/1.8print("轉(zhuǎn)換后的溫度是{:.2f}C".format(C))elifTempStr[-1]in

['C','c']:F=1.8*eval(TempStr[0:-1])+32print("轉(zhuǎn)換后的溫度是{:.2f}F".format(F))else:p

溫馨提示

  • 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

提交評論