Python程序設計基礎教程(微課版) 課件 第2章 - Python語法基礎_第1頁
Python程序設計基礎教程(微課版) 課件 第2章 - Python語法基礎_第2頁
Python程序設計基礎教程(微課版) 課件 第2章 - Python語法基礎_第3頁
Python程序設計基礎教程(微課版) 課件 第2章 - Python語法基礎_第4頁
Python程序設計基礎教程(微課版) 課件 第2章 - Python語法基礎_第5頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Python程序設計第2章Python語法基礎學習目標識記Python語言格式框架識記基本要素語法規(guī)則理解動態(tài)類型與模塊知識目標能夠編寫符合Python風格的簡單程序能夠使用變量、表達式、基本輸入輸出進行簡單交互能力目標編程規(guī)范意識團隊協(xié)作的重要性日積月累的重要性情感態(tài)度與價值觀Python語言格式框架01020403運算符與表達式基本輸入輸出模塊的使用目

錄Python語言格式框架01020403運算符與表達式基本輸入輸出模塊的使用目

錄注釋、代碼塊與縮進保留關鍵字變量和常量數(shù)據(jù)類型解釋源代碼變量、函數(shù)等的作用復雜的算法邏輯提高可讀性、可維護性兩種注釋單行注釋多行注釋2.1.1注釋23獨占一行,或代碼之后1.單行注釋23#單行注釋文本#以下為矩形的參數(shù)rect_width=10#矩形的寬rect_height=15#矩形的高示例2-12.多行注釋24三個單引號對以上三種情況之外、解釋代碼用三個雙號對文檔字符串放在函數(shù)、類內(nèi)部,或文件開頭解釋函數(shù)、類、文件的用法或作用"""

注釋文本

