秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

Python基礎(chǔ)課件.ppt

上傳人:good****022 文檔編號(hào):119546851 上傳時(shí)間:2022-07-15 格式:PPT 頁(yè)數(shù):281 大小:5.23MB
收藏 版權(quán)申訴 舉報(bào) 下載
Python基礎(chǔ)課件.ppt_第1頁(yè)
第1頁(yè) / 共281頁(yè)
Python基礎(chǔ)課件.ppt_第2頁(yè)
第2頁(yè) / 共281頁(yè)
Python基礎(chǔ)課件.ppt_第3頁(yè)
第3頁(yè) / 共281頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《Python基礎(chǔ)課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《Python基礎(chǔ)課件.ppt(281頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 前言 Python 簡(jiǎn)簡(jiǎn)介 Python 安裝 2 本節(jié)內(nèi)容本節(jié)內(nèi)容 進(jìn)入進(jìn)入PythonPython編程世界編程世界 -Python的官網(wǎng)網(wǎng)站:http:/www.python.org -Unix衍生系統(tǒng)可能已經(jīng)安裝了Python,在命令行對(duì)話框 中鍵入“python”即可顯示版本信息。 -Windows下安裝Python和安裝其他軟件一樣,很easy! -編碼方面:Python3.x默認(rèn)utf-8。 -語(yǔ)法方面有改動(dòng),數(shù)據(jù)類(lèi)型方面有調(diào)整。 -面向?qū)ο?、異常處理和模塊等方面也有改動(dòng)。 -本教學(xué)使用Python3.5。 Python 下載與安裝 Python2.x vs Python 3.x

2、 PythonPython安裝安裝 python官網(wǎng)有幾個(gè)下載載文件,有什么區(qū)別別? Python 3.6.0a1 - 2016-05-17 Download Windows x86 web-based installer Download Windows x86 executable installer Download Windows x86 embeddable zip file Download Windows x86-64 web-based installer Download Windows x86-64 executable installer Download Windows

3、 x86-64 embeddable zip file x86是32位,x86-64是64位。 可以通過(guò)過(guò)下面3種途徑獲獲取python: web-based installer 是需要通過(guò)聯(lián)過(guò)聯(lián) 網(wǎng)完成安裝的 executable installer 是可執(zhí)執(zhí)行文件(*.exe)方式安裝 embeddable zip file 嵌入式版本,可以集成到其它應(yīng)應(yīng)用中 安裝好python后,在開(kāi)始菜單欄中會(huì)自動(dòng)添加一個(gè)名 為python3.5的文件夾,點(diǎn)擊該文件夾會(huì)有如圖下圖所 示的一些子目錄。 IDLE是Python集成開(kāi)發(fā)環(huán)境,也稱(chēng)交互模式。 Python3.5是Python的命令控制臺(tái),里面

4、只能執(zhí)行 Python命令。 第三個(gè)是幫助文檔,點(diǎn)擊后會(huì)彈出幫助文檔。 最后一個(gè)是Python的模塊文檔。本書(shū)若無(wú)特別指出, 示例都是在IDLE中執(zhí)行的。 進(jìn)入進(jìn)入PythonPython編程世界編程世界 打開(kāi)交互模式,如下圖所示: 若看到,則表示是在Python交互式環(huán) 境下,在Python交互式環(huán)境下,只能輸 入Python代碼并立刻執(zhí)行。 在交互式環(huán)境下輸入print (Hello,world!),按 回車(chē),可以看到輸出了Hello,world!。如下圖, 紅色箭頭指向?yàn)檩斎氩糠?,紅色框?yàn)檩敵觥?此處print后面帶了括號(hào),表示print是一個(gè)函數(shù) ,單引號(hào)里面的叫字符串。如果要讓Pyt

5、hon打 印出指定的文字,可以用print()函數(shù),然后把希 望打印的文字用單引號(hào)或者雙引號(hào)括起來(lái),但 不能混用單引號(hào)和雙引號(hào)。 我們?cè)撛趺慈タ桃夥改兀?我們以前面的“Hello,world!”為示例,如果將print (Hello,world!)修改為print (Hello,world!),去掉 后面的單引號(hào),在交互模式下測(cè)試 一下。 輸入語(yǔ)句: print (Hello,world!) 可以看到屏幕打印結(jié)果如下圖所示,這里打印意 為在屏幕上輸出文本,并非通過(guò)打印機(jī)打印出來(lái) : 通過(guò)這個(gè)錯(cuò)誤 提示,就能很快就知道問(wèn)題 的原 因。 溫故知新,溫故知新,學(xué)以致用學(xué)以致用 (1)回顧一下Pyth

6、on的發(fā)展歷程,起源和 應(yīng)用場(chǎng)景。 (2)在本地安裝Python最新版本,安裝好 后卸載,卸載后再安裝,盡量關(guān)注一下各個(gè) 步驟的細(xì)節(jié) 。 (3)嘗試 在不同操作系統(tǒng)上安裝Python。 (4)在“Hell world!”示例中,嘗試 將print函 數(shù)拼寫(xiě)錯(cuò)誤 ,查看輸出結(jié)果。 (5)不要用電腦測(cè)試 ,自己想想print (1+2)的輸出結(jié)果。 WindowsWindows下運(yùn)行下運(yùn)行PythonPython程序程序 HelloWorld.py # -*- coding: cp936 -*- 支持漢字注釋 print “Hello, world!“ # 我的第一個(gè)Python程序 raw_in

7、put() # 使cmd框不立刻退出 三種運(yùn)行方式 打開(kāi)源文件,用Python Shell運(yùn)行。 雙擊源文件,用CMD運(yùn)行。 在Python Shell中直接寫(xiě)程序運(yùn)行。 進(jìn)入進(jìn)入PythonPython編程世界編程世界 其他的其他的PythonPython集成開(kāi)發(fā)環(huán)境集成開(kāi)發(fā)環(huán)境 1)開(kāi)源 Python Win+Win32 Extensions http:/ IPython(增強(qiáng)的交互式Python) http:/ipython.scipy.org IDE Studio(IDLE以及更多) http:/ Eclipse http:/pydew.sf.ent http:/eclipse.org

