python基礎(chǔ)教程之簡(jiǎn)單入門(mén)說(shuō)明(變量和控制語(yǔ)言使用方法)
來(lái)源:易賢網(wǎng) 閱讀:1246 次 日期:2014-05-19 21:03:56
溫馨提示:易賢網(wǎng)小編為您整理了“python基礎(chǔ)教程之簡(jiǎn)單入門(mén)說(shuō)明(變量和控制語(yǔ)言使用方法)”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了開(kāi)始學(xué)習(xí)python的第一步需要知道的知識(shí)(變量和控制語(yǔ)言使用方法),需要的朋友可以參考下

簡(jiǎn)介

有興趣可以看看:解釋性語(yǔ)言+動(dòng)態(tài)類型語(yǔ)言+強(qiáng)類型語(yǔ)言交互模式:(主要拿來(lái)試驗(yàn),可以試試ipython)

代碼如下:

$python

>>>print'helloworld'

腳本

代碼如下:

#!/usr/bin/envpython

print'helloworld'環(huán)境:建議python2.7+easy_install+pip+virtualenv+ipython縮進(jìn)

Python函數(shù)沒(méi)有明顯的begin和end,沒(méi)有標(biāo)明函數(shù)的開(kāi)始和結(jié)束的花括號(hào)。唯一的分隔符是一個(gè)冒號(hào)(:),接著代碼本身是縮進(jìn)的。例子:

代碼如下:

#函數(shù)

deffunc(value):

printvalue#縮進(jìn)ifvalue==1:

value+=1

elifvalue==2:

pass

else:

value+=10標(biāo)識(shí)符

變量是標(biāo)識(shí)符的例子。標(biāo)識(shí)符是用來(lái)標(biāo)識(shí)某樣?xùn)|西的名字。在命名標(biāo)識(shí)符的時(shí)候,你要遵循這些規(guī)則:1.python中的標(biāo)識(shí)符是區(qū)分大小寫(xiě)的。2.標(biāo)示符以字母或下劃線開(kāi)頭,可包括字母,下劃線和數(shù)字,大小寫(xiě)敏感3.以下劃線開(kāi)頭的標(biāo)識(shí)符是有特殊意義的。以單下劃線開(kāi)頭(_foo)的代表不能直接訪問(wèn)的類屬性,需通過(guò)類提供的接口進(jìn)行訪問(wèn),不能用“fromxxximport*”而導(dǎo)入;

以雙下劃線開(kāi)頭的(__foo)代表類的私有成員;

以雙下劃線開(kāi)頭和結(jié)尾的(foo)代表python里特殊方法專用的標(biāo)識(shí),如init()代表類的構(gòu)造函數(shù)。4.標(biāo)識(shí)符不能是保留字

代碼如下:

andelifglobaloryield

assertelseifpass

breakexceptimportprint

classexecinraise

continuefinallyisreturn

defforlambdatry

delfromnotwhile

變量賦值語(yǔ)句1、賦值語(yǔ)句建立對(duì)象引用值

2、變量名在首次賦值時(shí)會(huì)被建立

3、變量名在引用前必須先賦值,不能引用未聲明賦值的變量

賦值方式簡(jiǎn)單賦值

Variable(變量)=Value(值)

代碼如下:

s=‘spam'

多變量賦值python中原始的元組和列表賦值語(yǔ)句形成,最后已被通用化,以接受右側(cè)可以是是任何類型的序列,只要長(zhǎng)度相等即可。注意,長(zhǎng)度一定相等

Variable1,variable2,...=Value1,Value2,...

代碼如下:

s,h=‘a(chǎn)','b'元組賦值,位置性【常用】

[s,h]=[‘a(chǎn)','b']列表賦值,位置性

a,b,c,d=‘spam'序列賦值,通用性

a,*b=‘spam'拓展序列解包(python3)

多目標(biāo)賦值

代碼如下:

a=b=variables=h=‘spam'多目標(biāo)賦值

注意:多個(gè)變量?jī)?nèi)存中指向同一對(duì)象,對(duì)于可變類型需要,修改一個(gè)會(huì)對(duì)其他造成影響自變賦值

代碼如下:

如+=,-=,*=等。在自變賦值中,python僅計(jì)算一次,而普通寫(xiě)法需計(jì)算兩次;自變賦值會(huì)修改原始對(duì)象,而不是創(chuàng)建一個(gè)新對(duì)象。

代碼如下:

s+=42增強(qiáng)賦值

x+=y

優(yōu)點(diǎn):

代碼如下:

左側(cè)只需計(jì)算一次,優(yōu)化技術(shù)自動(dòng)原處修改,更快

l+=[]原處修改

l=l+[]復(fù)制,生成新的對(duì)象

運(yùn)算符

