Python課件1第2章 Python語言基礎_第1頁
Python課件1第2章 Python語言基礎_第2頁
Python課件1第2章 Python語言基礎_第3頁
Python課件1第2章 Python語言基礎_第4頁
Python課件1第2章 Python語言基礎_第5頁
已閱讀5頁,還剩53頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第2章Python語言基礎目錄2.1常量2.2數據類型2.3變量2.4基本運算2.5常用系統函數2.6Python的幫助系統程序數據對數據的操作數據類型常量和變量基本運算常用函數2.1常量常量常量的值和含義不會被改變,總是表示它約定俗成的含義常量根據其書寫的格式,被Python自動判定為相應數據類型的對象,統一進行管理。51.23TrueFalse'Hello'None2.2數據類型Python中數據的類型數值(numbers)字符串(string)布爾類型(bool)基本數據類型列表(list)元組(tuple)字典(dictionary)集合(set)復合數據類型2.2.1數值類型可正可負,沒有小數點和小數部分,也沒有分數整數數值numbers帶小數的數值,可以是正數或負數浮點數形如z=a+bi的數,其中a稱為實部,b稱為虛部,i是虛數單位復數十進制整數19、-4、1234567十六進制整數(以0X或0x開頭)0X23、0xFF、-0x9CB2八進制整數(以0O或0o開頭)0o7、-0O1735、0o735二進制整數(以0B或0b開頭)0B101、-0B101010常規表示9.03、-1073.201科學記數法1073.201→1.073201E3E或e表示10的冪虛數單位用j表示5+6j、-3.7-9.45j2.2.2字符串一個字符串是一組字符的有序序列用單引號'或者雙引號"或者三引號('''或""")括起來的文本單引號'或者雙引號"或者三引號('''或""")被稱為字符串的定界符'a'"my"'''123'''"""hello"""2.2.2字符串一對定界符之間的字符可以是除本次定界符之外的任意其它英文字符、數字字符、漢字、中英文標點符號等>>>"I'mastudent!""I'mastudent!">>>'''你好'123'''"你好'123">>>'''abc'""123'''

#字符c后輸入了一個單引號和兩個雙引號'abc\'""123'轉義字符不能簡單的輸入并顯示的字符需要使用轉義字符轉義字符以反斜杠\開頭的一個字符序列例如:'abc\n123'中的\n表示換行符>>>print('abc\n123')abc123表2-1轉義字符及含義字符形式含義ASCII碼\n換行,將當前位置移到下一行開頭10\t水平制表(跳到下一個Tab位置)9\v垂直制表11\b退格,將當前位置移到前一列8\r回車,將當前位置移到本行開頭13\f換頁,將當前位置移到下頁開頭12\a響鈴報警7\\代表一個反斜杠字符\92\'代表一個單引號字符'。39\”代表一個雙引號字符"。34\ooo代表三位8進制數對應的字符。如\101表示字符A。

\xhh代表兩位16進制數對應的字符。如\x41表示字符A。

\uhhhh代表四位16進制數表示的Unicode字符。

原始字符串原始字符串中的\就是\,不是轉義字符>>>print(r'a\n2')a\n2>>>print('a\n2')a2字符串中換行三引號內的字符串可直接按回車鍵換行的,會形成一個\n字符單引號或雙引號內的字符在行末輸入一個\就可以換下一行輸入,但是不會形成\n字符。命令行末的\實為續行符>>>'''123456''''12\n34\n56'>>>'12\34''1234'2.2.3布爾類型布爾值通常用來表示判斷條件是否成立兩個值:True和False等價None、任何數值類型中的0、空字符串“”、空元組()、空列表[]、空字典{}、空集合等都可以被當作False。其他值則等價于True。>>>x[1,2,-100]>>>j=2>>>x[j]-100列表

列表是寫在方括號[]之間、用逗號分隔開的數據元素序列列表中數據元素的數據類型可以不相同,也可以嵌套列表是有序的,列表中的數據元素可重復,也可以被修改列表中的數據元素通過序號引用>>>[25,'Hi',-9.34,3+4j][25,'Hi',-9.34,(3+4j)]>>>x=[1,2,3]>>>x[2]=-100元組元組是寫在圓括號()之間、用逗號隔開的數據元素序列元組中的數據元素類型可以不同數據元素值不能修改、可重復、可嵌套元組是有序的對象集合。任何一組用逗號分隔的數據,會被系統默認為元組。>>>(10,20,30)(10,20,30)元組>>>s=3+7,9//2,'Y',True>>>s(10,4,'Y',True)>>>workday=('周一','周二','周三','周四','周五')>>>workday('周一','周二','周三','周四','周五')>>>workday[3]='Thursday'#元組中的數據元素值不能修改Traceback(mostrecentcalllast):File"<pyshell#45>",line1,in<module>workday[3]='Thursday'TypeError:'tuple'objectdoesnotsupportitemassignment字典

