《Python大數(shù)據(jù)基礎與實戰(zhàn)》課件-Python大數(shù)據(jù)基礎與實戰(zhàn)(第2章 Python語言基礎)_第1頁
《Python大數(shù)據(jù)基礎與實戰(zhàn)》課件-Python大數(shù)據(jù)基礎與實戰(zhàn)(第2章 Python語言基礎)_第2頁
《Python大數(shù)據(jù)基礎與實戰(zhàn)》課件-Python大數(shù)據(jù)基礎與實戰(zhàn)(第2章 Python語言基礎)_第3頁
《Python大數(shù)據(jù)基礎與實戰(zhàn)》課件-Python大數(shù)據(jù)基礎與實戰(zhàn)(第2章 Python語言基礎)_第4頁
《Python大數(shù)據(jù)基礎與實戰(zhàn)》課件-Python大數(shù)據(jù)基礎與實戰(zhàn)(第2章 Python語言基礎)_第5頁
已閱讀5頁,還剩44頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章Python語言基礎2.5

表達式

2.4*

運算符2.2變量

2.6*

常用函數(shù)

2.3*

數(shù)據(jù)類型2.1標識符與關鍵字

2.7*Python程序結構

2.8*

基本輸入輸出2.1標識符和關鍵字2.1標識符與關鍵字1.

標識符標識符是編程語言中允許作為名字的有效字符串集合。在命名標識符的時候,要遵循如下命名規(guī)則:?標識符的第一個字符必須是字母或者下劃線_。?標識符可以由字母、下劃線_或數(shù)字組成。?標識符的語法基于UnicodestandardannexUAX-31,可以使用中文字符作為標識符。?標識符區(qū)分大小寫。?空格、跳格、換頁等字符被用來分隔標識符。標識符的長度不限。建議標識符不宜太長,否則不利于程序的編寫。禁止使用Python關鍵字(保留字)作為一般標識符。標識符可以被用作變量名、函數(shù)名、類名、模塊名等的命名。標識符建議使用有意義的名字,能夠體現(xiàn)其用途。注意:不建議使用系統(tǒng)內置的模塊名、類型名或函數(shù)名,以及已導入的模塊名及其成員名作為變量名。有效標識符名稱:i、_my_name、name_23、_、a1b2_c3、日期、年。無效標識符名稱:2things、thisisspacedout和$myname。2.1標識符與關鍵字2.1標識符與關鍵字2.關鍵字關鍵字是Python語言本身使用的標識符,被Python語言保留,每個關鍵字都有其特殊的意義。如果被用來作為標識符,會導致語法錯誤。表2-1Python中的關鍵字FalseTrueNoneandornotaswithfromimportwhileforincontinuebreaktryraisefinallyclassdefglobalnonlocaldelyieldexceptifelseelifpassreturnlambdaasyncassertawaitbreak2.2變量2.2變量1.對象和類型對象是Python語言中最基本的概念,在Python中處理的一切都是對象。對象是對數(shù)據(jù)的抽象,Python中所有的數(shù)據(jù)都被表示成對象,或者對象之間的關系,所有的數(shù)據(jù)以對象的形式存在。一串字符、一個數(shù)字或者一個集合都是對象,如:"helloworld"、2、42.56、{1,2,3}等。Python中有許多內置對象可供編程者直接使用,如數(shù)字、字符串、列表、集合以及內置函數(shù);非內置對象需要導入模塊后才能使用,如math模塊中的正弦函數(shù)sin(),random模塊中的隨機數(shù)產生函數(shù)random()等。2.2變量每個對象都有一個id、類型和值。通過內置函數(shù)type()來獲取對象的類型;id()函數(shù)獲取對象的id(內存地址);示例:>>>type(2) #整型類型<class'int'> #class表示類別>>>type(43.56) #浮點型<class'float'>>>>hex(id(2))#對象2的內存地址'0x7feedece370'2.2變量2.變量的創(chuàng)建