一個(gè)表達(dá)式可以分解為運(yùn)算符和操作數(shù)運(yùn)算符的功能是完成某件事,它們由如+這樣的符號(hào)或者其他特定的關(guān)鍵字表示運(yùn)算符需要數(shù)據(jù)來(lái)進(jìn)行運(yùn)算,這樣的數(shù)據(jù)被稱為操作數(shù)運(yùn)算符優(yōu)先順序列表(從最高到最低)

代碼如下:

運(yùn)算符描述

'expr'字符串轉(zhuǎn)換

{key:expr,...}字典

[expr1,expr2...]列表

(expr1,expr2,...)元組

function(expr,...)函數(shù)調(diào)用

x[index:index]切片

x[index]下標(biāo)索引取值

x.attribute屬性引用

~x按位取反

+x,-x正,負(fù)

x**y冪

x*y,x/y,x%y乘,除,取模

x+y,x-y加,減

x<<y,x>>y移位

x&y按位與

x^y按位異或

x|y按位或

x<y,x<=y,x==y,x!=y,x>=y,x>y比較

xisy,xisnoty等同測(cè)試

xiny,xnotiny成員判斷

notx邏輯否

xandy邏輯與

xory邏輯或

lambdaarg,...:exprLambda匿名函數(shù)

結(jié)合規(guī)律運(yùn)算符通常由左向右結(jié)合,即具有相同優(yōu)先級(jí)的運(yùn)算符按照從左向右的順序計(jì)算計(jì)算順序默認(rèn)地,運(yùn)算符優(yōu)先級(jí)表決定了哪個(gè)運(yùn)算符在別的運(yùn)算符之前計(jì)算。然而,如果你想要改變它們的計(jì)算順序,你得使用圓括號(hào)。好的做法:默認(rèn)對(duì)復(fù)雜的運(yùn)算加括號(hào),而不是依賴于默認(rèn)結(jié)合和計(jì)算順序真值

真值測(cè)試1、任何非零數(shù)字或非空對(duì)象都為真

2、數(shù)字零,空對(duì)象以及特殊對(duì)象None都為假

3、比較和相等測(cè)試都會(huì)遞歸地運(yùn)用到數(shù)據(jù)結(jié)構(gòu)中

4、比較和相等測(cè)試會(huì)返回True或False

真值表

代碼如下:

對(duì)象/常量值

""假

"string"真

0假

2>=1真

-2<=-1真

()空元組假

[]空列表假

{}空字典假

None假

布爾表達(dá)式

三種布爾表達(dá)式運(yùn)算符

代碼如下:

xandy

xory

notx

比較

數(shù)字通過(guò)相對(duì)大小進(jìn)行比較

字符串時(shí)按照字典順序的,一個(gè)字符一個(gè)字符比較

列表和元組從左到右對(duì)每部分的內(nèi)容進(jìn)行比較

字典通過(guò)排序后的鍵值列表進(jìn)行比較

數(shù)字混合類型比較在python3是錯(cuò)誤的,但是python2.6支持,固定但任意的排序規(guī)則布爾數(shù)

有兩個(gè)永遠(yuǎn)不改變的值True,F(xiàn)alse

布爾是整型的子類,但不能被再繼承

沒(méi)有nonzero()方法的對(duì)象的默認(rèn)值是True

對(duì)于值為0的任何數(shù)字或空集,值False

在數(shù)學(xué)運(yùn)算中,Bollean值的True和False分別對(duì)應(yīng)于1和0

基本控制流if

基本的條件測(cè)試語(yǔ)句,用來(lái)判斷可能遇到的不同情況,并針對(duì)不同的情況進(jìn)行操作基本形式

代碼如下:

if<條件>:

<語(yǔ)句>

elif<條件>:

<語(yǔ)句>

else:

<語(yǔ)句>注意python根據(jù)縮進(jìn)判斷,elif和else部分是可選的例子:

代碼如下:

a=1

b=2

c=3;d=4#兩個(gè)放一句用分號(hào)隔開(kāi),不過(guò)建議分行ifa<bandc<d:

print("brancha")

elifa==b:

print("branchb")

else:

print("branchc")

switchpython本身沒(méi)有switch語(yǔ)句,若需要,用if/elif/else實(shí)現(xiàn)完成同樣的工作,某些情況可以考慮用字典也可以用dict的形式if/else三元運(yùn)算符

代碼如下:

A=((XandY)orZ)

A=YifXelseZ

例:a=‘t'ifxelse‘a(chǎn)'

[code]for基本語(yǔ)法循環(huán)控制語(yǔ)句,可以用于循環(huán)遍歷某一序列else塊可選,在循環(huán)終止的時(shí)候執(zhí)行,若是break終止循環(huán),else不執(zhí)行格式:

[code]

for<對(duì)象變量>in<對(duì)象集合>:

if<條件>:

break