8、 2)商業(yè) WingIDE(WinWare公司)http:/ Komodo(ActiveState公司) http:/ 進(jìn)入進(jìn)入PythonPython編程世界編程世界 PythonPython學(xué)習(xí)資源學(xué)習(xí)資源 免免 費(fèi)費(fèi) 資資 源源 簡(jiǎn)明Python教程 啄木鳥(niǎo)社區(qū)啄木鳥(niǎo)社區(qū) CSDNCSDN下載下載 其他其他 http:/:9081/doc/ab yteofpython_cn/chinese/index.html http:/ htp:/ http:/www.python.org http:/ http:/www.diveintopython.org/ PythonPython快速入門(mén)快速

9、入門(mén) 輸入輸出,注釋 本 章 主 題 操作符,賦值,數(shù)據(jù)類(lèi)型 縮進(jìn),循環(huán)語(yǔ)句,條件語(yǔ)句 文件操作,錯(cuò)誤處理 函數(shù),類(lèi),模塊 printprint輸出,注釋輸出,注釋 print (“Hello world!“) # Python Shell提示符 Hello world! abs(-4) # abs(): 內(nèi)建函數(shù),取絕對(duì)值 4 myString = Hello world! # 單引號(hào)、雙引號(hào)成對(duì)使用 print myString Hello world! myString Hello world! # 顯示結(jié)果帶引號(hào) _ # 下劃線含義:表示最后一個(gè)表達(dá)式 Hello world! Pyt

10、honPython快速入門(mén)快速入門(mén) printprint輸出,注釋輸出,注釋 print (“%s is %d years old.” % (“李書(shū)豪”, 26)) 李書(shū)豪 is 26 years old. # %s 字符串;%d 整型;%f 浮點(diǎn)型 # Python非常靈活,即使將數(shù)字傳遞給%s,也不會(huì)引發(fā)嚴(yán)重后果 logFile = open(myLogFile.txt, a) # 打開(kāi)文件 print logFile, Python讓程序員的工作更輕松。 # 重定向輸出符號(hào) logFile.close() # 關(guān)閉文件 PythonPython快速入門(mén)快速入門(mén) raw_input()ra

11、w_input()輸入輸入 userName = raw_input(輸入登錄名:) 輸入登錄名:李書(shū)豪 print 你的登錄名為, userName 你的登錄名為 李書(shū)豪 # 自動(dòng)加空格 # raw_input():從用戶(hù)那里得到數(shù)據(jù)輸入; myNumber = raw_input(輸入一個(gè)數(shù)字:) 輸入一個(gè)數(shù)字:1024 print 你輸入數(shù)字的2倍是:%d % (int(myNumber) * 2) 你輸入數(shù)字的2倍是:2048 # int() 字符串轉(zhuǎn)換為整型 PythonPython快速入門(mén)快速入門(mén) 操作符操作符 標(biāo)準(zhǔn)算術(shù)操作符:+ - * / /取整 %取余 *乘方 print -

12、2 * 3 + 2010 / 4 * 2 print (-2 * 3) + (2010 / (4 * 2) # 括號(hào)增加可讀性 標(biāo)準(zhǔn)比較操作符: = = != 3.14 3.14 != 3.14 # (2 pptname = “Introction to Python” pptName = “Python入門(mén)” height = 1.71 age = 26 n = height n *= 100 # 等價(jià)于 n = n * 100 五種基本數(shù)字類(lèi)型:int long bool float complex復(fù)數(shù) 0102 -128 0 x80 -0XA9; 12345678902010L -0 x

13、ABCDEF123456L; True False; 3.1415926 -1.2E-14 10. 32.1e10; 6.54+3.21j -1.23+45.6J 0+1j 99-88j -0.142857+0j PythonPython快速入門(mén)快速入門(mén) 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型字符串字符串 字符串:索引操作符 :切片操作符 +連接運(yùn)算 *重復(fù)運(yùn)算 strPython = Python strIsCool = is cool! strPython0 # 第一個(gè)字符 strPython2:5: tho P strIsCool-1 # 最后一個(gè)字符 strIsCool:2: is ! strPython

14、+ + strIsCool # n:回車(chē) Python is cool! - * 30 - PythonPython快速入門(mén)快速入門(mén) 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型列表、元組、字典列表、元組、字典 列表(list)和元組(tuple):可以看成普通的“數(shù)組” numberList = 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 mixList = Li Shuhao, 26, 1.71 mixTuple = (Python, is, cool) # 元組可以看成只讀的列表,如:mixTuple0 = C+, 出錯(cuò)! print mixTuple0, mixTuple1, mixTuple-1

15、Python is cool 字典(dictionary):由鍵值對(duì)(Key-Value)構(gòu)成 myDict = name:LiShuhao, height:171, age:26 for mKey in myDict: print mKey, myDictmKey # 縮進(jìn): Tab,空格 PythonPython快速入門(mén)快速入門(mén) 縮進(jìn),縮進(jìn),whilewhile循環(huán)語(yǔ)句,循環(huán)語(yǔ)句,ifif條件語(yǔ)句條件語(yǔ)句 縮進(jìn):簡(jiǎn)潔、可讀性好 循環(huán)語(yǔ)句:while while expression: # expression 條件表達(dá)式 while_suite # 根據(jù)條件循環(huán)執(zhí)行的語(yǔ)句 條件語(yǔ)句:if

16、elif else if expression1: # 藍(lán)色部分可以單獨(dú)用 if_suite elif expression2: # 綠色部分可以省略,也可以重復(fù)多個(gè) elif_suite else expression3: # 用elif,最后必須有else else_suite # Python沒(méi)有switch-case PythonPython快速入門(mén)快速入門(mén) forfor循環(huán)語(yǔ)句循環(huán)語(yǔ)句 循環(huán)語(yǔ)句:for range()內(nèi)建函數(shù) Python中的for循環(huán)與傳統(tǒng)的for循環(huán)不太一樣,不是計(jì)數(shù)循環(huán),更像 迭代循環(huán),如: for nItem in 123, email, homework:

17、 print nItem for nItem in range(5): # range(5)等價(jià)于1, 2, 3, 4, 5 print nItem, # print不自動(dòng)換行方法:加逗號(hào) for nChar in myString: # myString = abc print nChar for i in range(len(myString): # len() 字符串長(zhǎng)度 print (%d) % (i), myStringi # 輸出:(0) a PythonPython快速入門(mén)快速入門(mén) forfor循環(huán)語(yǔ)句循環(huán)語(yǔ)句 循環(huán)語(yǔ)句:for enumerate()內(nèi)建函數(shù) # enumera

18、te()突破約束:索引、元素雙循環(huán) for i, nChar in enumerate(myString): print (%d) % (i), myStringi 列表解析:for語(yǔ)句 squared = item * 2 for item in range(5) # 0 1 4 9 16 complexTuple = (item * 2 for item in range(10) if item % 2) # 1 9 25 49 81 PythonPython快速入門(mén)快速入門(mén) 文件操作文件操作 文件操作:open() file() readlines() close() handle =

19、open(file_name, access_mode = r) # 默認(rèn) r # r:讀取;w:寫(xiě)入;a:添加;+:讀寫(xiě);b:二進(jìn)制訪問(wèn)。 filename = raw_input(請(qǐng)輸入文件名:) hFile = file(filename, r) for nLine in hFile: print nLine, hFile.close() # close()是文件對(duì)象hfile的一個(gè)屬性 # 屬性可以是數(shù)據(jù)值,也可以是函數(shù)和方法,類(lèi)、模塊、文件和復(fù)數(shù) 等都有屬性。 # 本示例適用于較小的文件,否則占用內(nèi)存太大。 PythonPython快速入門(mén)快速入門(mén) 錯(cuò)誤處理錯(cuò)誤處理 錯(cuò)誤和異常:tr

20、y - except # Python編譯時(shí)會(huì)檢查語(yǔ)法錯(cuò)誤,運(yùn)行時(shí)檢測(cè)其他錯(cuò)誤。 # 當(dāng)遇到錯(cuò)誤,Python解釋器就引發(fā)異常,并顯示詳細(xì)信息。 try: # 你打算管理的代碼段 except IOError, e: print 出錯(cuò)原因, e # 程序員也可以用raise有意引發(fā)一個(gè)異常 PythonPython快速入門(mén)快速入門(mén) 函數(shù)函數(shù) 函數(shù): def function_name(arguments): # 參數(shù)可為空,可有默認(rèn)值 “optional documentation string” # 可選的函數(shù)說(shuō)明語(yǔ)句 function_suite # 函數(shù)代碼段 return fun_ob

21、j # 可以沒(méi)有,自動(dòng)返回None對(duì)象 def addMeToMe(me): # 函數(shù)示例:神奇的 + 操作 return (me + me) # 小括號(hào)不能省略 print addMeToMe(3.14) # 6.28 print addMeToMe(100) # 200 print addMeToMe(Python) # PythonPython print addMeToMe(-1, abc) # -1, abc, -1, abc PythonPython快速入門(mén)快速入門(mén) 類(lèi),模塊類(lèi),模塊 類(lèi):相關(guān)數(shù)據(jù)及邏輯的容器,構(gòu)建創(chuàng)建真實(shí)對(duì)象的藍(lán)圖。 class className(baseCla

22、sses): “optional documentation string” # 說(shuō)明性文字(可選) static_member_declarations # 靜態(tài)成員定義 method_declarations # 方法定義 模塊:一種組織形式,將有聯(lián)系的代碼組織到獨(dú)立文件中 # 模塊可以包含可執(zhí)行代碼、函數(shù)和類(lèi)。 import sys # 導(dǎo)入方法,sys為模塊名稱(chēng) sys.stdout.write(Hello world!) sys.platform # win32 sys.version # 2.6.5 (r265:79096, PythonPython快速入門(mén)快速入門(mén) 第二章第二章