對象通常存放在變量中,變量是指向某個對象的名稱,是對象的命名。Python中的變量不同于C、C++、Java等語言中的變量。

Python是一種強類型語言,不需要事先聲明變量的類型(指向對象的類型),直接賦值即可創(chuàng)建各種類型的變量,變量類型會根據(jù)所賦值的類型自動推斷。另外,Python是動態(tài)類型語言,變量的類型是可以隨時變化的。>>>a=2 #整型賦值>>>a="Python" #字符串賦值變量的理解:?變量在第1次賦值時被創(chuàng)建,再次出現(xiàn)時直接使用。?變量沒有數(shù)據(jù)類型的概念。數(shù)據(jù)類型屬于對象,類型決定了對象在內存中的存儲方式和能夠進行的操作。例如,int類型上可以進行四則運算。?變量引用了對象。當在表達式中使用變量時,變量被其引用的對象替代。?變量在使用前,必須賦初值。Python中各種變量存儲的不是值,而是值的引用。注意:為了增加程序的運行效率,Python3以后的解釋器中實現(xiàn)了小數(shù)字和字符串緩存的機制,小數(shù)字的緩沖范圍是[-5~256]。2.2變量3.變量的刪除Python具有自動內存管理功能,對于沒有指向值的變量,Python會自動將其刪除。Python會跟蹤所有的變量,并自動刪除不再有指向值的變量。因此,Python程序員一般情況下不需要太多考慮內存的管理問題。通過顯式使用del命令,可以刪除不需要的變量,或者顯式關閉不再需要訪問的資源。>>>a=10>>>dela #刪除變量a>>>print(a)NameError:name'a'isnotdefined2.2變量2.3數(shù)據(jù)類型2.3數(shù)據(jù)類型數(shù)據(jù)類型不僅決定了對象在內存中的存儲方式,而且決定了可以在對象上附加的操作?;诓煌臄?shù)據(jù)類型,程序可以實現(xiàn)復雜的功能。

對象類型名稱實例對象類型名稱實例數(shù)字int、float、complex123,3.1415,3+4j集合set{"a","b","c"}字符串str"hello",'12','''語言'''元組tuple(1,2,3)字節(jié)串bytesb'\xd6\xd0\xb9\xfa'文件

fn=open("name.txt",'r')列表list[1,2,3],['a','b',['c','d']]布爾型boolTrue、False字典dict{1:'a',2:'b'}空類型NoneTypeNone2.3數(shù)據(jù)類型

數(shù)字(包括布爾型)、字符串和空類型稱為原子(標量)類型,它每次只能存儲單個對象類型。列表、元組、字典和集合是Python中的內置容器類型,容器是用來存放基本對象或者其它容器對象的一種類型,它可以容納多個對象類型。不同容器類型之間的最主要區(qū)別是單個元素的訪問方式以及運算符定義方式的不同。Python提供了對多種數(shù)據(jù)類型的強大支持,其中數(shù)字、字符串、列表、元組、字典、集合等稱為標準數(shù)據(jù)類型,其它的類型稱為內建類型。2.3數(shù)據(jù)類型Python支持四種基本數(shù)字類型,分別是整型、布爾型、浮點型、復數(shù)型,其中前兩種是整型類型。Python中的數(shù)字是無符號的,所有的數(shù)字不包括符號“-”,符號“-”被看做一元運算符“-”。浮點數(shù)由于表示方式的限制,在進行運算時很少返回精確的預期結果。

數(shù)字屬于Python的不可變對象,修改整型變量值的時候并不是真正修改變量的值,而是修改變量使其指向新值所在的內存地址。