if<條件>:

continue

<其他語(yǔ)句>

else:

<其他語(yǔ)句>注意:1.對(duì)象集合可以是列表,字典以及元組等

2.for..in循環(huán)對(duì)于任何序列都適用

3.for遍歷一個(gè)字典時(shí),遍歷的是字典的鍵

代碼如下:

rang&xrange

可以通過(guò)range()函數(shù)產(chǎn)生一個(gè)整數(shù)列表,完成計(jì)數(shù)循環(huán)

代碼如下:

range([start,]stop[,step])

start可選參數(shù),起始數(shù)

stop終止數(shù),若為x,產(chǎn)生從0-(x-1)的整數(shù)列表

step可選參數(shù),步長(zhǎng),未寫(xiě)默認(rèn)為1

range(1,5)包含序列為[1,2,3,4]xrange和range區(qū)別(python3.x的可無(wú)視)在Range的方法中,它會(huì)生成一個(gè)list的對(duì)象,但是在XRange中,它生成的卻是一個(gè)xrange的對(duì)象,當(dāng)返回的東西不是很大的時(shí)候,或者在一個(gè)循環(huán)里,基本上都是從頭查到底的情況下,這兩個(gè)方法的效率差不多。但是,當(dāng)返回的東西很大,或者循環(huán)中常常會(huì)被Break出來(lái)的話,還是建議使用XRange,這樣既省空間,又會(huì)提高效率。

代碼如下:

>>>printrange(1,5)

[1,2,3,4]

>>>printxrange(1,5)

xrange(1,5)

在上面語(yǔ)句中,range返回了一個(gè)普通List,而xrange返回了一個(gè)特定的xrange類型的對(duì)象。由于xrange方法也創(chuàng)建整數(shù)list(其使用相同參數(shù)),所以它與range方法非常相似。但是,xrange方法僅在需要時(shí)才在list中創(chuàng)建整數(shù)。當(dāng)需要迭代大量整數(shù)時(shí),xrange方法更適用,因?yàn)樗粫?huì)創(chuàng)建極大的list,那樣會(huì)消耗大量計(jì)算機(jī)內(nèi)存。while與if語(yǔ)句類似,含一個(gè)條件測(cè)試語(yǔ)句,循環(huán),允許重復(fù)執(zhí)行一個(gè)語(yǔ)句塊??蛇xelse語(yǔ)句塊,同for的else塊。格式:

代碼如下:

while<條件>:

if<條件>:

break

if<條件>:

continue

<其他語(yǔ)句>

else:

<語(yǔ)句>

說(shuō)明:while循環(huán)條件變?yōu)镕alse的時(shí)候,else塊才被執(zhí)行

若是使用break結(jié)束循環(huán),while可選的else塊不執(zhí)行

python沒(méi)有dowhile或dountil循環(huán)語(yǔ)句

break&continue&pass

break,終止循環(huán)語(yǔ)句,停止循環(huán),若是for/while循環(huán)中終止,其else不執(zhí)行continue,結(jié)束當(dāng)前,進(jìn)入下一輪循環(huán)-跳到最近所在循環(huán)的開(kāi)頭處(來(lái)到循環(huán)首行)pass什么事也不做,只是空占位語(yǔ)句,它用于那些語(yǔ)法上必須要有什么語(yǔ)句,但程序什么也不做的場(chǎng)合循環(huán)else塊:只有循環(huán)正常離開(kāi)時(shí)才會(huì)執(zhí)行,即如果你從for或while循環(huán)中break終止,任何對(duì)應(yīng)的循環(huán)else塊將不執(zhí)行。記住,break語(yǔ)句也可以在for循環(huán)中使用其他編寫(xiě)循環(huán)的技巧:

在迭代過(guò)程中修改迭代序列不安全(只有在使用鏈表這樣的可變序列時(shí)才會(huì)有這樣的情況)。如果你想要修改你迭代的序列(例如,復(fù)制選擇項(xiàng)),你可以迭代它的復(fù)本。使用切割標(biāo)識(shí)就可以很方便的做到這一點(diǎn)>>>代碼如下:forxina[:]:#makeaslicecopyoftheentirelist

...iflen(x)>6:a.insert(0,x)在字典中循環(huán)時(shí),關(guān)鍵字和對(duì)應(yīng)的值可以使用iteritems()方法同時(shí)解讀出來(lái)

代碼如下:

>>>knights={'gallahad':'thepure','robin':'thebrave'}

>>>fork,vinknights.iteritems():

...printk,v

...

gallahadthepure

robinthebrave在序列中循環(huán)時(shí),索引位置和對(duì)應(yīng)值可以使用enumerate()函數(shù)同時(shí)得到。

代碼如下:

>>>fori,vinenumerate(['tic','tac','toe']):

...printi,v

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看腳本欄目
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)