中職電子與信息:yhon編程入門-基礎語法詳解_第1頁
中職電子與信息:yhon編程入門-基礎語法詳解_第2頁
中職電子與信息:yhon編程入門-基礎語法詳解_第3頁
中職電子與信息:yhon編程入門-基礎語法詳解_第4頁
中職電子與信息:yhon編程入門-基礎語法詳解_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Python編程入門基礎語法詳解一、基本概念L內置的變量類型:Python是有變量類型的,而且會強制檢查變量類型。內置的變量類型有如下幾種:#浮點float_number=2.3#復數(shù)complex_number=1+5j#整型integer_number=1#list序列samplejist=[2,52,36/abc']#嵌套sample_nest=[(2A6)/{5:7/9:ll;key,:[2,5]}76]#dictionary字典sample_dic={"key'^value,5:10}#tuple只讀的序列sample_tuple=(3,9,"ab")從上面的示例可以看出,python的變量無需聲明,可直接給變量賦值。2.字符串score=int(score)if(score>=90)and(score<=100):print"A"elif(score>=80)and(score<90):print"B"elif(score>=60)and(score<80):print"C"else:printnDnraw_input()讀取輸入值。fpython13if語句的嵌套編寫條件語句時,應該盡量避免使用嵌套語句。嵌套語句不便于閱讀,而且可能會忽略一些可能性。X=-1y=99if(x>=0):if(x>0):#嵌套的if語句y=ielse:y=0else:y=-1Print"y=",yL4實現(xiàn)switch語句的功能python中沒有switch特殊字,Python可以通過字典實現(xiàn)switch語句的功能。實現(xiàn)方法分兩步。首先,定義一個字典。字典是由鍵值對組成的集合。其次,調用字典的get()獲取相應的表達式。from_future_importdivisiony=2operator=7"result={"+":x+y,:x-y,:x*y,V":x/y)printresult.get(operator)輸出為0.5;另一種使用switch分支語句的方案是創(chuàng)建一個switch類,處理程序的流程。a)創(chuàng)建一個switch類,該類繼承自Python的祖先類object調用構造函數(shù)init()初始化需要匹配的字符串,并需要定義兩個成員變量value和fall。Value用于存放需要匹配的字符串,fall用于記錄是否匹配成功,初始值為false,標識匹配不成功。如果匹配成功,程序往后執(zhí)行。b)定義一個match()方法,該方法用于用于匹配case子句。這里需要考慮三種情況首先是匹配成功的情況,其次是匹配失敗的默認case子句,最后是case子句中沒有使用break中斷的情況。c)重寫_iter_()方法,定義該方法后才能使switch類用于循環(huán)語句中。_iter_()調用match()方法進行匹配。通過yield保留字,使函數(shù)可以在循環(huán)中迭代。此外,調用Stopiteration異常中斷循環(huán)。d)編寫調用代碼,在for...in…循環(huán)中使用switch類。#!/usr/bin/python#coding:UTF-8classswitch(object):def_init_(selfzvalue):#初始化需要匹配的值valueself.value=valueself.fall=False#如果匹配到的case語句中沒有break,則fall為true。def_iter_(self):yieldself.match#調用match方法返回一個生成器raiseStopiteration#Stopiteration異常來判斷for循環(huán)是否結束defmatch(self,*args):#模擬case子句的方法ifself.fallornotargs:#如果fall為true,則繼續(xù)執(zhí)行下面的case子句#或case子句沒有匹配項,則流轉到默認分支。returnTrueelifself.valueinargs:#匹配成功self.fall=TruereturnTrueelse:#匹配失敗returnFalseoperator="+”X=1y=2forcaseinswitch(operator):#switch只能用于forin循環(huán)中ifcase('+'):printx+ybreakifcase('-'):printx-ybreakifcase('*'):printx*ybreakifcase(7,):printx/ybreakifcase():#默認分支print"".while…語句只要在一個條件為真的情況下,while語句允許你重復執(zhí)行一塊語句。while語句是所謂循環(huán)語句的一個例子。while語句有一個可選的else從句。whileTrue:passelse:pass#else語句可選,當while為False時,else語句被執(zhí)行。pass是空語句。.for■循環(huán)foriinrange(0,5):printielse:pass#打印0到4注:當for循環(huán)結束后執(zhí)行else語句;range(a,b)返回一個序列,從a開始到b為止,但不包括b,range默認步長為1,可以指定步長,range(0,10,2);四、函數(shù)函數(shù)通過def定義。def關鍵字后跟函數(shù)的標識符名稱,然后跟一對圓括號,括號之內可以包含一些變量名,該行以冒號結尾;接下來是一塊語句,即函數(shù)體。defsumOf(azb):returna+b局部變量在函數(shù)內定義的變量與函數(shù)外具有相同名稱的其他變量沒有任何關系,即變量名稱對于函數(shù)來說是局部的。這稱為變量的作用域。global語句,為定義在函數(shù)外的變量賦值時使用global語句。deffunc():globalxprint"xis"zxx=1x=3func()printx以上代碼,輸出的結果為:3默認參數(shù)通過使用默認參數(shù)可以使函數(shù)的一些參數(shù)是‘可選的’。defsay(msgztimes=1):printmsg*timessayCpeter")say("peternz3)注意:只有在形參表末尾的那些參數(shù)可以有默認參數(shù)值,即不能在聲明函數(shù)形參的時候,先聲明有默認值的形參而后聲明沒有默認值的形參,只是因為賦給形參的值是根據(jù)位置而賦值的。關鍵參數(shù)如果某個函數(shù)有很多參數(shù),而現(xiàn)在只想指定其中的部分,那么可以通過命名為這些參數(shù)賦值(稱為‘關鍵參數(shù)’)o優(yōu)點:不必擔心參數(shù)的順序,使函數(shù)變的更加簡單;假設其他參數(shù)都有默認值,可以只給我們想要的那些參數(shù)賦值。deffunc(a,b=2zc=3):print"ais%s,bis%srcis%s"%(a,b,c)func(l)#輸出ais1,bis2Zcis3func(lz5)#輸出ais1,bis5Zcis3func(l,c=10)#輸出ais1,bis2,cis10func(c=20,a=30)#輸出ais30,bis2Zcis20return語句return語句用來從一個函數(shù)返回,即跳出函數(shù)??蓮暮瘮?shù)返回一個值。沒有返回值的return語句等價于returnNoneoNone表示沒有任何東西的特殊類型。python中聲明一個字符串通常有三種方法,:“"和“山,這三種方法在聲明普通字符串時的效果是完全一樣的,區(qū)別在于字符串本身中存在引號的情況,舉例如下:word='good'sentence=nhelloworld"paragraph="'goodnoon:Hnicetomeetyou.""'python中單行注釋采用#開頭。#!/usr/bin/python#Firstcommentprint"Hello,world!";#secondcomment上述內容輸出:hello,Python!o注釋可以在語句或表達式行末。多行注釋可采用三引號,比如:“Thisisacomment.Thisisacomment,too.Thisisacomment,too.Isaidthatalready.111轉義符自然字符串,通過在字符串前加r或R。如r"thisisalinewith"則會顯示,并不是換行。python允許處理unicode字符串,加前綴u或U,如u"thisisanunicodestring"o.Python標識符在python里,標識符有字母、數(shù)字、下劃線組成。在python中,所有標識符可以包括英文、數(shù)字以及下劃線(_),但不能以數(shù)字開頭。python中的標識符是區(qū)分大小寫的。以下劃線開頭的標識符是有特殊意義的。以單下劃線開頭(_f。。)的代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,不能用"fromxxximport*"而導入;以雙下劃線開頭的(_f。。)代表類的私有成員;以雙下劃線開頭和結尾的(_foo_)代表python里特殊方法專用的標識,如_init_()代表類的構造函數(shù)。.Python保留字符下面的列表顯示了在Python中的保留字。這些保留字不能用作常數(shù)或變數(shù),或任何其他標識符名稱。所有Python的關鍵字只包含小寫字母。andexecnot.assertfinallyorbreakforfromprintcontinueglobalraisedefifreturntryelifinwhileelseiswithexcept.行和縮進學習Python與其他語言最大的區(qū)別就是,Python的代碼塊不使用大括號({})來控制類,函數(shù)以及其他邏輯判斷。python最具特色的就是用縮進來寫模塊??s進的空白數(shù)量是可變的,但是所有代碼塊語句必須包含相同的縮進空白數(shù)量,這個必須嚴格執(zhí)行。如下所示:ifTrue:print"True"else:print"False"上述,if與else的縮進空白數(shù)量相同。以下代碼將會報錯:ifTrue:print"Answer"print"True"else:print"Answer”print"False"python中分號;標識一個邏輯行的結束,但是實際中一般每個物理行只寫一個邏輯行,可以避免使用分號。這樣書寫便于閱讀。注意:不要混合使用空格和制表符來縮進,因為在跨越不同的平臺時無法正常工作。多個物理行中可以寫一個邏輯行,使用行連接符,如下:s="peteriswritingthisarticle11二.運算符與表達式1.運算符與其用法運名說明例干算稱符加兩個對象才助D3+第8。將20。屆得到負教或是一個翻贏去另一個數(shù)22得到一個負數(shù)。50?24得到26.篥兩個數(shù)相集或是返回一個囪f復若干次的字符串2?3得到6Jia-3得到,⑶a,?!癕返回x的y;欠第3“4得到81(即3?3?3?3)/除滁以y4/3存到1(整數(shù)的除法得到整數(shù)結果)。40/3或4/3。得到1.3333333333333333//?返回商的整數(shù)郃分4030得到1.0整%取返回除法的余數(shù)8%晌到2.?255%22劑到15?左把一個數(shù)的比特向左移一定數(shù)目《毋個數(shù)在內存中2?第到82按比特表示為W移都裊示為比特或二進制數(shù)字,即0和1〉?右把一個數(shù)的比特向右移一定數(shù)目11?1得到511按比特表示為1013向右移動1比特后得到1移0L即十進制的5.&按數(shù)的技位與5&然?到。位—’[與I按翎安位或5|騎到7.;:I按㈱安位或513得到7。位或A按數(shù)的按位異或5A3得到6位擇1或~按冷放位糕專是代1)2得到6.位髭小返回x是否小于心所有比較運算符返回俅示凡5<3返回0《即False)而3<5返回1(即True),比較可以被任意于返回昧示假.這分別與特殊的變量True和False等連接:3?5?7返回True。價?注意,這些受疊名的大寫。"大返回碇否大于y5>3返回Twe.如黑兩個操作敬都是勃字,它們首先掰專換為一個于共同躡型。否則,它總是返回False。=小返回是否小于等于yx=3:y=6;xeyi§回True.于:等于三大返回連否大于等于y爐4:y=3:x>=他回True.于等于==等比較對象是否相等x=2;y=2;x==值回True,x='stry='stR>;x==想回False.于x='sir;y='$tR*.x=二值回False。x-str,y=r$tr;x==朋回True.1°不比較兩個對象是否不梯?x=2:y=3.x!=yigOTrue^答于not布如果砧True,返回False。如果昉False,它返回x=True;noty返回False。爾“非”True。an布如果的False,xandy返回False,否則它返回y的x=False:y=True;xand由于x是Id爾"與"計算值。Python不會計算y,因為它知道

溫馨提示

  • 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

提交評論