23、開(kāi)啟開(kāi)啟PythonPython之旅之旅 本章主要介紹一些Python的基本知識(shí)和一 些基本概念的介紹,為后續(xù)章節(jié)學(xué)習(xí)相關(guān) 內(nèi)容做鋪墊 。 2.1 “2.1 “旅行旅行” ”第一步第一步認(rèn)識(shí)認(rèn)識(shí)認(rèn)識(shí)認(rèn)識(shí) 程序程序 旅行前,我們要先熟悉地名,知道要去哪 里,將會(huì)經(jīng)過(guò) 哪里。學(xué)習(xí)編程也一樣,在 學(xué)習(xí)之前要先了解程序、調(diào)試 、語(yǔ)法錯(cuò)誤 、運(yùn)行錯(cuò)誤 、語(yǔ)義錯(cuò)誤 等。 2.1.1 2.1.1 程序程序 程序是用語(yǔ)語(yǔ)言寫(xiě)成的。語(yǔ)語(yǔ)言分高級(jí)語(yǔ)級(jí)語(yǔ) 言和低級(jí)語(yǔ)級(jí)語(yǔ) 言。 高級(jí)語(yǔ)級(jí)語(yǔ) 言翻譯譯成機(jī)器代碼碼有兩種方法:解釋釋和編編 譯譯。 編譯 型語(yǔ)言則是將源代碼完整的編譯 成 目標(biāo)代碼后才能執(zhí)行。以后在執(zhí)行時(shí)就

24、 不需要編譯 了。下圖顯示了一個(gè)編譯 器 的結(jié)構(gòu)。這個(gè)有點(diǎn)類(lèi)似我們乘坐的直達(dá) 車(chē),所有要乘車(chē)的人從起點(diǎn)上車(chē),中途 不搭載其他乘客。 2.2 2.2 數(shù)數(shù) 據(jù)據(jù) 類(lèi)類(lèi)類(lèi)類(lèi) 型型 Python3 中有六個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類(lèi)型: Number(數(shù)字)、String(字符串)、 List(列表)、Tuple(元組組)、Sets( 集合)、Dictionary(字典)。本節(jié)將講 解Number(數(shù)字)數(shù)據(jù)類(lèi)型,其它五種 數(shù)據(jù)類(lèi)型由后續(xù)相關(guān)章節(jié)進(jìn) 行介紹。 Python3支持三種不同的數(shù)值類(lèi) 型: 整型(int)、浮點(diǎn)型(float)、復(fù)數(shù)( complex)。 2.2.1 2.2.1 整型整型 整型(int)

25、,通常被稱(chēng)為是整型或整數(shù),是正 或負(fù)整數(shù),不帶小數(shù)點(diǎn)。 例如交互模式下輸入如下: 51 51 這里使用的就是整型。 整型加法如下: 25+25 50 整型減法: 51-50 1 整型乘法: 51*2 102 整型除法: 153/51 3.0 155/51 3.0392156862745097 此處出現(xiàn)除不盡的情況了。 在整數(shù)除法中,除法(/)計(jì)算結(jié)果是浮 點(diǎn)數(shù),即使是兩個(gè)整數(shù)恰好整除,結(jié)果也 是浮點(diǎn)數(shù),如果只想得到整數(shù)的結(jié)果, 丟棄可能的分?jǐn)?shù)部分,可以使用地板除( /),整數(shù)的地板除(/)永遠(yuǎn)遠(yuǎn)是整數(shù), 即使除不盡。 改成如下寫(xiě)法: 153/51 3 155/51 3 地板除(/)只取結(jié)果的整