注釋文本"""'''

注釋文本

注釋文本'''2.多行注釋24"""第二章的源代碼示例包括:注釋常量與變量運算符與表達式數(shù)據(jù)類型"""defsay_hello(name):"""作用:和傳入的對象說Hello參數(shù):name-打招呼的對象的名字"""print('Hello,',name)示例2-22.多行注釋24'''以下是可執(zhí)行語句,首先定義了一個變量n,存放了一個名字“張三”,然后調(diào)用了函數(shù)say_hello(),并將n作為打招呼的對象傳給了參數(shù)name'''n='張三'say_hello(n)示例2-2代碼塊:也稱“復合語句”作為單元執(zhí)行的代碼段,由一條或多條語句組成冒號+縮進:表示代碼塊的所屬關系2.1.2代碼塊與縮進24score=92ifscore>=90:print('優(yōu)秀')print('再接再厲,勇攀高峰!')print('程序結(jié)束')示例2-3冒號:屬于某結(jié)構(gòu)的代碼塊從下一行開始相同縮進量的語句組成代碼塊縮進量變化的語句脫離if代碼塊常用于選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)函數(shù)體、類體空行不會影響代碼塊的所屬關系縮進可使用4個空格(推薦),或tab鍵(不推薦)2.1.2代碼塊與縮進24縮進可以嵌套2.1.2代碼塊與縮進25weather='sunny'temperature=25

ifweather=='sunny':iftemperature>30:

print('今天很熱,記得帶傘和防曬霜。')else:

print('今天很適合外出,享受陽光吧!')

示例2-42.1.3保留關鍵字25Python保留關鍵字andasassertbreakclasscontinuedefdelelifelseexceptFalsefinallyforfromglobalifimportinislambdaNonenonlocalnotorpassraisereturnTruetrywhilewithyieldasyncawait程序的本質(zhì):加工數(shù)據(jù)(算法+數(shù)據(jù))Python對象:數(shù)據(jù)的載體類型值100:整數(shù)類型的一個對象'Hello':字符串類型的一個對象3.14:浮點數(shù)類型的一個對象2.1.4變量26Python變量:對象的引用(對象的“別名”)Python變量先定義、再使用某個變量名第一次出現(xiàn)時即為定義個新變量定義時要賦予初始值2.1.4變量26變量名=初始值name='張三'age=18apple_price=8.50示例2-5已定義的變量通過“=”可引用其他對象同一個變量可以引用不同類型的對象2.1.4變量26apple_price=8.50#高速優(yōu)惠,運輸成本降低,蘋果降價了apple_price=7.99示例2-6已定義的變量=新對象標識符:用來命名變量、函數(shù)、類、模塊和其他程序元素的名稱必須以字母(a-z,A-Z)或下劃線(_)開頭,后面可跟任意個數(shù)字、字母或下劃線大小寫敏感Python的保留關鍵字不能用作標識符避免與內(nèi)置或已導入的模塊名、函數(shù)名、對象名、類型名等重名變量命名遵循標識符命名規(guī)則2.1.4變量26Q:請判斷下列標識符的命名是否符合Python語法要求測一測var_Rabbit_car_no4logwhile推薦的命名方式以下劃線開頭的標識符在Python中有特殊含義不推薦使用漢字命名變量推薦使用有意義的單詞給標識符命名,多個單詞之間用下劃線連接is_enough、bottle_nums2.1.4變量26Python是強類型語言類型確定后,只能進行符合該類型約束的行為Python是動態(tài)類型語言無需顯式指定類型解釋器根據(jù)值自行判斷數(shù)據(jù)類型2.1.5數(shù)據(jù)類型27張三25歲2.5元/瓶4+2j2.1.5數(shù)據(jù)類型27數(shù)值類型int:表示整數(shù)數(shù)值,-100,0,2,99float:表示帶有小數(shù)部分的數(shù)值,-0.3,10.2complex:表示復數(shù)(實部和虛部),1+4jage=18temperature=36.4x=1+4j2.1.5數(shù)據(jù)類型27布爾類型(bool)表示邏輯值,有兩個取值:True:陳述成立,結(jié)果為真False:陳述不成立,結(jié)果為假用于選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)a=int(input('請輸入一個整數(shù):')result=(a%2==0)result=(a>100)2.1.5數(shù)據(jù)類型27數(shù)據(jù)容器包含一個或多個元素,每個元素都是獨立的數(shù)據(jù)提供對元素的各種操作,如增加元素、刪除元素、查找指定元素、排序等a='hello!'#a是一個字符串b=(1,-5,7)#b是一個元組c=[1,2,6]#c是一個列表d={'a','b','c'}#d是一個集合e={'right':4,'wrong':1}#e是一個字典、

2.1.5數(shù)據(jù)類型27空類型(NoneType)只有一個取值:None變量不指向任何值函數(shù)沒有明確的返回值#定義變量時但沒給它賦值,Python不會設置其值為Nonevarvar=None#錯誤!定義變量時必須給初始值!#但可以明確給變量賦值為None2.1.5數(shù)據(jù)類型27type():返回變量的實際類型type(變量)x=10print(type(x))#打印結(jié)果:<class'int'>示例2-72.1.5數(shù)據(jù)類型27Python中,通過內(nèi)置函數(shù)將一種類型的數(shù)據(jù),轉(zhuǎn)換成另一種類型的數(shù)據(jù)int():轉(zhuǎn)換為整數(shù)float():轉(zhuǎn)換為浮點數(shù)str():轉(zhuǎn)換為字符串bool():轉(zhuǎn)換為布爾值變量=轉(zhuǎn)換函數(shù)(變量)轉(zhuǎn)換數(shù)據(jù)類型2.1.5數(shù)據(jù)類型28#默認轉(zhuǎn)換為十進制,如需轉(zhuǎn)換為其他進制,可使用第2個參數(shù)指定#如int('F10',16)將字符串'F10'轉(zhuǎn)換為十六進制整數(shù)x=int('10')x=x+2s=str(x)

示例2-82.1.5數(shù)據(jù)類型28isinstance():測試對象是否為指定類型的實例,是返回True,不是則返回Falseisinstance(變量,類型名)x=10ifisinstance(x,str):print('是字符串')else:print('不是字符串')#打印結(jié)果:不是字符串示例2-92.1.6對象共享28變量B=變量A為變量A引用的對象創(chuàng)建了一個新的別名BA和B引用的是同一個對象a='Hello'b=ax=[1,2,3]y=xx[0]=0print(y)#打印結(jié)果:[0,2,3]示例2-10可變數(shù)據(jù)類型:通過一個變量所作的修改會反映在所有引用該對象的變量上2.1.6對象共享28id():返回一個對象的唯一標識符,是一個整數(shù),通常代表著該對象的地址id(變量或字面量)x=10y=10print('10的地址:',id(10))print('x的地址:',id(x))print('y的地址:',id(y))示例2-112.1.6對象共享29不可變對象:int、float、str、tuple等,存儲會進行優(yōu)化,兩個變量被賦予相同的值時,可能會讓它們引用同一個對象t1=(2,4,6)t2=(2,4,6)print('t1的地址:',id(t1))print('t2的地址:',id(t2))示例2-112.1.6對象共享(補充)Python提供小數(shù)據(jù)池對一些數(shù)據(jù)進行緩存,當程序引用這些數(shù)據(jù)時,不會創(chuàng)建新對象,而是引用小數(shù)據(jù)池里的對象,例如整數(shù)將緩存[-5,256]的整數(shù)避免頻繁創(chuàng)建和銷毀對象,提升效率2.1.6對象共享29可變對象:list、set、dict等,每個對象在內(nèi)存中都有獨立的存儲空間l1=[1,3,5]l2=[1,3,5]print('l1的地址:',id(l1))print('l2的地址:',id(l2))示例2-11下列代碼片段中,x和y地址一樣的是?測一測x=145y=145

x=145y=120.0

x={1,2,3}y={1,2,3}

x=y={1,2,3}

A.B.C.D.Python語言格式框架01020403運算符與表達式基本輸入輸出模塊的使用目

錄運算符與表達式020403基本輸入輸出模塊的使用目

錄Python語言格式框架01運算符表達式2.2.1運算符292.2.1運算符29%:求余數(shù)10%4:10除以4的余數(shù),結(jié)果為2**:冪運算10**4:10的4次方,結(jié)果為10000/和///:真實除,返回實際的結(jié)果,為浮點數(shù)//:整除,將商向下取整后返回,如果兩個操作數(shù)都是整數(shù)則返回整數(shù)部分,否則返回實數(shù)301.算術運算符/和///:真實除,返回實際的結(jié)果,為浮點數(shù)//:整除,將商向下取整后返回,如果兩個操作數(shù)都是整數(shù)則返回整數(shù)部分,否則返回實數(shù)301.算術運算符10.5/2.110/210/2.010.0/25.05.05.05.010.4/210.4//211/211//25.255.55.0Q:整型變量x中存放了一個兩位數(shù),如果要將其個位數(shù)與十位數(shù)互換,如“13”變成“31”,下列語句正確的是?測一測A:(x%10)//10+x//10

B:(x%10)*10+x//10

C:(x/10)%10+x//10

D:(x%10)*10+x%10

測一測A:c*d/(2*a*b)

B:c/2*d/a/bC:c*d/2*a*bD:c*d/2/a/b2.2.1運算符302.2.1運算符30對常量、變量或表達式的值進行比較比較成立返回True比較不成立返回False常用于選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的控制條件302.比較運算符a=int(input('請輸入第一個整數(shù):')b=int(input('請輸入第二個整數(shù):')print(a!=b)#由a和b的值,“a不等于b”成立嗎?302.比較運算符2.2.1運算符302.2.1運算符邏輯運算符對布爾值進行運算303.邏輯運算符運算符操作數(shù)取值not邏輯非1個notTrue:FalsenotFalse:Trueand邏輯與2個TrueandTrue:True其他:Falseor邏輯或2個FalseorFalse:False其他:True優(yōu)先級:not>and>or操作數(shù)通常是一個bool表達式或bool變量常用于將多個條件組合在一起以形成更復雜的條件303.邏輯運算符a=int(input('請輸入第一個整數(shù):')b=int(input('請輸入第二個整數(shù):')ifb!=0anda>b:print(a/b)Q:右方代碼的執(zhí)行結(jié)果是?x=Truey=Falsez=Falseprint(xoryandz)測一測A:true

B:TrueC:falseD:False2.2.1運算符302.2.1運算符30賦值運算符=:將右操作數(shù)的值賦予左操作數(shù)4.賦值運算符變量=字面量/變量/表達式/函數(shù)返回值a=100b=int(input('請輸入第二個整數(shù):')c=a+bd=c復合賦值運算第一步:先計算“變量

其他運算符

右操作數(shù)”的值第二步:將第一步的結(jié)果賦值給變量314.賦值運算符變量

其他運算符=右操作數(shù)a=100a+=100a=a+100復合賦值運算的左操作數(shù)必須先定義Python不允許在if、while語句中賦值Python不提供++、--運算符,用+=、-=替代完成x+=1x-=14.賦值運算符31序列賦值:=右邊的值依次賦值給左邊的變量4.賦值運算符31變量1,

變量2,

...,

變量N=初值1,

初值2,

...,

初值Na,b=10,5#定義變量a、b并賦值:a=10,b=5print(a,b)#打印結(jié)果:105a,b=b,a#序列賦值完成值交換:a=b,b=aprint(a,b)#打印結(jié)果:510示例2-122.2.1運算符312.2.1運算符31in:檢查一個數(shù)據(jù)是否存在于某個數(shù)據(jù)容器中存在:結(jié)果為True不存在:結(jié)果為False5.成員運算符in31fruits=['apple','banana','cherry']#列表print('apple'infruits)

#Trueprint('mange'infruits)

#False示例2-13notin:檢查一個數(shù)據(jù)是否不存在于某個數(shù)據(jù)容器中不存在:結(jié)果為True存在:結(jié)果為False5.成員運算符in31fruits=['apple','banana','cherry']#列表print('apple'notinfruits)

#Falseprint('mange'notinfruits)

#True示例2-132.2.1運算符312.2.1運算符31is:比較兩個操作數(shù)是否為同一個對象is比較的是對象的內(nèi)存地址==比較兩個對象的值是否相等326.身份運算符isa=1000b=ac=1000print(aisb)print(aisc)

a=[1,3,5]b=aprint(aisb)

a=[1,3,5]b=[1,3,5]print(aisb)print(a==b)

不可變類型若進行了優(yōu)化,相同值的變量引用的是同一個對象可變類型空間獨立——a、b不同對象a和b的值確實是一樣的a賦值給b,相當于a引用對象取新別名——a和b引用同一個對象2.2.1運算符322.2.1運算符32a=10327.位運算符運算符示例結(jié)果按位與&a&22按位或|a|210按位異或^a^28按位取反~a~2-11左移<<a<<240右移>>a>>22表達式:使用運算符將操作數(shù)組合在一起以形成值的計算過程算術表達式邏輯表達式比較表達式……用于實現(xiàn)各種計算和邏輯,包括但不限于數(shù)學計算、字符串處理、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)等2.2.2表達式332.2.2表達式33x=10#這是一個條件表達式,如果x大于5,則執(zhí)行if塊內(nèi)的代碼ifx>5:print('x大于5')示例2-17Q:數(shù)學關系式2<x≤10,Python表達式寫作?測一測A:2<x&&x<=10B:2<xandx<=10C:2<x<=10D:x>2orx<=10Python支持鏈式比較,隱式地按照邏輯與(and)評估該條件每天進步5‰一年后能達到什么狀態(tài)?每天退步5‰一年后還剩下多少?33不積跬步,無以至千里;不積小流,無以成江海?!盾髯印駥W》實戰(zhàn)2-1:跬步千里變量的使用:變量代替字面量數(shù)據(jù)使用更加靈活33實戰(zhàn)2-1:跬步千里#初始化變量power=1growth_rate=0.005#每天進步千分之五decline_rate=0.01#每天退步百分之一days=365#變化的天數(shù)參考代碼

33實戰(zhàn)2-1:跬步千里#計算進步情況final_growth=power*(1+growth_rate)**days#計算退步情況final_decline=power*(1-decline_rate)**days參考代碼輸出信息:print()33實戰(zhàn)2-1:跬步千里#輸出結(jié)果print('每天進步5‰一年后:',final_growth)print('每天退步1%一年后:',

final_decline)參考代碼Python語言格式框架01020403運算符與表達式基本輸入輸出模塊的使用目

錄基本輸入輸出0304模塊的使用目

錄Python語言格式框架0102運算符與表達式input()print()input():接收用戶輸入的數(shù)據(jù)程序暫停在input()這一行,等待用戶輸入用戶輸入數(shù)據(jù)、按下回車后,程序繼續(xù)執(zhí)行input()將輸入數(shù)據(jù)作為“字符串”返回,通過“=”存在變量中后續(xù)可通過該變量使用輸入數(shù)據(jù)“提示字符串”可選,用于提示需要輸入什么數(shù)據(jù)342.3.1input()變量=input([提示字符串])342.3.1input()s=input('請輸入一個整數(shù):')#假設輸入數(shù)據(jù):12

num=int(s)ifnum%2==0:print('偶數(shù)')else:print('奇數(shù)')示例2-17print():將數(shù)據(jù)打印在終端顯示打印字符串打印多個數(shù)據(jù)格式化輸出352.3.2print()打印字符串352.3.2print()print('Hello,Python!')#打印結(jié)果:Hello,Python!a='Good'b='day!'int(a+b)#打印結(jié)果:Goodday!示例2-18打印多個數(shù)據(jù)352.3.2print()name='張三'age=18print('我的名字是',name,age,'歲')示例2-19格式化輸出:處理待輸出字符串中不確定的數(shù)據(jù)時使用格式化字符串:顯示在終端的字符串,包含占位符占位符:特殊的格式化代碼,指定如何顯示數(shù)據(jù)%d:用于格式化整數(shù)類型的數(shù)據(jù)%f:用于格式化浮點數(shù)類型的數(shù)據(jù)%s:用于格式化字符串類型的數(shù)據(jù)352.3.2print()print(格式化字符串%格式化變量)格式化輸出352.3.2print()price=float(input('請輸入蛋糕單價:'))num=int(input('請輸入蛋糕個數(shù):'))payable=price*num#單價*個數(shù):計算應付金額print('蛋糕%.2f/個,共%d個'%(price,num))print('應支付:%.2f元'%payable)示例2-20設置特殊參數(shù),改變print()默認行為end:改變末尾自動輸出的結(jié)束符362.3.2print()print('Hello')print('World')print('Hello',end='')print('World')示例2-21設置特殊參數(shù),改變print()默認行為sep:改變打印多個數(shù)據(jù)時,默認添加的分隔符362.3.2print()name='張三'print('我的名字是',name)print('我的名字是',name,sep=':')示例2-22input()和print()的使用if語句的簡單應用36實戰(zhàn)2-2:文字西游歡迎界面input()和print()的使用37實戰(zhàn)2-2:文字西游歡迎界面#輸出歡迎信息和游戲介紹print("歡迎來到文字西游!")print("版本:1.0")print("這是一個用文字描述的西游冒險游戲,你將扮演一位英雄踏上西行之旅。")#提供開始游戲選項choice=input("請輸入'start'開始游戲,或輸入其他內(nèi)容退出:")參考代碼if語句的簡單應用37實戰(zhàn)2-2:文字西游歡迎界面#判斷玩家輸入ifchoice=='start':#獲取角色名字role_name=input('請輸入你的角色名字:')print('歡迎%s加入西游冒險!'%role_name)print('游戲正式開始!')else:print("感謝你的關注,期待下次與你相遇!")參考代碼Python語言格式框架01020403運算符與表達式基本輸入輸出模塊的使用目

錄模塊的使用04目

錄Python語言格式框架0102運算符與表達式03基本輸入輸出import關鍵字turtle庫模塊:一個包含Python代碼的文件包內(nèi)有多個代碼文件提供了定義好的變量、函數(shù)或類實現(xiàn)了一些特定的功能作用組織和管理代碼可重用易維護2.4模塊38內(nèi)置模塊time、math、os、sqlite3、……第三方模塊numpy、matplotlib、scrapy、……模塊“導入”才能使用關鍵字:import2.4模塊38導入模塊中所有的內(nèi)容通過“模塊名.”前綴使用其中的對象2.4模塊38import模塊名[as模塊別名]importmathr=2.0print(r**2*math.pi)示例2-23別名的作

溫馨提示

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

評論

0/150

提交評論