Python基礎(chǔ)課件_第1頁(yè)
Python基礎(chǔ)課件_第2頁(yè)
Python基礎(chǔ)課件_第3頁(yè)
Python基礎(chǔ)課件_第4頁(yè)
Python基礎(chǔ)課件_第5頁(yè)
已閱讀5頁(yè),還剩275頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Python,第一章 進(jìn)入python3.5的精彩世界, ,前言,Python 簡(jiǎn)介,Python 安裝,2,本節(jié)內(nèi)容,進(jìn)入Python編程世界,Python的官網(wǎng)網(wǎng)站: 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ū)ο蟆惓L幚砗湍K等方面也有改動(dòng)。 本教學(xué)使用Python3.5。,Python 下載與安裝,Python2.x vs Python 3.x,Python安裝,python

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

3、位。 可以通過(guò)下面3種途徑獲取python: web-based installer 是需要通過(guò)聯(lián)網(wǎng)完成安裝的executable installer 是可執(zhí)行文件(*.exe)方式安裝embeddable zip file 嵌入式版本,可以集成到其它應(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),里面只能執(zhí)行Python命令。 第三個(gè)是幫助文檔,點(diǎn)擊后會(huì)彈出幫助文檔。 最后一個(gè)是Python的模塊文檔。本書(shū)若無(wú)

4、特別指出,示例都是在IDLE中執(zhí)行的。,進(jìn)入Python編程世界,打開(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)里面的叫字符串。如果要讓Python打印出指定的文字,可以用print()函數(shù),然后把希望打印的文字用單引號(hào)或者雙引號(hào)括起來(lái),但不能混用單引號(hào)和雙引號(hào)。,我們?cè)撛趺慈タ桃夥改兀?我

5、們以前面的“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é)以致用,(1)回顧一下Python的發(fā)展歷程,起源和應(yīng)用場(chǎng)景。 (2)在本地安裝Python最新版本,安裝好后卸載,卸載后再安裝,盡量關(guān)注一下各個(gè)步驟的細(xì)節(jié)。 (3)嘗試在不同操作系統(tǒng)上安裝Python。 (4)在“H

6、ell world!”示例中,嘗試將print函數(shù)拼寫(xiě)錯(cuò)誤,查看輸出結(jié)果。 (5)不要用電腦測(cè)試,自己想想print (1+2)的輸出結(jié)果。,Windows下運(yùn)行Python程序,HelloWorld.py # -*- coding: cp936 -*- 支持漢字注釋 print Hello, world! # 我的第一個(gè)Python程序 raw_input() # 使cmd框不立刻退出 三種運(yùn)行方式 打開(kāi)源文件,用Python Shell運(yùn)行。 雙擊源文件,用CMD運(yùn)行。 在Python Shell中直接寫(xiě)程序運(yùn)行。,進(jìn)入Python編程世界,其他的Python集成開(kāi)發(fā)環(huán)境,1)開(kāi)源 Pyt

7、hon Win+Win32 Extensions IPython(增強(qiáng)的交互式Python) IDE Studio(IDLE以及更多) Eclipse 2)商業(yè) WingIDE(WinWare公司) Komodo(ActiveState公司),進(jìn)入Python編程世界,Python學(xué)習(xí)資源,簡(jiǎn)明Python教程,啄木鳥(niǎo)社區(qū),CSDN下載,其他,htp:/,Python快速入門(mén),輸入輸出,注釋,本 章 主 題,操作符,賦值,數(shù)據(jù)類(lèi)型,縮進(jìn),循環(huán)語(yǔ)句,條件語(yǔ)句,文件操作,錯(cuò)誤處理,函數(shù),類(lèi),模塊,print輸出,注釋, print (“Hello world!“) # Python Shell提示

8、符 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!,Python快速入門(mén),print輸出,注釋, print (“%s is %d years old.” % (“李書(shū)豪”, 26)) 李書(shū)豪 is 26 years old. # %s 字符串;%d 整型;%f 浮點(diǎn)型 # Python非常靈活,即使

9、將數(shù)字傳遞給%s,也不會(huì)引發(fā)嚴(yán)重后果 logFile = open(myLog, a) # 打開(kāi)文件 print logFile, Python讓程序員的工作更輕松。 # 重定向輸出符號(hào) log() # 關(guān)閉文件,Python快速入門(mén),raw_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倍是:%