26、數(shù)部分, Python還提供一個(gè)余數(shù)運(yùn)算,可以得到 兩個(gè)整數(shù)相除的余數(shù)。如下: 153%51 0 155%51 2 2.2.2 2.2.2 浮點(diǎn)浮點(diǎn)型型 浮點(diǎn)型(float),浮點(diǎn)型由整數(shù)部分與小數(shù) 部分組成,浮點(diǎn)型也可以使用科學(xué)計(jì)數(shù) 法表示。 先看示例: 3.3*102 336.59999999999997 按預(yù)計(jì)應(yīng)該 一位小數(shù),但輸出結(jié)果卻有 這么多位小數(shù)。是因?yàn)檎麛?shù)和浮點(diǎn)數(shù)在 計(jì)算機(jī)內(nèi)部存儲(chǔ)的方式是不同的,整數(shù) 運(yùn)算永遠(yuǎn)是精確的,而浮點(diǎn)數(shù)運(yùn)算則可 能會(huì)有四舍五入的誤差。 如下輸入: 3.3*102+15.5 352.09999999999997 浮點(diǎn)除法: 153/51.0 3.0 15

27、5/51.0 3.0392156862745097 浮點(diǎn)地板除: 155/51.0 3.0 155%51.0 2.0 2.2.3 2.2.3 復(fù)數(shù)復(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)前 階段使用或接觸的比較少,此處就不做具 體的講解,讀者有一個(gè)概念即可,有興趣 可以自行查閱 相關(guān)資料。 2.2.4 2.2.4 數(shù)據(jù)數(shù)據(jù)類(lèi)類(lèi)類(lèi)類(lèi)型型轉(zhuǎn)換轉(zhuǎn)換轉(zhuǎn)換轉(zhuǎn)換 有時(shí)候,我們需要對(duì)數(shù)據(jù)內(nèi)置的類(lèi)型進(jìn)行轉(zhuǎn)換 ,數(shù)據(jù)類(lèi)類(lèi)型的轉(zhuǎn)換轉(zhuǎn)換 ,你只需要將數(shù)據(jù)

28、類(lèi)類(lèi)型作為為 函數(shù)名即可。 關(guān)于數(shù)據(jù)的類(lèi)型轉(zhuǎn)換,有如下幾個(gè)函數(shù)可以使 用: int(x) 將x轉(zhuǎn)換為 一個(gè)整數(shù)。 float(x) 將x轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù)。 complex(x) 將x轉(zhuǎn)換到一個(gè)復(fù)數(shù),實(shí)數(shù)部分為 x,虛數(shù)部分為 0。 complex(x, y) 將 x 和 y 轉(zhuǎn)換到一個(gè)復(fù)數(shù),實(shí)數(shù) 部分為 x,虛數(shù)部分為 y。x 和 y 是數(shù)字表達(dá)式 。 int(x)示例: int(352.1) 352 float(x)示例: float(352.1) 352.1 float(int(352.1) 352.0 這里先把352.1取整得到整數(shù)352,再用float 將352轉(zhuǎn)換 成浮點(diǎn)數(shù)352.0

29、,這樣 就得到我 們需要的結(jié)果。 2.2.5 2.2.5 常量常量 所謂常量就是不能變的變量,比如常用的數(shù)學(xué)常 數(shù)就是一個(gè)常量。在Python中,通常用全部大 寫(xiě)的變量名表示常量。 Python中有兩個(gè)比較常見(jiàn)的常量,分別為:PI和 E。 PI:數(shù)學(xué)常量 pi(圓周率,一般以來(lái)表示)。 E:數(shù)學(xué)常量 e,e即自然常數(shù)(自然常數(shù))。 這兩個(gè)常量將會(huì)在后續(xù)章節(jié)中被使用,具體的用 法在使用中進(jìn)行體現(xiàn)。 2.3 2.3 變變變變量和量和關(guān)關(guān)鍵鍵鍵鍵字字 編程語(yǔ)言最強(qiáng)大的功能之一是操縱變 量的 能力。變量(variable)是一個(gè)需要熟知的 概念。如果你覺(jué)得數(shù)學(xué)是讓你抓狂的話, 別擔(dān)心,Python中的

30、變量很好理解。變量 基本上就是代表某值的名字。 2.3.1 2.3.1 變變變變量量 在Python中,變量的使用環(huán)境非常寬松。沒(méi)有 在Python中,等號(hào)( = )是賦值語(yǔ) 句,可以把 任意數(shù)據(jù)類(lèi)型賦值給變 量。 如下為定義一個(gè)名為xiaohong的變量: xiaohong=XiaoHong 此操作解釋?zhuān)簒iaohong是我們創(chuàng)建的變量,= 是賦值語(yǔ) 句,XiaoHong是變量值,需要用引 號(hào)標(biāo)記。整句話的意思為:創(chuàng)建變量xiaohong 并賦值為 XiaoHong。(注意:字符串必須以 引號(hào)標(biāo)記開(kāi)始,并以引號(hào)標(biāo)記結(jié) 束。) 打印變量結(jié)果: print(xiaohong) XiaoHong

31、在使用變量前,需要對(duì)其賦值,沒(méi)有值的變量 是沒(méi)有意義的,編譯器也不會(huì)編譯通過(guò)。例如 我定義一個(gè)變量為abc,不賦任何值,輸入及 結(jié)果如下: abc Traceback (most recent call last): File “, line 1, in abc NameError: name abc is not defined 同一個(gè)變量可以反復(fù)賦值,而且可以是不同類(lèi) 型的變量,輸入如下: a = 123 123 a=ABC print(a) ABC 這種變量本身類(lèi)型不固定的語(yǔ)言稱(chēng)之為動(dòng)態(tài) 語(yǔ)言,與之對(duì)應(yīng)的是靜態(tài)語(yǔ)言。靜態(tài)語(yǔ)言在定 義變量時(shí)必須指定變量類(lèi)型,如果賦值的時(shí) 候類(lèi)型不匹配,就會(huì)