為了增強數(shù)字的可讀性,可以在數(shù)字中間位置使用單個下劃線作為分隔。在Python中,數(shù)字類型變量所表示的范圍可以是無窮大,只要內存空間足夠。和其它語言一樣,Python也可以對數(shù)據(jù)類型進行等價轉換。2.3數(shù)據(jù)類型>>>a=-100 #注意-為一元運算符>>>b=8888_888_888_888_888_888 #使用_提高可讀性>>>c=b**5>>>print(c)55492895730664363466978272282341783947699029619468576944016528645701027959857718166268692103168

>>>isinstance(True,int) #測試True是否為int的實例True True等價于整數(shù)1,F(xiàn)alse等價于整數(shù)02.3數(shù)據(jù)類型>>>int('11',8) #八進制轉換成十進制9>>>bin(8) #內置函數(shù)bin()將整數(shù)轉換為對應的二進制字符串'0b1000'>>>oct(8) #內置函數(shù)oct()將整數(shù)轉換為對應的八進制字符串'0o10'>>>0.4-0.3 #浮點數(shù)運算時,由于舍入誤差而會略微偏離0.100000000000000032.4運算符2.4運算符

運算符是對操作數(shù)進行運算的符號。

Python中的運算符按照功能劃分為算術運算符、關系運算符、邏輯運算符、位運算符、身份測試運算符、成員測試運算符、矩陣相乘運算符和賦值運算符,按照操作數(shù)的個數(shù)分為單目運算符和雙目運算符。

2.4運算符1.

算術運算符算術運算符用于對操作數(shù)進行算術運算。運算符含義舉例運算符含義舉例+、-加法、減法(集合差集)2+3,10-5**冪運算2**3-相反數(shù)-6/除法(真除法)4/3*乘法2*3//求整商(向下取整)4//3%求余數(shù)、指定字符串格式5%22.4運算符>>>3.0/50.6>>>3//50>>>3.1%21.1>>>6.3%2.12.0999999999999996 #浮點數(shù)按照IEEE754規(guī)范存儲,有一定精度注意:Python不支持C語言中的自增(++)和自減(--)。2.4運算符不同數(shù)據(jù)類型在一起進行算術運算時,按照下面原則進行隱式類型轉換:?當有一個操作數(shù)的類型是復數(shù)時,其它數(shù)據(jù)都自動轉換成復數(shù)類型。?當有一個操作數(shù)的類型是小數(shù)時,其它數(shù)據(jù)都自動轉換成小數(shù)類型。?不支持數(shù)字和字符之間的隱式轉換。還可以使用內置函數(shù)進行顯式轉換,轉換時要保證類型要兼容,顯式轉換要丟失原數(shù)的精度。>>>a=3>>>d=10+20j>>>a=a+2.4

>>>int(d)>>>type(a)>>>float('98.6')<class'float'>98.62.4運算符2.邏輯運算符邏輯運算符用來對布爾值進行與、或、非等邏輯運算,運算最終結果是布爾值True和False。其中,“非”是單目運算符,布爾“與”和“或”為雙目運算符。邏輯運算符的操作數(shù)都應該是布爾值,如果是其它類型的值,應該能夠轉換為布爾值才能進行運算。

and:邏輯與;or:邏輯或;not:邏輯非。3.

關系運算符關系運算符包括:

值比較符(<、<=、>、>=、!=、==);身份比較符(is、isnot)和成員測試符(in、notin)。

值比較符比較兩個操作數(shù)的大小并返回一個布爾值(True、False),操作數(shù)可以是數(shù)字和字符串。

身份比較符用于比較兩個對象的內存位置是否相同,使用id()函數(shù)來確定。