字典是寫在大括號{}之間、用逗號分隔的數據元素集合。字典中的數據元素由一對關鍵字和值組成,中間用分號:連接。字典中的元素通過關鍵字來存取,字典中關鍵字不可重復,值可以重復字典是無序的對象集合。>>>d={'name':'Mike',"age":12,'sal':5000}>>>d{'name':'Mike','age':12,'sal':5000}字典>>>d['age']#顯示字典d中關鍵字為age的值12>>>d['sal']=6000>>>d{'name':'Mike','age':12,'sal':6000}>>>d['bonus']=3000#增加了一個新元素'bonus':3000>>>d{'name':'Mike','age':12,'sal':6000,'bonus':3000}集合

集合是寫在大括號{}之間、用逗號分隔的數據元素集合。集合中的數據元素是無序的、不重復的集合的數據元素可以添加、刪除。>>>s1={'Jim','Mike','Mary','Tom','Jim'}>>>s1{'Jim','Tom','Mary','Mike'}2.3變量對象123>>>a=3.012456創建了一個float類型的對象3.012456創建了一個名為a的變量(變量a其實也是一個對象)將變量a與float類型的對象3.012456相連接變量a引用float類型對象3.012456或稱:a被賦值為3.012456(傳統說法)對象對象是指將一組數據和與這組數據有關的操作組裝在一起,形成的一個整體a=3.012456a是一個變量對象3.012456是一個數據對象數據對象分為兩種:可變數據對象和不可變數據對象標識符123Mycomputer_01標識符用來標識一個變量、函數、類、模塊或其他對象的名稱可用的符號有英文字母、漢字、數字或下畫線第1個字符不能是數字45對大小寫敏感有一些標識符有固定含義和作用,被稱為關鍵字或保留字變量變量是對對象內存空間的引用在代碼中使用變量名就是使用被指向的數據,即變量代表被引用的數據。變量的引用是能改變的,即變量可變。數據類型變量引用不可變數據類型>>>x=3>>>x3>>>x=6>>>x6

不可變數據類型整數int實數float復數complex字符串string元組tuple變量名引用數據對象x36數據類型變量引用可變數據類型通過變量改變可變數據類型的值,它們之間的引用關系不變,但存儲數據的內存空間里的東西或內存空間大小會發生變化可變數據類型列表list字典dict集合set單獨的下畫線(_)交互環境下,單獨的下畫線(_)是一個特殊變量,用于表示上一次運算的結果。例如:>>>100100>>>_+20120id函數>>>x=3>>>x3>>>id(x)1618018832>>>id(3)1618018832格式:id(obj)>>>x=6>>>x6>>>id(x)1618018928返回obj對象的內存地址2.4基本運算2.4.1算術運算正值+負值-加法+減法-乘法*實除/乘方**求余%整除//>>>b=100>>>a=-b>>>a-100>>>a=+b>>>a100>>>a+b200>>>a-b0>>>a*22002.4.1算術運算正值+負值-加法+減法-乘法*實除/乘方**求余%整除//>>>4/70.5714285714285714>>>6.1/0.5,6/3(12.2,2.0)>>>6/0.5,6.1/5(12.0,1.22)>>>4//70>>>6.1//0.5,6//3(12.0,2)>>>6//0.5,6.1//5(12.0,1.0)>>>4%74>>>6.1%0.5,6%3(0.09999999999999964,0)>>>6%0.5,6.1%5(0.0,1.0999999999999996)2.4.1算術運算正值+負值-加法+減法-乘法*實除/乘方**求余%整除//>>>6%5,-6%-5(1,-1)>>>-6%5,6%-5(4,-4)>>>7.1%3,-7.1%-3(1.0999999999999996,-1.0999999999999996)>>>-7.1%3,7.1%-3(1.9000000000000004,-1.9000000000000004)2.4.1算術運算正值+負值-加法+減法-乘法*實除/乘方**求余%整除//>>>-2**4-16>>>2*3/3**20.6666666666666666浮點數的計算誤差所有數據是二進制形式存儲的,在二進制和十進制相互轉換后,就會有很微小的誤差產生>>>x=2.3>>>x-1.30.9999999999999998>>>x-1.3==1#運算符==用于判斷兩個數是否相等False