32、報(bào)錯(cuò)。和靜態(tài)語(yǔ)言相比, 動(dòng)態(tài)語(yǔ) 言更靈活,就是這個(gè)原因。 當(dāng)不能確定變量或數(shù)據(jù)的類(lèi)型時(shí),可以借助解 釋器內(nèi)置的函數(shù)type進(jìn)行確認(rèn)。在交互模式下 可以如下輸入: type(Hello,world!) type(100) type(3.0) a=test type type(a) 請(qǐng)不要把賦值語(yǔ) 句的等號(hào)等同于數(shù)學(xué)的等號(hào)。 比如下面的代碼: a = 100 a = a + 200 在編程語(yǔ)言中,賦值語(yǔ) 句先計(jì)算右側(cè)的表達(dá)式 a + 200,得到結(jié)果300,再賦給變 量a。由于a 之前的值是100,重新賦值后,a的值變成300 。我們通過(guò)交互模式驗(yàn)證,輸入如下: a=100 a=a+200 pri

33、nt(a) 300 理解變量在計(jì)算機(jī)內(nèi)存中的表示也非常重要。當(dāng)我們寫(xiě): a=ABC 時(shí),Python解釋器干了兩件事情: (1)在內(nèi)存中創(chuàng)建了一個(gè)ABC的字符串; (2)在內(nèi)存中創(chuàng)建了一個(gè)名為a的變量,并把它指向 ABC。 也可以把一個(gè)變量a賦值給 另一個(gè)變量b,這個(gè)操作實(shí)際 上是把變量b指向變量a所指向的數(shù)據(jù),例如下面的代碼: a=ABC b=a a=XYZ print(b) 最后一行打印出變量b的內(nèi)容到底是ABC呢還是XYZ?如 果從數(shù)學(xué)意義上理解,就會(huì)錯(cuò)誤地得出b和a相同,也應(yīng)該 是XYZ,但實(shí)際上b的值是ABC,讓我們一行一行地執(zhí) 行代碼,就可以看到到底發(fā)生了什么事。 執(zhí)行a = AB

34、C,解釋器創(chuàng)建了字符串ABC和變 量a,并把a(bǔ)指向ABC,如下圖所示: 執(zhí)行b = a,解釋器創(chuàng)建了變量b,并把b指向a指向 的字符串ABC,如圖2-4所示: 執(zhí)行a = XYZ,解釋器創(chuàng)建了字符串XYZ,并把a(bǔ) 的指向改為XYZ,但b并沒(méi)有更改,如圖2-5所 示: 所以,最后打印變量b的結(jié)果自然是ABC了。 2.3.2 2.3.2 變變變變量量名稱(chēng)名稱(chēng) 變量名可以是由數(shù)字或字符組組成的任意長(zhǎng)長(zhǎng)度的 字符串,但必須須以字母開(kāi)頭頭。使用大寫(xiě)字母是 合法的,但變量名使用小寫(xiě)字母開(kāi)頭是個(gè)好主 意。python是區(qū)分大小寫(xiě)的。舉個(gè)例子來(lái)說(shuō), Name和name是兩個(gè)不同的變量名。交互模式 中輸入如下:

35、 name=study python is happy Name=I aggree with you print(name) study python is happy print(Name) I aggree with you 下劃線“_”可以出現(xiàn)在變量名中。它經(jīng)常用于連 接多個(gè)詞組 。比如happy_study, do_it_with_more_practice。交互模式輸入如下 : happy_study=stay hungry stay foolish print(happy_study) stay hungry stay foolish 如果給變 量取非法的名稱(chēng),解釋器顯示語(yǔ)法錯(cuò) 誤

36、。請(qǐng)看下面的示例: 2wrongtest=just for test SyntaxError: invalid syntax 該示例提示語(yǔ)法錯(cuò)誤 ,錯(cuò)誤 信息為無(wú)效的語(yǔ)法 ,原因是它不是以字母開(kāi)頭。 xiaomingme=surprised SyntaxError: cant assign to operator 該示例提示語(yǔ)法錯(cuò)誤 ,錯(cuò)誤 信息為不能做指定 操作,原因?yàn)樗艘粋€(gè)非法字符。 from=from SyntaxError: invalid syntax from是Python的一個(gè)關(guān)鍵字。解釋器通過(guò)關(guān)鍵 字來(lái)識(shí)別程序的結(jié)構(gòu),并且它們不能用來(lái)作為 變量名稱(chēng)。 Python3中共有

37、33個(gè)關(guān)鍵字: False None True and as assert break class continue def del elif else except finally for from global if import in nonlocal lambda is not or pass raise return try while with yield 2.4 2.4 語(yǔ)語(yǔ)語(yǔ)語(yǔ) 句句 語(yǔ)句是Python解釋器可以運(yùn)行的一個(gè)代碼單元 ,也可以理解為可以執(zhí)行的命令。我們目前已 經(jīng)使用過(guò)了兩種語(yǔ)句:print打印語(yǔ)句和賦值語(yǔ) 句。 賦值語(yǔ) 句有兩個(gè)作用:一是建立新的變量,二 是將值賦

38、予變量。任何變量在使用時(shí),都必須 賦值。否則,被視為不存在的變量。 advice=boss,we want have a lunch type(advice) 這個(gè)語(yǔ)句中的advice的類(lèi)型是字符串(str)類(lèi) 型的。 一般的情況下,我們用狀態(tài)圖 表示變量 的狀態(tài)。左邊是變量的名稱(chēng),右邊是變 量值,中間的箭頭指向值。狀態(tài)圖顯 示 了賦值語(yǔ) 句的最終操作結(jié)果。 advice=boss,we want have a lunch money=99999999 spend=1.11111111 如上面幾條語(yǔ)句對(duì)應(yīng) 的狀態(tài)圖 如下圖所 示: 2.5 2.5 表表 達(dá)達(dá) 式式 表達(dá)式是值、變量和操作符的組