成員測試符用于查找對象是否在列表、元組、字符串、集合和字典等序列數(shù)據(jù)中。2.4運算符2.4運算符>>>i=100>>>'5'notin'12345'>>>j=100False>>>iisjTruePython語言支持鏈式關系表達式,相當于多個表達式之間邏輯與的關系。>>>1<2<3 #等價于1<2and2<3True>>>2>=1>10 #等價于2>=1and1>10False2.4運算符4.位運算符位運算符將數(shù)字轉換成二進制數(shù)來進行運算,位運算符只能用于整型或字符串型數(shù)據(jù),不能用于浮點型數(shù)據(jù)。運算符含義舉例運算符含義舉例&按位與、集合交集2&3|按位或、集合并集2&6^按位異或、對稱差集2&6~按位取反~10<<按位左移3<<2>>按位右移3>>25.矩陣相乘運算符矩陣相乘運算符@用于矩陣的乘法運算,舉例如下:>>>importnumpyasnp #導入numpy庫>>>x=np.array([1,2,3]) #創(chuàng)建數(shù)組>>>y=np.array([[4,5,6],[7,8,9],[10,11,12]])>>>z=x@y #矩陣相乘>>>zarray([48,54,60])2.4運算符6.

賦值運算符賦值運算符分為簡單賦值運算符和增量賦值運算符。簡單賦值運算符是指“=”,而增量賦值運算符是指算術運算符、邏輯運算符、位運算符中的雙目運算符后面再加上“=”。

+=、-=、/=、//=、*=、**=、%=、<<=、>>=、&=、|=、^=;

=a+=10---->a=a+10

2.4運算符2.5表達式2.5表達式

表達式是變量、數(shù)字、運算符、函數(shù)、括號等構成的有意義組合體,表達式的返回值是一個單一的數(shù)字。在一個表達式中,Python會根據(jù)運算符的優(yōu)先級從低到高進行運算。

生成式>函數(shù)調用、下標、切片>算術運算符>位運算符>關系運算符>邏輯運算符>lambda表達式2.6常用函數(shù)2.6常用函數(shù)Python中的函數(shù)分為內置函數(shù)和模塊函數(shù)。1.內置函數(shù)內置函數(shù)(BIF,built-infunctions)是Python內置對象類型之一,不需要導入任何模塊即可使用一類函數(shù)。執(zhí)行dir(__builtins__)可以列出所有的內置函數(shù);使用help(函數(shù)名)可以查看某個函數(shù)的用法;abs(x):返回數(shù)字x的絕對值或復數(shù)x的模;bin(x)、oct(x)、hex(x):把整數(shù)x轉換為二進制、八進制、十六進制的表示形式bytes(x):把指定對象x轉換為字節(jié)串表示形式float(x):把整數(shù)或字符串x轉換為浮點數(shù);int(x[,d]):返回實數(shù)(float)、分數(shù)(Fraction)或高精度實數(shù)(Decimal)x的整數(shù)部分,或把d進制的字符串x轉換為十進制并返回,d默認為十進制;chr(x):返回Unicode編碼為x的字符;ord(x):返回1個字符x的Unicode編碼;isinstance(obj,type):測試對象obj是否屬于指定類型type;type(obj):返回對象obj的類型;max(x)、min(x):返回可迭代對象x中的最大值、最小值;len(obj):返回對象obj包含的元素個數(shù);2.6常用函數(shù)id(obj):返回對象obj的標識(內存地址);divmod(x,y):返回包含整商和余數(shù)的元組;enumerate(iterable[,start]):返回包含元素形式為(0,iterable[0]),(1,iterable[1])...的迭代器對象;eval(s):計算并返回字符串s中表達式的值;range([start,]end[,step]):返回range對象,其中包含左閉右開區(qū)間[start,end)內以step為步長的整數(shù),[start,end-1]map(func,*iterables):返回包含若干函數(shù)值的map對象,函數(shù)func的參數(shù)分別來自于iterables指定的每個迭代對象;2.6常用函數(shù)reversed(seq):返回seq中所有元素逆序后的迭代器對象;sorted(iterable,key=None,reverse=False):返回排序后的列表,其中iterable表示要排序的序列或迭代對象,key用來指定排序規(guī)則或依據(jù),reverse用來指定升序或降序,默認為升序。該函數(shù)不改變iterable內任何元素的順序;sum(x,start=0):返回序列x中所有元素之和;exit():退出當前解釋器環(huán)境;2.6常用函數(shù)2.