10、d % (int(myNumber) * 2) 你輸入數(shù)字的2倍是:2048 # int() 字符串轉(zhuǎn)換為整型,Python快速入門(mén),操作符,標(biāo)準(zhǔn)算術(shù)操作符:+ - * / /取整 %取余 *乘方 print -2 * 3 + 2010 / 4 * 2 print (-2 * 3) + (2010 / (4 * 2) # 括號(hào)增加可讀性 標(biāo)準(zhǔn)比較操作符: = = != 3.14 3.14 != 3.14 # 漸漸被淘汰 False 邏輯操作符:and or not (2 4) and (2 = 4) or (not (3 4 5) False # 3 4 5 等價(jià)于 3 4 and 4 5,簡(jiǎn)

11、潔!,Python快速入門(mén),賦值,數(shù)據(jù)類(lèi)型,Python變量名規(guī)則與其他編程語(yǔ)言一樣,并且大小寫(xiě)敏感 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 xABCDEF123456L; True False; 3.1415926 -1.2E-14 10. 32

12、.1e10; 6.54+3.21j -1.23+45.6J 0+1j 99-88j -0.142857+0j,Python快速入門(mén),數(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 + + strIsCool # n:回車(chē) Python is cool! - * 30 -,Python快速入門(mén),數(shù)據(jù)類(lèi)型列表、元組、字典

13、,列表(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 Python is cool 字典(dictionary):由鍵值對(duì)(Key-Value)構(gòu)成 myDict = name:LiShuhao, height:171, age:26

14、for mKey in myDict: print mKey, myDictmKey # 縮進(jìn): Tab,空格,Python快速入門(mén),縮進(jìn),while循環(huán)語(yǔ)句,if條件語(yǔ)句,縮進(jìn):簡(jiǎn)潔、可讀性好 循環(huán)語(yǔ)句:while while expression: # expression 條件表達(dá)式 while_suite # 根據(jù)條件循環(huán)執(zhí)行的語(yǔ)句 條件語(yǔ)句:if elif else if expression1: # 藍(lán)色部分可以單獨(dú)用 if_suite elif expression2: # 綠色部分可以省略,也可以重復(fù)多個(gè) elif_suite else expression3: # 用elif

15、,最后必須有else else_suite # Python沒(méi)有switch-case,Python快速入門(mén),for循環(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: 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 pri

16、nt nChar for i in range(len(myString): # len() 字符串長(zhǎng)度 print (%d) % (i), myStringi # 輸出:(0) a ,Python快速入門(mén),for循環(huán)語(yǔ)句,循環(huán)語(yǔ)句:for enumerate()內(nèi)建函數(shù) # enumerate()突破約束:索引、元素雙循環(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 complex

17、Tuple = (item * 2 for item in range(10) if item % 2) # 1 9 25 49 81,Python快速入門(mén),文件操作,文件操作:open() file() readlines() close() handle = open(, access_mode = r) # 默認(rèn) r # r:讀?。粀:寫(xiě)入;a:添加;+:讀寫(xiě);b:二進(jìn)制訪問(wèn)。 = raw_input(請(qǐng)輸入文件名:) hFile = , r) for nLine in hFile: print nLine, h() # close()是文件對(duì)象hfile的一個(gè)屬性 # 屬性可以是數(shù)據(jù)值

18、,也可以是函數(shù)和方法,類(lèi)、模塊、文件和復(fù)數(shù)等都有屬性。 # 本示例適用于較小的文件,否則占用內(nèi)存太大。,Python快速入門(mén),錯(cuò)誤處理,錯(cuò)誤和異常:try - 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è)異常,Python快速入門(mén),函數(shù),函數(shù): def function_name(arguments): # 參數(shù)可為空,可有默認(rèn)值 “optional docume

19、ntation string” # 可選的函數(shù)說(shuō)明語(yǔ)句 function_suite # 函數(shù)代碼段 return fun_obj # 可以沒(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,Python快速入門(mén),類(lèi),模塊

20、,類(lèi):相關(guān)數(shù)據(jù)及邏輯的容器,構(gòu)建創(chuàng)建真實(shí)對(duì)象的藍(lán)圖。 class className(baseClasses): “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

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

22、達(dá)車(chē),所有要乘車(chē)的人從起點(diǎn)上車(chē),中途不搭載其他乘客。,2.2 數(shù) 據(jù) 類(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 整型,整型(int),通常被稱(chēng)為是整型或整數(shù),是正或負(fù)整數(shù),不帶小數(shù)點(diǎn)。 例如交互模式下輸入如下: 51 51 這里使用的就是整型。 整型加法如下: 2

23、5+25 50,整型減法: 51-50 1 整型乘法: 51*2 102 整型除法: 153/51 3.0 155/51 3.03927 此處出現(xiàn)除不盡的情況了。,在整數(shù)除法中,除法(/)計(jì)算結(jié)果是浮點(diǎn)數(shù),即使是兩個(gè)整數(shù)恰好整除,結(jié)果也是浮點(diǎn)數(shù),如果只想得到整數(shù)的結(jié)果,丟棄可能的分?jǐn)?shù)部分,可以使用地板除(/),整數(shù)的地板除(/)永遠(yuǎn)是整數(shù),即使除不盡。 改成如下寫(xiě)法: 153/51 3 155/51 3,地板除(/)只取結(jié)果的整數(shù)部分,Python還提供一個(gè)余數(shù)運(yùn)算,可以得到兩個(gè)整數(shù)相除的余數(shù)。如下: 153%51 0 155%51 2,2.2.2 浮點(diǎn)型,浮點(diǎn)型(float),浮點(diǎn)型由整數(shù)部

24、分與小數(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.997 浮點(diǎn)除法: 153/51.0 3.0 155/51.0 3.03927 浮點(diǎn)地板除: 155/51.0 3.0 155%51.0 2.0,2.2.3 復(fù)數(shù),復(fù)數(shù)( (complex),復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成,可以用a + bj,或者complex(a,b)表示,

25、 復(fù)數(shù)的實(shí)部a和虛部b都是浮點(diǎn)型。 Python支持復(fù)數(shù),Python的復(fù)數(shù)我們當(dāng)前階段使用或接觸的比較少,此處就不做具體的講解,讀者有一個(gè)概念即可,有興趣可以自行查閱相關(guān)資料。,2.2.4 數(shù)據(jù)類(lèi)型轉(zhuǎn)換,有時(shí)候,我們需要對(duì)數(shù)據(jù)內(nèi)置的類(lèi)型進(jìn)行轉(zhuǎn)換,數(shù)據(jù)類(lèi)型的轉(zhuǎn)換,你只需要將數(shù)據(jù)類(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 和

26、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,這樣就得到我們需要的結(jié)果。,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é)中被使用

27、,具體的用法在使用中進(jìn)行體現(xiàn)。,2.3 變量和關(guān)鍵字,編程語(yǔ)言最強(qiáng)大的功能之一是操縱變量的能力。變量(variable)是一個(gè)需要熟知的概念。如果你覺(jué)得數(shù)學(xué)是讓你抓狂的話,別擔(dān)心,Python中的變量很好理解。變量基本上就是代表某值的名字。,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)建變量xiaoh

28、ong并賦值為XiaoHong。(注意:字符串必須以引號(hào)標(biāo)記開(kāi)始,并以引號(hào)標(biāo)記結(jié)束。),打印變量結(jié)果: print(xiaohong) XiaoHong 在使用變量前,需要對(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) AB

29、C 這種變量本身類(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ì)報(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。由于

30、a之前的值是100,重新賦值后,a的值變成300。我們通過(guò)交互模式驗(yàn)證,輸入如下: a=100 a=a+200 print(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)該

31、是XYZ,但實(shí)際上b的值是ABC,讓我們一行一行地執(zhí)行代碼,就可以看到到底發(fā)生了什么事。,執(zhí)行a = ABC,解釋器創(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 變量名稱(chēng),變量名可以是由數(shù)字或字符組成的任意長(zhǎng)度的字符串,但必須以字母開(kāi)頭。使用大寫(xiě)字母是合法的,但變量名使用小寫(xiě)字母開(kāi)頭是個(gè)好主意。python是區(qū)分大小寫(xiě)的。舉個(gè)例子來(lái)說(shuō),N

32、ame和name是兩個(gè)不同的變量名。交互模式中輸入如下: 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 foolis

33、h 如果給變量取非法的名稱(chēng),解釋器顯示語(yǔ)法錯(cuò)誤。請(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)作為

34、變量名稱(chēng)。 Python3中共有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 語(yǔ) 句,語(yǔ)句是Python解釋器可以運(yùn)行的一個(gè)代碼單元,也可以理解為可以執(zhí)行的命令。我們目前已經(jīng)使用過(guò)了兩種語(yǔ)句:print打印語(yǔ)句和賦值語(yǔ)句。 賦值語(yǔ)句有兩個(gè)作用:一是建立新的變量,二是

35、將值賦予變量。任何變量在使用時(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 表 達(dá) 式,表達(dá)式是值、變量和操作符的組合。單獨(dú)一個(gè)值也被看作一個(gè)表達(dá)

36、式。單獨(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é)果都是一樣的。但這只是因?yàn)榻忉屍骺偸前阉斜磉_(dá)式的值打印出來(lái)而已(其內(nèi)部都使用了相同的函數(shù)對(duì)結(jié)果進(jìn)行呈現(xiàn),后面會(huì)有細(xì)致的介紹)。一般情況下,Python不會(huì)這么做,畢竟3*3這樣的表達(dá)式并不能做什么有趣的事情,而編寫(xiě)print(3*3)會(huì)有一個(gè)顯示的。 語(yǔ)

37、句和表達(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)在還難以說(shuō)清它們的重要性。,2.6 運(yùn)算符和操作對(duì)象,運(yùn)算符和操作對(duì)象是計(jì)算機(jī)中比較常見(jiàn)的,

38、任何的計(jì)算,都涉及到運(yùn)算符和操作對(duì)象。本節(jié)將介紹Python中的運(yùn)算符和操作對(duì)象。,2.6.1 什么是運(yùn)算符和操作對(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)成員運(yùn)算符。 (7)身份運(yùn)算符。(8)運(yùn)算符優(yōu)先級(jí)。,2.6.2 算術(shù)運(yùn)算符,以下變量a為10,變量b為5:,交互模式下輸入: 2*32/1024/1024/1024 4.

39、0 2*64/1024/1024/10240 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 比較運(yùn)算符,以下變量a為10,變量b為20:,在一些地方,會(huì)看到用1代表True,0代表False,這種是正確也是合理的表示方式,這個(gè)大家更多會(huì)理解

40、為開(kāi)和關(guān)的意思,就像我們物理中所學(xué)習(xí)的電流的打開(kāi)和關(guān)閉一樣。后面會(huì)有更多的地方用到用1和0代表True、False的示例。 另外,在Python2中,有時(shí)可能會(huì)看到這個(gè)符號(hào),其和!=一樣,也表示不等于,在Python3中已去除,若以后有看到運(yùn)算符,那應(yīng)當(dāng)使用的是Python2。,2.6.4 賦值運(yùn)算符,以下變量a為10,變量b為20:,2.6.5 位運(yùn)算符,按位運(yùn)算符是把數(shù)字看作二進(jìn)制來(lái)進(jìn)行計(jì)算的。Python中的按位運(yùn)算法則如下。以下變量a為60,變量b為13:,2.6.6 邏輯運(yùn)算符,Python語(yǔ)言支持邏輯運(yùn)算符,以下變量a為10,變量b為20:,a=10 b=3 list=1,2,3,

41、4 print(a in list) print (b in list),2.6.7 成員運(yùn)算符,Python還支持成員運(yùn)算符,測(cè)試實(shí)例中包含了一系列的成員,包括字符串,列表或元組。,a=10 b=3 print(a is b) print(a is not b),2.6.8 身份運(yùn)算符,身份運(yùn)算符用于比較兩個(gè)對(duì)象的存儲(chǔ)單元,2.6.9 運(yùn)算符優(yōu)先級(jí),以下表格列出了從最高到最低優(yōu)先級(jí)的所有運(yùn)算符:,2.7 字符串操作,字符串是 Python 中最常用的數(shù)據(jù)類(lèi)型。我們可以使用引號(hào)(或)來(lái)創(chuàng)建字符串。 字符串可以使用操作符+,但其功能和數(shù)學(xué)中的不一樣,它會(huì)進(jìn)行拼接(concatenation)操作

42、,即將前后兩個(gè)字符首尾連接起來(lái)。 如: string1=hello string2=world print(string1+string2) helloworld,如果想讓字符串之間有空格,可以建一個(gè)空字符變量,插在相應(yīng)的字符串之間讓它們隔開(kāi),或是在字符串中加入相應(yīng)的空格。交互模式下輸入如下: string1=hello string2=world space= print(string1+space+string2) hello world 或者 string1=hello string2= world print(string1+string2) hello world,計(jì)算機(jī)是美國(guó)人發(fā)明

43、的,因此,最早只有127個(gè)字母被編碼到計(jì)算機(jī)里,也就是大小寫(xiě)英文字母、數(shù)字和一些符號(hào),這個(gè)編碼表被稱(chēng)為ASCII編碼,比如大寫(xiě)字母A的編碼是65,小寫(xiě)字母z的編碼是122。 在最新的Python 3版本中,字符串是以UTF-8編碼的,也就是說(shuō),Python3的字符串支持多語(yǔ)言。 Python2中默認(rèn)的編碼格式是ASCII格式,在沒(méi)修改編碼格式時(shí)無(wú)法正確打印漢字,在讀取中文時(shí)會(huì)報(bào)錯(cuò)。Python2使用中文的語(yǔ)法是在字符串前面加上前綴 u。,2.8 注 釋,當(dāng)程序變的更大更復(fù)雜時(shí),讀起來(lái)也更困難。程序的各部分之間緊密銜接,想依靠部分的代碼來(lái)了解整個(gè)程序要做的,是困難的。在現(xiàn)實(shí)中,經(jīng)常會(huì)遇到一段代碼

44、,很難弄清楚它在做什么、為什么那么做。 因此,在程序中加入自然語(yǔ)言的筆記來(lái)解釋程序在做什么,是個(gè)不錯(cuò)的主意。這種筆記稱(chēng)為注釋?zhuān)╟omments),注釋必須以符號(hào)“#”開(kāi)始。 注釋可以單獨(dú)占一行,也可以放在語(yǔ)句行的末尾。交互模式下輸入如下: # 打印1+1的結(jié)果 print(1+1) 2 print(1+1) # 打印1+1的結(jié)果 2,比如如下的代碼中注釋與代碼重復(fù),毫無(wú)用處: r=10 #將10賦值給r 而下面這段代碼注釋則包含了代碼中隱藏的信息,如果不加注釋?zhuān)茈y讓人看懂這個(gè)是什么意思(雖然在實(shí)際中可能可以根據(jù)上下文判定,但需要浪費(fèi)不必要的思考時(shí)間)。 r=10 #半徑,單位是米 選擇好的變

45、量名,可以減少注釋的需要,但長(zhǎng)名字也會(huì)讓復(fù)雜表達(dá)式更難閱讀,所以這兩者之間需要衡量舍取。,2.9 調(diào) 試,錯(cuò)誤是好的,錯(cuò)誤能幫助我們長(zhǎng)進(jìn)。 (1)還記得數(shù)字類(lèi)型轉(zhuǎn)換嗎,若用int()轉(zhuǎn)換一個(gè)字符,會(huì)得到怎樣的結(jié)果,嘗試一下,交互模式下輸入如下: int(hello) Traceback (most recent call last): File , line 1, in int(hello) ValueError: invalid literal for int() with base 10: hello 這個(gè)是什么意思呢,開(kāi)動(dòng)你的大腦,思考一下。,(2)在變量和關(guān)鍵字中,若變量被命名為關(guān)鍵字

46、會(huì)怎樣,輸入如下: class=你好 SyntaxError: invalid syntax (3)在算術(shù)運(yùn)算符中,若被除數(shù)為0,結(jié)果會(huì)怎樣,輸入如下: 9/0 Traceback (most recent call last): File , line 1, in 9/0 ZeroDivisionError: division by zero 跟我們學(xué)習(xí)過(guò)的數(shù)學(xué)中的一樣,被除數(shù)不能為0。,2.10 問(wèn)題解答,(1)關(guān)鍵字那么多,我都記住嗎? 這個(gè)可以不用去刻意記憶,隨著你逐步的學(xué)習(xí),會(huì)碰到一些常用關(guān)鍵字,碰多了自然就熟悉了。對(duì)于一些不常用的,碰到了再回頭看是否是屬于關(guān)鍵字??傊P(guān)鍵字可以在

47、學(xué)習(xí)和使用中慢慢記憶。 (2)這么多運(yùn)算符,都需要熟練使用嗎? 能熟練使用當(dāng)然最好了,若不能都熟練使用,也要有所了解,知道怎么使用,在實(shí)際解決問(wèn)題時(shí)能知道應(yīng)該使用什么運(yùn)算符,該怎么用。當(dāng)然,也可以碰到具體問(wèn)題時(shí)再詳細(xì)研究,這也是一個(gè)不錯(cuò)的辦法。 (3)字符串的操作就只有這么一些嗎? 字符串還有很多的操作,這里只是一些簡(jiǎn)單的入門(mén)操作,具體在后面的章節(jié)會(huì)有詳細(xì)介紹。,2.11 溫故知新,學(xué)以致用,1. 回顧數(shù)據(jù)類(lèi)型相關(guān)概念,整型、浮點(diǎn)型、數(shù)據(jù)類(lèi)型轉(zhuǎn)換。 2. 回顧變量和關(guān)鍵字相關(guān)概念,并嘗試記住這些關(guān)鍵字。 3. 回顧運(yùn)算符和操作對(duì)象,并通過(guò)不斷調(diào)試熟悉各種運(yùn)算符。 4. 回顧字符串的操作及注釋?zhuān)?/p>

48、了解編碼方式,嘗試寫(xiě)注釋。 5. 小萌和小智約定,明天小智送一顆糖給小萌,并從后天起,小智每天送比前一天多一倍的糖給小萌,到第16天(包含這天),小萌一共可以收到多少顆糖? 6. 小萌,運(yùn)算符都學(xué)完了,我來(lái)考考你,看看你學(xué)的怎樣,用4個(gè)2以及各種運(yùn)算符,你能得到最大的數(shù)是多少? 7. 結(jié)合本章所學(xué),并查閱相關(guān)資料,看看下面的代碼的輸出結(jié)果是怎樣的,并嘗試解釋其結(jié)果。 habit=Python是一門(mén)很有用的編程語(yǔ)言n我想學(xué)好它 print(habit) #你認(rèn)為的結(jié)果是 len(habit) #你認(rèn)為的結(jié)果是,練習(xí)題,1.#輸入a,b,c,d4個(gè)整數(shù),計(jì)算a+b-c*d的結(jié)果 2.#計(jì)算一個(gè)12

49、.5m*16.7m的矩形房間的面積和周長(zhǎng) 3.#怎么得到9/2的小數(shù)結(jié)果 4.#python計(jì)算中7*7*7*7.可以有多少種寫(xiě)法,1.#輸入a,b,c,d4個(gè)整數(shù),計(jì)算a+b-c*d的結(jié)果 a=input(please input a nimber:) b=input(please input a number:) c=input(please input a number:) d=input(please input a number:) print (a+b-c*d) ?注意類(lèi)型轉(zhuǎn)換 int() 輸出結(jié)果: please input a nimber:3 please input a n

50、umber:3 please input a number:3 please input a number:3 -3,2.#計(jì)算一個(gè)12.5m*16.7m的矩形房間的面積和周長(zhǎng) a=12.5 b=16.7 s=a*b c=a+a+b+b print 面積是%f,周長(zhǎng)是%f%(s,c) 輸出結(jié)果是 面積是208.750000,周長(zhǎng)是58.400000 3.#怎么得到9/2的小數(shù)結(jié)果 float(9/2) 4.0,第一種: 7*7*7*7 2401 第二種: pow(7,4) 2401 第三種: 7*4 24401 第四種: eval(%s*%s*%s*%s%(7,7,7,7) 2401 eval

51、參數(shù)是一個(gè)字符串, 可以把這個(gè)字符串當(dāng)成表達(dá)式來(lái)求值,第三章 列表和元組,本章將引入一個(gè)新的概念:數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)是通過(guò)某種方式(例如對(duì)元素進(jìn)行編號(hào))組織在一起的數(shù)據(jù)元素的集合,這些元素可以是數(shù)字或者字符。在Python中,最基本的數(shù)據(jù)結(jié)構(gòu)是序列(sequence)。Python包含6種內(nèi)建的序列,即列表、元組、字符串、Unicode字符串、buffer對(duì)象和xrange對(duì)象。本章重點(diǎn)討論最常用的兩種:列表和元組。,3.1 通用序列操作,在講解列表和元組之前,本節(jié)先介紹Python中序列的通用操作,這些操作在列表和元組中都會(huì)用到。 Python中所有序列都可以進(jìn)行某些特定的操作,這些操作包括

52、:索引(indexing)、分片(sliceing)、序列相加(adding)、乘法(multiplying)、成員資格、長(zhǎng)度、最小值和最大值。本節(jié)首先講解對(duì)所有序列(包括元組和列表)都通用的操作。,3.1.1 索引,序列是Python中最基本的數(shù)據(jù)結(jié)構(gòu)。序列中的每個(gè)元素都分配一個(gè)數(shù)字,代表它在序列中的位置,或索引,第一個(gè)索引是0,第二個(gè)索引是1,依此類(lèi)推。 序列中所有的元素都是有編號(hào)的從0開(kāi)始遞增??梢酝ㄟ^(guò)編號(hào)分別對(duì)序列的元素進(jìn)行訪問(wèn)。,通過(guò)編號(hào)來(lái)取元素: greeting=Hello #定義變量greeting,并賦值Hello greeting0 #根據(jù)編號(hào)取元素,使用格式為在中括號(hào)中輸

53、入所取元素編號(hào)值 H greeting1 e greeting2 l 序列中的元素是從0開(kāi)始從左向右依自然順序編號(hào)的,對(duì)元素的訪問(wèn)可以通過(guò)編號(hào)訪問(wèn)。獲取元素的方式為變量后面跟上中括號(hào),中括號(hào)中輸入所取元素的編號(hào)值,這個(gè)格式需要記住。 這里的所指的編號(hào)就是索引,可以通過(guò)索引獲取元素。所有序列都可以通過(guò)這種方式進(jìn)行索引。,交互模式下輸入如下: greeting-1 o greeting-2 l greeting-3 l greeting-4 e Python的序列也可以從右邊開(kāi)始索引,最右邊的一個(gè)元素的索引為-1,向左開(kāi)始遞減。 在Python中,從左向右索引稱(chēng)為正數(shù)索引,從右向左稱(chēng)為負(fù)數(shù)索引。使

54、用負(fù)數(shù)索引時(shí),Python會(huì)從最后1個(gè)元素開(kāi)始計(jì)數(shù)。最后一個(gè)元素的位置編號(hào)是-1。 最后一個(gè)元素的編號(hào)不是-0,這個(gè)跟數(shù)學(xué)中的概念一樣的,-0=0,-0和0都是指向第一個(gè)元素。,3.1.2 分片,索引用來(lái)對(duì)單個(gè)元素進(jìn)行訪問(wèn),使用分片可以對(duì)一定范圍內(nèi)的元素進(jìn)行訪問(wèn),分片通過(guò)冒號(hào)相隔的兩個(gè)索引來(lái)實(shí)現(xiàn)。在交互模式輸入如下: number=1,2,3,4,5,6,7,8,9,10 number1:3 #取索引為第一和第二的元素 2, 3 number-3:-1 #負(fù)數(shù)表明是從右開(kāi)始計(jì)數(shù),取得倒數(shù)第三和倒數(shù)第二的元素 8, 9 分片操作既支持正數(shù)索引,也支持負(fù)數(shù)索引,并且分片操作對(duì)于提取序列的一部分是很

55、方便的。,分片操作的實(shí)現(xiàn)需要提供兩個(gè)索引作為邊界,第一個(gè)索引的元素是包含在分片內(nèi)的,第二個(gè)則不包含在分片內(nèi)。 number=1,2,3,4,5,6,7,8,9,10 number-3,-1 8, 9 試試使用索引0作為最后一個(gè)元素的下一個(gè)元素,輸入如下: number-3:0 -3代表的是倒數(shù)第三個(gè)元素,0則代表的是第一個(gè)元素,倒數(shù)第3個(gè)比第一個(gè)晚出現(xiàn),既比第一個(gè)排在更后面,所以得到的結(jié)果是空序列。, number0: #從第一個(gè)元素開(kāi)始輸出,輸出全部結(jié)果 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 number:0 #最后一個(gè)元素為第一個(gè),輸出為空 number:3 #取得前

56、3個(gè)元素 1, 2, 3 若需要輸出整個(gè)序列,可以將兩個(gè)索引都設(shè)置為空。輸入如下: number: #取得整個(gè)數(shù)組 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,進(jìn)行分片的時(shí)候,分片的開(kāi)始和結(jié)束點(diǎn)都需要指定(不管是直接還是間接),用這種方式取連續(xù)的元素是沒(méi)有問(wèn)題的,但是若要取序列中不連續(xù)的元素就會(huì)比較麻煩了或是不能操作。比如要取序列number中的所有奇數(shù),以一個(gè)序列展示出來(lái),用前面的方法就不能實(shí)現(xiàn)了。 對(duì)于這種情況,Python為我們提供了另外一個(gè)參數(shù)步長(zhǎng)(step length),該參數(shù)通常是隱式設(shè)置的。在普通的分片中,步長(zhǎng)是1分片操作就是按照這個(gè)步長(zhǎng)逐個(gè)遍歷序列的元素,遍歷

57、后返回開(kāi)始和結(jié)束點(diǎn)之間的所有元素,也可以理解為默認(rèn)步長(zhǎng)是1,既沒(méi)有設(shè)置步長(zhǎng)時(shí),步長(zhǎng)隱式設(shè)置值為1。,輸入如下: number0:10:1 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 分片包含了另外一個(gè)數(shù)字。這種方式就是步長(zhǎng)的顯式設(shè)置。這個(gè)看起來(lái)和隱式設(shè)置步長(zhǎng)沒(méi)有什么區(qū)別,得到結(jié)果和之前也是一樣的。但是若將步長(zhǎng)設(shè)置為比1大的數(shù),那結(jié)果會(huì)怎樣呢?輸入如下: number0:10:2 1, 3, 5, 7, 9 由上面輸出結(jié)果我們看到,對(duì)于number序列,設(shè)置步長(zhǎng)為2時(shí),得到的結(jié)果就是我們前面想要的奇數(shù)序列。 步長(zhǎng)設(shè)置為大于1的數(shù),那會(huì)得到一個(gè)跳過(guò)某些元素的序列。例如我們上面設(shè)置的

58、步長(zhǎng)為2,得到的序列是從開(kāi)始到結(jié)束每隔1個(gè)的元素序列。,比如還可以如下進(jìn)行使用: number0:10:3 1, 4, 7, 10 number2:6:3 3, 6 number2:5:3 3 number1:5:3 2, 5 對(duì)于一個(gè)正數(shù)步長(zhǎng),Python會(huì)從序列的頭部開(kāi)始向右提取元素,直到最后一個(gè)元素;而對(duì)于負(fù)數(shù)步長(zhǎng),則是從序列的尾部開(kāi)始向左提取元素,直到第一個(gè)元素。正數(shù)步長(zhǎng),必須讓開(kāi)始點(diǎn)小于結(jié)束點(diǎn);而負(fù)數(shù)步長(zhǎng),則必須讓開(kāi)始點(diǎn)大于結(jié)束點(diǎn)。,3.1.3 序列相加,通過(guò)使用加號(hào)可以進(jìn)行序列的連接操作,輸入如下: 1,2,3+4,5,6 1, 2, 3, 4, 5, 6 a=1,2 b=5,6

59、a+b 1, 2, 5, 6 s=hello, w=world s+w hello,world,數(shù)字序列可以和數(shù)字序列通過(guò)加號(hào)連接,連接后的結(jié)果還是數(shù)字序列,字符串序列也可以通過(guò)加號(hào)連接,連接后的結(jié)果還是字符串序列。那數(shù)字序列是否可以和字符序列相加呢?結(jié)果是怎樣的,是數(shù)字序列還是字符串序列?,輸入如下: 1,2+hello Traceback (most recent call last): File , line 1, in 1,2+hello TypeError: can only concatenate list (not str) to list type(1,2)# 取得1,2的類(lèi)型為list type(hello)# 取得hello的類(lèi)型為字符串 數(shù)字序列和字符串序列是不能通過(guò)加號(hào)連接的。 只有類(lè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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論