39、合。單獨(dú)一個(gè) 值也被看作一個(gè)表達(dá)式。單獨(dú)的變量也可以看作 一個(gè)表達(dá)式。 表達(dá)式和語(yǔ)句一般不容易區(qū)分,很多人會(huì)將兩者 混在一起。那么語(yǔ)句和表達(dá)式之間有什么區(qū)別? 表達(dá)式是某事,而語(yǔ)句是做某事,說(shuō)的通俗點(diǎn)就 是告訴計(jì) 算機(jī)做什么。比如3*3是9,而print(3*3) 打印出來(lái)是9。那么區(qū)別在哪里? 比如我們?cè)诮换ツJ较螺斎肴缦拢?3*3 9 print(3*3) 9 在交互模式下,其結(jié)果都是一樣的。但這只是因 為解釋器總是把所有表達(dá)式的值打印出來(lái)而已( 其內(nèi)部都使用了相同的函數(shù)對(duì)結(jié) 果進(jìn)行呈現(xiàn),后 面會(huì)有細(xì)致的介紹)。一般情況下,Python不會(huì) 這么做,畢竟3*3這樣 的表達(dá)式并不能做什么有

40、趣的事情,而編寫(xiě)print(3*3)會(huì)有一個(gè)顯示的。 語(yǔ)句和表達(dá)式之間的區(qū)別在賦值時(shí) 會(huì)表現(xiàn)的更 加明顯一些。因?yàn)檎Z(yǔ) 句不是表達(dá)式,所以沒(méi)有值 可供交互式解釋器打印出來(lái)。比如在交互模式下 輸入如下: a=100 10*10 100打印出9的結(jié)果。 賦值語(yǔ) 句輸入完成后,下面立刻出現(xiàn)了新的提 示輸入符。而表達(dá)式輸入完成后,下面立刻得到 了結(jié)果。不過(guò)對(duì) 于賦值語(yǔ) 句,有些東西已經(jīng)變 了,變量a現(xiàn)在綁定了一個(gè)值100。 這個(gè)是語(yǔ)句特性的一般定義:它們們改變變 了事物。比如,賦值語(yǔ) 句改變了變量, print語(yǔ)句改變了屏幕顯示的內(nèi)容。 賦值語(yǔ) 句可能是任何計(jì)算機(jī)程序設(shè)計(jì)語(yǔ) 言中最重要的語(yǔ)句類(lèi)型,盡管現(xiàn)

41、在還難 以說(shuō)清它們的重要性。 2.6 2.6 運(yùn)算符和操作運(yùn)算符和操作對(duì)對(duì)對(duì)對(duì)象象 運(yùn)算符和操作對(duì)象是計(jì)算機(jī)中比較常見(jiàn) 的,任何的計(jì)算,都涉及到運(yùn)算符和操作 對(duì)象。本節(jié)將介紹Python中的運(yùn)算符和 操作對(duì)象。 2.6.1 2.6.1 什么是運(yùn)算符和操作什么是運(yùn)算符和操作對(duì)對(duì)對(duì)對(duì)象象 運(yùn)算符我知道,我們前面學(xué)習(xí)的加(+)、減 (-)、乘(*)、除(/)、地板除(/)、取余 (%)等都是運(yùn)算符,是一些特殊符號(hào)的集合 。操作對(duì)象就是由運(yùn)算符連接起來(lái)的對(duì)象。 Python支持以下8種運(yùn)算符: (1)算術(shù)運(yùn)算符。(2)比較(關(guān)系)運(yùn)算符 。 (3)賦值運(yùn)算符。(4)邏輯運(yùn)算符。 (5)位運(yùn)算符。 (6

42、)成員運(yùn)算符。 (7)身份運(yùn)算符。(8)運(yùn)算符優(yōu)先級(jí)。 2.6.2 2.6.2 算算術(shù)術(shù)術(shù)術(shù)運(yùn)算符運(yùn)算符 以下變量a為10,變量b為5: 運(yùn)算 符 描述實(shí)實(shí)例 +加:兩個(gè)對(duì)象相加a + b 輸出結(jié)果 15 -減:得到負(fù)數(shù)或是一個(gè)數(shù)減去 另一個(gè)數(shù) a - b 輸出結(jié)果 5 *乘:兩個(gè)數(shù)相乘或是返回一個(gè) 被重復(fù)若干 次的字符串 a * b 輸出結(jié)果 50 /除:x除以ya / b 輸出結(jié)果 2 %取模:返回除法的余數(shù)b % a 輸出結(jié)果 0 *冪:返回x的y次冪a*b 為10的5次方, 輸出結(jié)果 100000 /取整除(地板除):返回商的 整數(shù)部分 9/2 輸出結(jié)果 4 , 9.0/2.0 輸出結(jié)

43、果 4.0 交互模式下輸入: 2*32/1024/1024/1024 4.0 2*64/1024/1024/1024 17179869184.0 2*32是2的32次方,這個(gè)就是32位操作系統(tǒng)最 大支持的內(nèi)存的字節(jié)數(shù),除以第一個(gè)1024是轉(zhuǎn) 換為KB,1KB=1024B,除以第二個(gè)1024是轉(zhuǎn) 換為MB,1MB=1024KB,除以第三個(gè)1024是 轉(zhuǎn)換為 GB,1GB=1024MB。這個(gè)結(jié)果也就意 味著32位的操作系統(tǒng)最大只能支持4GB的內(nèi)存 ?,F(xiàn)在大家都趨向于選擇64位的了,64位的系 統(tǒng)能支持多大內(nèi)存,自己可以算一下。 2.6.3 2.6.3 比比較較較較運(yùn)算符運(yùn)算符 以下變量a為10,變

44、量b為20: 運(yùn)算符描述實(shí)實(shí)例 =等于:比較對(duì) 象是否相等(a = b) 返回 False 。 !=不等于:比較兩個(gè)對(duì)象是否不相等(a != b) 返回 True. 大于:返回x是否大于y(a b) 返回 False。 =大于等于:返回x是否大于等于y。(a = b) 返回 False 。 符號(hào),其和!=一樣,也表示不等于 ,在Python3中已去除,若以后有看到 運(yùn)算符,那應(yīng)當(dāng)使用的是Python2。 2.6.4 2.6.4 賦值賦值賦值賦值 運(yùn)算符運(yùn)算符 以下變量a為10,變量b為20: 運(yùn)算符描述實(shí)實(shí)例 =簡(jiǎn)單的賦值運(yùn)算符c = a + b 將 a + b 的運(yùn)算結(jié)果賦 值為 c +=加