模塊函數(shù)1)math模塊math模塊提供了眾多功能強大的數(shù)學函數(shù),可以有效提高編程效率,使用這些函數(shù)時,需要使用importmath導入math模塊。importmathmath.sin(math.pi)math.gcd(8,4)math.trunc(13.9)math.pow(2,3)math.floor(-13.9)2.6常用函數(shù)2.6常用函數(shù)2).random模塊在編寫程序時,經(jīng)常需要提供一些隨機數(shù)據(jù)。大多數(shù)編程語言提供了生成偽隨機數(shù)的函數(shù),在Python中這類函數(shù)被封裝在random模塊中。函數(shù)名說明舉例random.random()返回[0.0,1.0]區(qū)間內的一個隨機小數(shù)random.random()返回0.9523521796999529random.uniform(a,b)返回[a,b]區(qū)間內的一個隨機小數(shù)random.uniform(1,3)返回2.3403540401554146random.randint(a,b)返回[a,b]區(qū)間內的一個隨機整數(shù)random.randint(1,3)返回2random.randrange([start],end,[step])返回[start,end)區(qū)間內的一個整數(shù),start和step默認都是1random.randrange(1,10)返回5random.choice()隨機返回給定序列中的一個元素random.choice(['a','b','c'])返回'c'random.shuffle(x,[random])將可變序列的所有元素隨機排列random.shuffle([1,2,3,4])返回[1,4,3,2]2.7Python程序基本結構2.7

程序基本結構Python程序由模塊構成,模塊中包含若干條語句,語句包含表達式。

1.物理行和邏輯行Python程序由若干邏輯行組成。物理行是在編寫程序時所看見的,而邏輯行是Python看見的單條語句,一個邏輯行可以包含多個物理行。Python中語句不能跨邏輯行,在遇到較長的語句時,可以使用語句續(xù)行符號,將一條語句寫在多行之中。Python中有兩種續(xù)行方式,一種是使用“\”符號,另外一種特殊的續(xù)行方式是在使用括號(包括圓括號()、方括號[]和大括號{})。2.語句分隔通常建議每行只寫一條語句,這樣代碼更加易讀。如果想要在一個物理行中使用多于一條邏輯語句,那么需要使用分號“;”來特別地標明這種用法,分號表示一個邏輯語句的結束。3.縮進在Python中行首的空白稱為縮進,邏輯行首的空白(空格或制表符)用來決定邏輯行的縮進層次,從而用來決定語句的分組。要求同一層次的語句必須有相同的縮進,每一組這樣的語句稱為一個代碼塊,錯誤的縮進會引發(fā)錯誤。2.7

程序基本結構4.注釋注釋用于為程序添加說明性的文字。Python解釋器在運行程序時,會忽略被注釋的內容。Python的注釋有單行注釋和多行注釋。

單行注釋以“#”開始,表示本行#之后的內容為注釋。單行注釋可以單獨占一行,也可以放在語句末尾。

多行注釋可以跨行,包含在一對三引號'''...'''或"""..."""之間且不屬于任何語句的內容將被解釋器認為是注釋。2.7

程序基本結構2.8基本輸入輸出

用Python進行程序設計,輸入是通過input()函數(shù)來實現(xiàn)的,輸出是通過print()函數(shù)來完成的。1.input函數(shù)input()的一般格式為:x=input(['提示'])該函數(shù)返回輸入的對象??奢斎霐?shù)字、字符串和其它任意類型的對象。input()函數(shù)用來接收用戶從鍵盤上的輸入,不論用戶輸入數(shù)據(jù)時使用什么界定符,input()函數(shù)的返回結果都是字符串,實際使用時需要將其轉換為相應的類型再進行處理。>>>x=input('Pleaseinput:')Pleaseinput:1y=int(x)*10>>>

溫馨提示

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

評論

0/150

提交評論