#結果為False,表示x-1.3不等于1>>>-7.1%31.9000000000000004浮點數的相等判斷(1)可以看a-b的絕對值是否小于一個極小值。例如:>>>a=1.3>>>b=2.3-1>>>abs(a-b)<1e-10#內置函數abs求參數的絕對值True(2)使用math庫中的isclose()函數。>>>importmath>>>1.11+12.1100000000000003>>>math.isclose(2.11,1.11+1)True2.4.2位運算*按位與&按位或|按位異或^按位取反~按位左移<<按位右移>>位運算只能針對整數>>>17&135,8&209,97&-7,-67&97(1,0,97,33)開始介紹位運算前,先學習內置函數bin()bin函數可以查看整數的二進位bin函數用bin看到的二進制碼都是整數的原碼值,且正數不顯示符號位>>>bin(17),bin(135),bin(-7),bin(-67)#Python不能顯示負數的補碼形態('0b10001','0b10000111','-0b111','-0b1000011')巧用全1的二進制與負數按位與來查看負數的補碼值>>>c=-67#-67的16位補碼是1111111110111101>>>bin(c&0b1111111111111111)'0b1111111110111101'2.4.2位運算*按位與&按位或|按位異或^按位取反~按位左移<<按位右移>>按位與運算符&,對參與運算的兩個值,如果兩數二進制形式的相應位都為1,則該位的結果為1,否則為0。>>>a=17 #17的8位二進制補碼是00010001>>>bin(a)'0b10001'>>>b=135 #135的8位二進制補碼是10000111>>>bin(b)'0b10000111'>>>a&b #1的8位二進制補碼是0000000112.4.2位運算*>>>allone=0b11111111 #255的8位二進制補碼是11111111>>>a=-67 #-67的8位二進制補碼是10111101>>>bin(a&allone)'0b10111101'>>>b=97 #97的8位二進制補碼是01100001>>>bin(b)'0b1100001'>>>c=a&b #a&b的8位二進制補碼是00100001>>>c33>>>bin(c&allone)'0b100001'2.4.2位運算*按位或|按位或運算符|,對參與運算的兩個值,如果兩數二進制形式的相應位的兩個二進位有一個為1時,結果位就為1。>>>a=-67 #-67的8位二進制補碼是10111101>>>b=97 #97的8位二進制補碼是01100001>>>c=a|b>>>c #-3的8位二進制補碼是11111101-3>>>allone=0b11111111>>>bin(c&allone)'0b11111101'按位與&按位異或^按位取反~按位左移<<按位右移>>2.4.2位運算*按位異或^按位或|按位取反~按位左移<<按位右移>>按位異或運算符^,對參與運算的兩個值,如果兩數二進制形式的相應位的兩個二進位相異時,結果為1。>>>a=-67 #-67的8位二進制補碼是10111101>>>b=97 #97的8位二進制補碼是01100001>>>c=a^b>>>c #-36的8位二進制補碼是11111101-36>>>allone=0b11111111>>>bin(c&allone)'0b11011100'按位與&2.4.2位運算*按位取反~按位取反運算符~,對運算數的每個二進制位取反,即把1變為0,把0變為1。>>>a=-67 #-67的8位二進制補碼是10111101>>>c=~a>>>c #66的8位二進制補碼是0100001066>>>bin(c&allone)'0b1000010'按位與&按位異或^按位左移<<按位右移>>按位或|2.4.2位運算*按位左移<<按位或|按位取反~按位右移>>左移運算符<<,將第一個運算數的全部二進位左移若干位,移動的位數由“<<”右邊的數指定,低位則補0。>>>a=17 #17的8位二進制補碼是00010001>>>c=a<<2>>>c #68的8位二進制補碼0100010068>>>bin(c&allone)'0b1000100'按位與&按位異或^2.4.2位運算*按位左移>>按位取反運算符~,對運算數的每個二進制位取反,即把1變為0,把0變為1。>>>a=17 #17的8位二進制補碼是00010001>>>c=a>>2>>>c #4的8位二進制補碼000001004>>>bin(c&allone)'0b100'按位與&按位異或^按位左移<<按位或|按位取反~2.4.3運算優先級優先級高的先算,優先級低的后算。圓括號()的優先級最高。運算符優先級從高到低見右表。運算符說明**乘方(最高優先級)。~+-按位翻轉,一元加號和減號。*/%//乘,除,取模,取整除。+-加法,減法。>><<右移,左移運算符。&按位與。^按位異或。|按位或。isnotisinnotin<=<>>===!=身份運算符,成員運算符。比較運算符。not邏輯非。and邏輯與。or邏輯或。2.5常用系統函數2.5.1常用內置函數內置函數包含在模塊builtins中內置函數可以直接調用,不需要使用import命令引用庫abs()all()any()ascii()bin()bool()bytearray()bytes()callable()chr()classmethod()compile()complex()copyright()credits()delattr()dict()dir()divmod()enumerate()eval()exec()exit()filter()float()format()frozenset()getattr()globals()hasattr()hash()help()hex()id()input()int()isinstance()issubclass()iter()len()license()list()locals()map()max()memoryview()min()next()object()oct()open()ord()pow()print()property()quit()range()repr()reversed()round()set()setattr()slice()sorted()staticmethod()str()sum()super()tuple()type()vars()zip()

2.5.2常用庫函數標準庫第三方庫引用庫中的內容之前,必須先導入庫隨編譯環境一起安裝的可復用代碼標準庫里往往包含常量、類和函數導入Python社區中,數量眾多的可復用代碼導入庫(1)——import語句>>>importtime,randomasr>>>time.sleep(3) #程序休眠3秒>>>r.randint(1,10) #生成一個1到10之間的隨機整數import模塊1[as別名1][,模塊2[as別名2][,...模塊N[as別名N]]]調用被引用模塊中的函數時,引用格式如下:格式1:模塊名.函數名(參數)格式2:別名.函數名(參數)導入庫(2)——

from…import語句>>

溫馨提示

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

評論

0/150

提交評論