45、法賦值賦值運(yùn)算符c += a 等效于 c = c + a 運(yùn)算符描述實(shí)實(shí)例 -=減法賦值 運(yùn)算符c -= a 等效于 c = c a *=乘法賦值 運(yùn)算符c *= a 等效于 c = c * a /=除法賦值 運(yùn)算符c /= a 等效于 c = c / a %=取模賦值 運(yùn)算符c %= a 等效于 c = c % a *=冪賦值 運(yùn)算符c *= a 等效于 c = c * a /=取整(地板)除賦值賦值 運(yùn)算 符 c /= a 等效于 c = c / a 2.6.5 2.6.5 位運(yùn)算符位運(yùn)算符 按位運(yùn)算符是把數(shù)字看作二進(jìn)制來(lái)進(jìn)行計(jì)算的。Python中的按位 運(yùn)算法則如下。以下變量a為60,變

46、量b為13: 運(yùn)算 符 描述實(shí)實(shí)例 # 這是一個(gè)全局變量 def sum( arg1, arg2 ): total = arg1 + arg2; # total在這里是局部變量. print (“函數(shù)內(nèi)是局部變量 : “, total) return total def totalprint(): print(total的值是,total) return total 7.7 7.7 有返回有返回值值值值和無(wú)返回和無(wú)返回值值值值函數(shù)函數(shù) 若定義函數(shù)時(shí)沒(méi)有使用return語(yǔ)句,會(huì)默認(rèn)返 回一個(gè)None,要返回一個(gè)None,可以只寫(xiě)一 個(gè)return,但要返回具體的數(shù)值,就需要使用 return后面

47、加上需要返回的內(nèi)容。所以對(duì)于函 數(shù)定義來(lái)說(shuō),使用return語(yǔ)句可以向外提供該 函數(shù)執(zhí)行的一些結(jié)果。而對(duì)于函數(shù)的調(diào)用者來(lái) 說(shuō),是否可以使用函數(shù)中執(zhí)行的一些操作結(jié)果 ,就在于函數(shù)是否使用了return語(yǔ)句返回了對(duì) 應(yīng)的執(zhí)行結(jié)果。 在Python中,有一部分函數(shù)會(huì)產(chǎn)生結(jié)果,如數(shù) 學(xué)函數(shù),我們一般稱(chēng)這種函數(shù)為有返回值函數(shù) (fruitful function);對(duì)于另一些函數(shù),會(huì)執(zhí) 行一些動(dòng)作,但不返回任何值,我們稱(chēng)這類(lèi)函 數(shù)為無(wú)返回值函數(shù)。 當(dāng)調(diào)用有返回值函數(shù)時(shí),可以使用返回的結(jié)果 做相關(guān)操作,而使用無(wú)返回值或返回None的函 數(shù)時(shí),就只能得到一個(gè)None值。 7.8 7.8 為為為為什么要有函數(shù)

48、什么要有函數(shù) 為什么要有函數(shù),定義函數(shù)的好處到底在哪里? 在此對(duì)函數(shù)的好處概括如下: (1)新建一個(gè)函數(shù),可以讓我們有機(jī)會(huì)給一組 語(yǔ)句命名,成為一個(gè)代碼塊 ,這樣 更有利我們 閱讀 代碼,而且這樣組織 后的代碼更容易調(diào)試 。 (2)函數(shù)方法可以減少重復(fù)代碼的使用,讓程 序代碼總 行數(shù)變的更少,在之后如果我們需要修 改代碼,只需要改很少的地方就可以。 (3)將一個(gè)很長(zhǎng)的代碼片段,拆分成幾個(gè)函數(shù) 之后,可以對(duì)每一個(gè)函數(shù)進(jìn)行單獨(dú)的調(diào)試 ,單 個(gè)函數(shù)調(diào)試 通過(guò)后,再將它們組 合起來(lái)形成一 個(gè)完整的產(chǎn)品。 (4)一個(gè)設(shè)計(jì) 良好的函數(shù),可以在很多程序中 復(fù)用,不需要重復(fù)編寫(xiě)。 7.9 7.9 返回函數(shù)返回

49、函數(shù) 函數(shù)可以有返回值,但除了返回值,函數(shù)中是 否可以返回函數(shù)? 看如下函數(shù)的定義: def calc_sum(*args): ax = 0 for n in args: ax = ax + n return ax 定義了一個(gè)可變參數(shù)的求和函數(shù),該函數(shù)允許 傳入多個(gè)參數(shù),最后返回所求得的和。 看如下函數(shù)的定義: def sum_late(*args): def calc_sum(): ax = 0 for n in args: ax = ax + n return ax return calc_sum 此處返回了一個(gè)函數(shù)。對(duì)于此處定義的 函數(shù),我們沒(méi)有返回求和的結(jié)果,而是 返回一個(gè)求和函數(shù)。

50、7.10 7.10 遞歸遞歸遞歸遞歸 函數(shù)函數(shù) 前面剛學(xué)習(xí)了在函數(shù)中返回函數(shù),前面 也學(xué)習(xí)了可以在一個(gè)函數(shù)中調(diào)用另外一 個(gè)函數(shù),但函數(shù)是否可以調(diào)用自己呢?答 案是可以的,如果一個(gè)函數(shù)在內(nèi)部調(diào)用自 身,這個(gè)函數(shù)就稱(chēng)作遞歸 函數(shù)。 遞歸 的簡(jiǎn)單 定義如下: def recurision(): return recursion() 遞歸 函數(shù)應(yīng)該滿(mǎn) 足如下條件: (1)當(dāng)函數(shù)直接返回值時(shí) 有基本實(shí)例( 最小可能性問(wèn)題 )。 (2)遞歸實(shí) 例,包括一個(gè)或多個(gè)問(wèn)題 最 小部分的遞歸調(diào) 用。 計(jì)算階乘n! = 1 x 2 x 3 x . x n,用函數(shù)fact(n) 表示,可以看出: fact(n) =

51、n! = 1 x 2 x 3 x . x (n-1) x n = (n-1)! x n = fact(n-1) x n fact(n)可以表示為n x fact(n-1),只有n=1時(shí)需 要特殊處理。 fact(n)用遞歸的方式的函數(shù)定義如下: #! /usr/bin/python3 # -*- coding:UTF-8 -*- def fact(n): if n=1: return 1 return n * fact(n - 1) 7.11 7.11 匿名函數(shù)匿名函數(shù) Python使用lambda來(lái)創(chuàng)建匿名函數(shù)。 lambda只是一個(gè)表達(dá)式,函數(shù)體比def簡(jiǎn)單很 多。 lambda的主體是一

