




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Python程序設計第1頁,共55頁。2Python的基本元素第章第2頁,共55頁。 對于標準的Python語言,數據結構是通過某種方式(例如對元素進行編號)組織在一起的數據元素的集合,這些元素可以是數字、字符串等,甚至可以是其他的數據結構-元祖、列表、字典和集合,本章將詳細介紹Python的基本的元素。前言第3頁,共55頁。本章內容2.1 字符串2.2 布爾類型2.3 數字類型2.4 元組2.5 列表2.6 字典2.7 集合2.8 數據轉換2.9 本章總結第4頁,共55頁。2.1 字符串字符串一個單個字符的字符串的序列。通過將一系列字符用單引號或雙引號(或)括起來創建字符串。Python的字
2、符串是不可變的,程序員無法對原字符串進行修改,但可以將字符串的一部分復制到新的字符串。#!/usr/bin/pythonvar1=hello worldvar2=”Python Runoob”print(var1=,var1)print(var2=,var2)第5頁,共55頁。2.1.1字符串的輸入輸出函數input( )從標準輸入讀取字符串用法:ans=input(prompt),其中ans存放返回值,prompt為提示符, 表示提示符可以省略,有返回值,返回值為字符型,返回值為從標注輸入讀入的字符串。函數print( )將輸入內容直接輸出到標準輸出上輸出整數、浮點數、字符型,第6頁,共55
3、頁。2.1.2訪問字符串中的值Python不支持單字符類型,單字符也在Python也是作為一個字符串使用。Python訪問子字符串,可以使用方括號來截取字符串,截取字符串的索引從0開始,代碼見如下所示:#!/usr/bin/pythonvar1 = Hello World!var2 = Python Runoobprint (var10: , var10)print( var21:5: , var21:5)第7頁,共55頁。2.1.3字符串更新程序員可以對已存在的字符串進行修改,并賦值給另一個變量,字符串更新代碼如下:#!/usr/bin/python# -*- coding: UTF-8 -
4、*-var1 = Hello World!print (更新字符串 :- , var1:6 + Runoob!)第8頁,共55頁。2.1.4轉義字符轉義字符描述(在行尾時)續行符反斜杠符號單引號雙引號a響鈴b退格(Backspace)e轉義000空n換行v縱向制表符t橫向制表符r回車f換頁oyy八進制數,yy代表的字符,例如:o12代表換行xyy十六進制數,yy代表的字符,例如:x0a代表換行other其它的字符以普通格式輸出第9頁,共55頁。2.1.5字符串運算符操作符描述實例+字符串連接a + b HelloPython*重復輸出字符串a * 2 HelloHello通過索引獲取字符串中字
5、符a1 e : 截取字符串中的一部分a1:4 ellin成員運算符 - 如果字符串中包含給定的字符返回 TrueH in a Truenot in成員運算符 - 如果字符串中不包含給定的字符返回 TrueM not in a Truer/R原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思來使用,沒有轉義特殊或不能打印的字符。 原始字符串除在字符串的第一個引號前加上字母r(可以大小寫)以外,與普通字符串有著幾乎完全相同的語法。print rn n print Rn n%格式字符串 print (format(0.12345,9.2%)第10頁,共55頁。2.1.6字符串格式化符號描
6、述%c格式化字符及其ASCII碼%s格式化字符串%d格式化整數%u格式化無符號整型%o格式化無符號八進制數%x格式化無符號十六進制數%X格式化無符號十六進制數(大寫)%f格式化浮點數字,可指定小數點后的精度%e用科學計數法格式化浮點數%E作用同%e,用科學計數法格式化浮點數%g%f和%e的簡寫%G%f 和 %E 的簡寫第11頁,共55頁。2.1.7Unicode 字符串在字符串前面添加一個字符u即可,控制臺代碼及執行結果如下所示。 uHello World !Hello World !第12頁,共55頁。2.1.8字符串常見操作字符串的方法非常豐富,因為字符串是從string模塊中繼承了很多方
7、法。本部分將重點選擇幾個重要方法進行描述。1.joinjoin方法是非常重要的字符串方法,它是split方法的逆方法,用來在隊列中添加元素,代碼如下所示。sep=+seq=1,2,3,4,5sep.join(seq)1+2+3+4+5第13頁,共55頁。2.1.8字符串常見操作2.replacereplace方法返回某字符串的所有匹配項均被替換后得到字符串,控制臺代碼如下所示,在下例中通過replace方法直接將are替換為is。How are you?.replace(are,is)How is you?第14頁,共55頁。2.1.8字符串常見操作3.splitsplit是一個非常重要的字符
8、串方法,它是join的逆方法,用來將字符串分割成序列,代碼如下所示,在下例中通過replace方法直接將“are”替換為“is”。How are you?.split ( )How,are,you/usr/sbin/html.split(/) ,usr,sbin,htmlHow are you?.split ()How,are,you第15頁,共55頁。本章內容2.1 字符串2.2 布爾類型2.3 數字類型2.4 元組2.5 列表2.6 字典2.7 集合2.8 數據轉換2.9 本章總結第16頁,共55頁。2.2 布爾類型Python支持布爾類型的數據,布爾類型有True和False兩種值,盡管
9、布爾類型簡單只有兩種值,但是布爾類型卻包括三種運算與運算、或運算和非運算。第17頁,共55頁。2.2.1與運算如果所有操作數為True,則邏輯與運算符返回布爾值True,否則為False。在Python編程語言中,與運算即為只要在與運算中所有的布爾值都為 True 時,計算結果則為 True,其他的情況都為False,【例2-2】如下。【例2-2】與運算的操作,并打印輸出。#!/usr/bin/pythonprint(True and True) # = Trueprint(True and False) # = Falseprint(False and True) # = Falseprin
10、t(False and False) # = False第18頁,共55頁。2.2.2或運算如果一個操作數或多個操作數為True,則邏輯或運算符返回布爾值True;只有全部操作數為False,結果才是False。在Python編程語言中,或運算即為只要有一個布爾值為 True,計算結果則為True,其他情況都為False,【例2-3】如下。【例2-3】或運算的操作,并打印輸出。#!/usr/bin/python print(True or True) # = Trueprint(True or False) # = Trueprint(False or True) # = Trueprint(
11、False or False) # = False第19頁,共55頁。2.2.3非運算非運算即把True變為False,或者把False變為True,代碼如下:#!/usr/bin/pythonprint(not True) # = Falseprint(not False) # = True第20頁,共55頁。本章內容2.1 字符串2.2 布爾類型2.3 數字類型2.4 元組2.5 列表2.6 字典2.7 集合2.8 數據轉換2.9 本章總結第21頁,共55頁。2.3數字類型整數整數又包括一般整數(固定精度整數類型)、長整數(無窮精度整數類型),普通整數不能大于2147483647(也不能小
12、于-2147483647),如果真的需要大數,可以使用長整數。長整數書寫方法和普通整數一樣,但是結尾有個L,整數主要有四種表現形式:2進制:以0b開頭。例如:0b11011表示10進制的278進制:以0o開頭。例如:0o33表示10進制的2710進制:正常顯示16進制:以0 x開頭。例如:0 x1b表示10進制的27第22頁,共55頁。2.3數字類型浮點數浮點數也被稱為浮點型數字,它由整數部分和小數部分組成,浮點數也可以使用科學計數法表示(2.5e2 = 2.5 x 102 = 250)。浮點數用來存儲計算機中的小數,與現實世界中的十進制小數不同的是,浮點數通過二進制的形式來表示一個小數。默認
13、 float 類型存儲雙精度(double)浮點數,可表達 16 到 17 個小數位。數字轉換:將整數或字符串轉換為浮點數很簡單,且能自動處理字符串內正負符號和空白符。只是超出有效精度時,結果與字符串內容存在差異。反過來,將浮點數轉換為整數時,有多種不同方案可供選擇。可截掉(int, trunc) 小數部分,或分別往大(ceil)、小(floor) 方向取臨近整數。第23頁,共55頁。本章內容2.1 字符串2.2 布爾類型2.3 數字類型2.4 元組2.5 列表2.6 字典2.7 集合2.8 數據轉換2.9 本章總結第24頁,共55頁。2.4元組元組和列表是近親,列表允許并且提供了一些方法來改
14、變它的值,但元組是不可改變的,即不允許程序員改變它的值-這也是它沒有方法的部分原因。元組使用小括號,列表使用方括號,元組創建很簡單,只需要在括號中添加元素,并使用逗號隔開即可。元組與字符串類似,下標索引從0開始,可以進行截取、組合等,創建元組控制臺代碼代碼如下所示。1,2,3(1,2,3)第25頁,共55頁。2.4.1訪問元組通常采用下標索引來訪問元組中的值,如下【例2-4】所示。【例2-4】采用下標索引訪問元組,并打印輸出。#!/usr/bin/pythontup1 = (physics, chemistry, 1997, 2000);tup2 = (1, 2, 3, 4, 5, 6, 7
15、);print( tup10: , tup10)print (tup21:5: , tup21:5)第26頁,共55頁。2.4.2修改元組元組中的元素值是不允許修改的,這是元組特有的特性,但程序員可以對元組進行連接組合,如下【例2-5】所示。【例2-5】元組的元素值不允許修改,可以通過連接組合,并打印輸出。#!/usr/bin/python# -*- coding: UTF-8 -*-tup1 = (12, 34.56);tup2 = (abc, xyz);# 以下修改元組元素操作是非法的。tup10 = 100;# 創建一個新的元組tup3 = tup1 + tup2;print(tup3)
16、;第27頁,共55頁。2.4.3刪除元組和修改元組中的值類似,元組中的元素值也是不允許刪除的,但編程人員可以使用del語句來刪除整個元組,如下【例2-6】所示。【例2-6】采用del語句刪除元組,并打印輸出。#!/usr/bin/pythontup = (physics, chemistry, 1997, 2000);print(tup);del tup;print (After deleting tup : )print (tup);第28頁,共55頁。2.4.4元組運算符表達式結果描述len(1, 2, 3)3計算元素個數(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4,
17、5, 6)連接(Hi!,) * 4(Hi!, Hi!, Hi!, Hi!)復制3 in (1, 2, 3)True元素是否存在for x in (1, 2, 3): print x,1 2 3迭代第29頁,共55頁。2.4.5元組索引與截取表達式結果描述L2SPAM!讀取第三個元素L-2Spam反向讀取;讀取倒數第二個元素L1:(Spam, SPAM!)截取元素第30頁,共55頁。本章內容2.1 字符串2.2 布爾類型2.3 數字類型2.4 元組2.5 列表2.6 字典2.7 集合2.8 數據轉換2.9 本章總結第31頁,共55頁。2.5列表列表是一個任意類型的對象的位置相關的有序集合,沒有固
18、定的大小。它可以作為一個方括號內的逗號分隔值出現。列表的數據項不需要具有相同的類型,創建一個列表,只要把逗號分隔的不同的數據項使用方括號括起來即可。如下【例2-7】所示。【例2-7】創建三個列表,并打印輸出。#!/usr/bin/pythonlist1 = physics, chemistry, 1997, 2000;list2 = 1, 2, 3, 4, 5 ;list3 = a, b, c, d;print(list1) ;print(list2);print(list3);第32頁,共55頁。2.5.1列表的訪問訪問列表通過使用下標索引來進行列表中的值的訪問,同樣也可以采用方括號的形式截
19、取字符進行訪問,如下【例2-8】所示:【例2-8】采用下表索引訪問列表,并打印輸出。#!/usr/bin/pythonlist1 = physics, chemistry, 1997, 2000;list2 = 1, 2, 3, 4, 5, 6, 7 ;print(list10: , list10)print(list21:5: , list21:5)第33頁,共55頁。2.5.2更新列表程序員可以對列表的數據項進行修改或更新,也可以采用append()方法來添加列表的數據項,如下【例2-9】所示。【例2-9】對列表數據項直接修改,并打印輸出。#!/usr/bin/pythonlist = p
20、hysics, chemistry, 1997, 2000;print (Value available at index 2 : )print (list2);list2 = 2001;print (New value available at index 2 : )print (list2);第34頁,共55頁。2.5.3刪除列表元素列表元素的刪除可以采用del 語句來刪除該列表的中指定的元素,如下【例2-10】所示。【例2-10】對列表元素直接刪除,并打印輸出。#!/usr/bin/pythonlist1 = physics, chemistry, 1997, 2000;print (l
21、ist1);del list12;print (After deleting value at index 2 : )print (list1);第35頁,共55頁。2.5.4列表腳本操作符表達式結果描述len(1, 2, 3)3長度len(1, 2, 3)3長度1, 2, 3 + 4, 5, 61, 2, 3, 4, 5, 6組合Hi! * 4Hi!, Hi!, Hi!, Hi!重復3 in 1, 2, 3True元素是否存在于列表中for x in 1, 2, 3: print x,1 2 3迭代第36頁,共55頁。2.5.5列表截取表達式結果描述L2Taobao讀取列表中第三個元素L-2
22、Runoob讀取列表中倒數第二個元素L1:Runoob, Taobao從第二個元素開始截取列表第37頁,共55頁。2.5.6Python列表函數&方法序號函數描述1cmp(list1, list2)比較兩個列表的元素2len(list)列表元素個數3max(list)返回列表元素最大值4min(list)返回列表元素最小值5list(seq)將元組轉換為列表第38頁,共55頁。2.5.6Python列表函數&方法序號方法描述1list.append(obj)在列表末尾添加新的對象2list.count(obj)統計某個元素在列表中出現的次數3list.extend(seq)在列表末尾一次性追加
23、另一個序列中的多個值(用新列表擴展原來的列表)4list.index(obj)從列表中找出某個值第一個匹配項的索引位置5list.insert(index, obj)將對象插入列表6list.pop(obj=list-1)移除列表中的一個元素(默認最后一個元素),并且返回該元素的值7list.remove(obj)移除列表中某個值的第一個匹配項8list.reverse()反向列表中元素第39頁,共55頁。本章內容2.1 字符串2.2 布爾類型2.3 數字類型2.4 元組2.5 列表2.6 字典2.7 集合2.8 數據轉換2.9 本章總結第40頁,共55頁。2.6字典字典是Python里唯一的
24、映射類型,是一個其他對象的集合,不是序列,和序列完全不同。字典是可變的、無序的、大小可變的鍵值映射,也稱為散列表或關聯數組。字典是另一種可變容器模型,且可存儲任意類型對象。字典的每個鍵值(key=value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號()中 ,格式如下所示:d = key1 : value1, key2 : value2 鍵必須是唯一的,但值則不必。值可以取任何數據類型,但鍵必須是不可變的,如字符串,數字或元組。一個簡單的字典代碼如下:#!/usr/bin/python dict1 = Alice: 2341, Beth: 9102, Cecil: 3
25、258, Hello: 3258print(dict1)第41頁,共55頁。2.6.1訪問字典里的值字典訪問是通過將相應的鍵放入熟悉的方括弧來訪問字典里的值,【例2-12】如下所示。【例2-12】通過鍵值訪問字典的內容,并打印輸出。#!/usr/bin/python dict = Name: Zara, Age: 7, Class: First; print(dictName: , dictName); print( dictAge: , dictAge);第42頁,共55頁。2.6.2修改字典向字典添加新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對,【例2-14】所示。【例2-14】
26、增加新的鍵/值對添加字典內容,并打印輸出。#!/usr/bin/python dict = Name: Zara, Age: 7, Class: First; dictAge = 8; # update existing entry dictSchool = DPS School; # Add new entry print(dictAge: , dictAge); print (dictSchool: , dictSchool);第43頁,共55頁。2.6.3刪除字典元素Python語言中的字段元素有時候需要編程人員刪除,編程人員能夠刪除單一的元素也能清空字典,清空只需一項操作。顯示刪除一個
27、字典用del命令,【例2-15】如下。【例2-15】采用del命令刪除字典中某內容,采用clear()命令清空字典,并打印輸出。#!/usr/bin/python # -*- coding: UTF-8 -*- dict = Name: Zara, Age: 7, Class: First; del dictName; # 刪除鍵是Name的條目 dict.clear(); # 清空詞典所有條目 del dict ; # 刪除詞典 print (dictAge: , dictAge);print (dictSchool: , dictSchool);第44頁,共55頁。2.6.4字典鍵的特性字
28、典值可以沒有限制地取任何Python對象,既可以是標準的對象,也可以是用戶定義的,但鍵不行。兩個重要的關鍵點需要記住:1)不允許同一個鍵出現兩次。創建時如果同一個鍵被賦值兩次,后一個值會被記住2)鍵必須不可變,所以可以用數字,字符串或元組充當,但是用列表則不行,代碼如下:第45頁,共55頁。2.6.5常用的方法序號函數描述1dic.clear()清空字典2dic.copy()復制字典3dic.get(k)獲得鍵k的值4dic.has_key(k)是否包含鍵k5dic.keys()獲得鍵的列表6dic.pop(k)刪除鍵k7dic.update()更新成員(用另一個字典更新字典)8dic.val
29、ues()獲得值的列表第46頁,共55頁。本章內容2.1 字符串2.2 布爾類型2.3 數字類型2.4 元組2.5 列表2.6 字典2.7 集合2.8 數據轉換2.9 本章總結第47頁,共55頁。2.7集合集合是一個無序不重復元素的集,支持數學的集合運算,集合可以通過表達式操作符支持一般的數學集合運算。基本功能包括關系測試和消除重復元素。集合對象還支持union(聯合), intersection(交), difference(差)和sysmmetric difference(對稱差集)等數學運算。第48頁,共55頁。2.7.1創建集合通過大括號或set()函數可以用來創建集合。【例2-16】
30、所示。【例2-16】通過大括號和set()函數可以用來創建集合,并打印輸出。#!/usr/bin/python a=a,b,c,d b=set(abcdefabcd) c=set(a:1,b:2) d=set(a,b,c,a) print(a,type(a) print(b,type(b) print(c,type(c) print(d,type(d) 第49頁,共55頁。2.7.2集合運算1子集、真子集set的運算對應于真子集,對應于真包含,=對應于包含,對應的內置函數是issuperset()3不相交集isdisjoint()4兩集合的交集 set 的交集的運算符號是&,內置函數是inte
31、rsection()5兩集合的并集set 并集的運算符號是| ,內置函數是union()6差集(減法)運算用減號表示,內置函數是difference()7對稱差集(異或)運算異或的符號()表示,內置函數為symmetric_difference()第50頁,共55頁。2.7.3集合的基本操作序號函數描述1s.add()添加某元素,參數為元素本身2s.clear()清空集合3s.discard()如果集合中無元素,不報錯;有元素,就刪除4s.pop()隨機刪除集合中的某個元素,取到元素后返回元素的值,s.pop()不能加目標元素,故頻率略低5s.remove()刪除目標元素,但集合中如無元素,會報錯6s.differen
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論