52、個(gè)表達(dá)式,而不是一個(gè)代碼 塊。 lambda 函數(shù)只包含一個(gè)語(yǔ)句:lambda arg1 ,arg2,.argn:expression 使用def語(yǔ)句求兩個(gè)數(shù)之和示例: def func(x,y): return x+y 使用lambda表達(dá)式求兩個(gè)數(shù)之和示例: lambda x,y: x+y 一般應(yīng)該在如下情況下多往匿名函數(shù)的方向考 慮: (1)程序一次行使用,不需要定義函數(shù)名時(shí) ,用匿名函數(shù)可以節(jié)省內(nèi)存中變量定義空間。 (2)如果想讓程序更加簡(jiǎn)潔時(shí) ,使用匿名函 數(shù)可以做到。 當(dāng)然,匿名函數(shù)有幾個(gè)規(guī)則要記住: (1)一般也就一行表達(dá)式,必須有返回值。 (2)不能有return。 (3)可以

53、沒(méi)有參數(shù),可以有一個(gè)或多個(gè)參數(shù)。 7.12 7.12 偏偏 函函 數(shù)數(shù) 偏函數(shù)是從Python2.5引入的一個(gè)概念, 通過(guò)functools模塊被用戶(hù)調(diào) 用。要注意 ,這里的偏函數(shù)和數(shù)學(xué)意義上的偏函數(shù) 不一樣。 偏函數(shù)是將所要承載的函數(shù)作為partial() 函數(shù)的第一個(gè)參數(shù),原函數(shù)的各個(gè)參數(shù)依 次作為partial()函數(shù)后續(xù)的參數(shù),除非使 用關(guān)鍵字參數(shù)。 7.13 7.13 牛刀小牛刀小試試試試經(jīng)經(jīng)經(jīng)經(jīng)典排序之快典排序之快 速排序速排序?qū)崿F(xiàn)實(shí)現(xiàn)實(shí)現(xiàn)實(shí)現(xiàn) 快速排序(quick sort)是一種分治排序算法。該算 法首先選取一個(gè)劃分元素;接著重排列表將其劃分 為三個(gè)部分:left(小于劃分元素

54、pivot的部分)、劃 分元素pivot、right(大于劃分元素pivot的部分),此 時(shí),劃分元素pivot已經(jīng)在列表的最終位置上;然后 分別對(duì) left和right兩個(gè)部分進(jìn)行遞歸 排序。 劃分元素的選取直接影響到快速排序算法的效率,通 常選擇 列表的第一個(gè)元素或者中間元素或者最后一 個(gè)元素作為劃分元素;劃分過(guò)程根據(jù)劃分元素重排 列表,是快速排序算法的關(guān)鍵所在。 快速排序算法的優(yōu)點(diǎn)是:平均情況下的時(shí)間 復(fù)雜度 為 O(n log n)??焖倥判蛩惴ǖ娜秉c(diǎn)是:它是不穩(wěn)定 的排序算法,最壞情況下的時(shí)間 復(fù)雜度為 O(n)。 具體代碼參考書(shū)中示例。 7.14 7.14 調(diào)試調(diào)試調(diào)試調(diào)試 前面章

55、節(jié)對(duì)調(diào)試 的介紹都是基于刻意犯錯(cuò)進(jìn)行 的,本章開(kāi)始將介紹一些調(diào)試的技巧。 將一個(gè)大程序分解為小函數(shù),自然而然地引入 了調(diào)試的檢查點(diǎn)。如果一個(gè)函數(shù)不能正常工作 ,可以從以下3點(diǎn)優(yōu)先考慮: (1)函數(shù)獲得的實(shí)參有問(wèn)題,某個(gè)前置條件 沒(méi)有達(dá)到。 (2)函數(shù)本身有問(wèn)題,某個(gè)后置條件沒(méi)有達(dá) 到。 (3)函數(shù)的返回值有問(wèn)題,或者使用的方式 不對(duì)。 7.15 7.15 問(wèn)題問(wèn)題問(wèn)題問(wèn)題 解答解答 (1)len()、count()、sum()這幾個(gè)計(jì)算 函數(shù)有什么區(qū)別? (2)函數(shù)在項(xiàng)目中使用的多嗎? (3)如何靈活使用函數(shù)? 7.16 7.16 溫故知新,學(xué)以致用溫故知新,學(xué)以致用 本章主要講解的是函數(shù)定義

56、、函數(shù)參數(shù)、變量 作用域、函數(shù)遞歸等內(nèi)容,在本章結(jié)束前,先 回顧一下這些概念:(1)如何定義函數(shù)? (2)函數(shù)有哪些參數(shù)類(lèi)型?(3)什么是形參 和實(shí)參?(4)變量的作用域有哪些?(5)怎 么使用遞歸函數(shù)? 嘗試思考并解決如下問(wèn)題: 1. 請(qǐng)利用Python內(nèi)置的hex()函數(shù)把一個(gè)整數(shù) 轉(zhuǎn)換成十六進(jìn)制表示的字符串。 2. 請(qǐng)定義一個(gè)函數(shù)quadratic(a, b, c),接收3個(gè) 參數(shù),返回一元二次方程: ax2 + bx + c = 0 的 兩個(gè)解。 練習(xí)題練習(xí)題練習(xí)題練習(xí)題 1.函數(shù)寫(xiě)出菲波那切數(shù)列。 2.寫(xiě)個(gè)字符串,通過(guò)過(guò)遍歷歷的方式計(jì)計(jì)算字符 串的長(zhǎng)長(zhǎng)度 def jlen(str):

57、 x = 0 for i in str: x+=1 print u該該字符串的長(zhǎng)長(zhǎng)度為為:,x return x jlen(xiegezifuchuan) 3.寫(xiě)入不定個(gè)數(shù)的字符串拼接第一個(gè)和最后一個(gè)字符串 def splicing(*args): return args0+args-1 print splicing(1,2,3) 4. 定義義一個(gè)函數(shù),輸輸入不定個(gè)數(shù)的數(shù)字,返回所有數(shù)字的和 def sumofdigits(*args): x=0 for i in args: x+=i return x print sumofdigits(1,2,3,4,5) 5.傳傳入多個(gè)參數(shù),以list返回 def returnlist(*args): li= for i in args: li.append(i) return li print returnlist(1,2,3,4) Questions & Answers

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!