python基礎教程之簡單入門說明(變量和控制語言使用方法)
來源:易賢網 閱讀:1406 次 日期:2014-05-19 21:03:56
溫馨提示:易賢網小編為您整理了“python基礎教程之簡單入門說明(變量和控制語言使用方法)”,方便廣大網友查閱!

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

簡介

有興趣可以看看:解釋性語言+動態類型語言+強類型語言交互模式:(主要拿來試驗,可以試試ipython)

代碼如下:

$python

>>>print'helloworld'

腳本

代碼如下:

#!/usr/bin/envpython

print'helloworld'環境:建議python2.7+easy_install+pip+virtualenv+ipython縮進

Python函數沒有明顯的begin和end,沒有標明函數的開始和結束的花括號。唯一的分隔符是一個冒號(:),接著代碼本身是縮進的。例子:

代碼如下:

#函數

deffunc(value):

printvalue#縮進ifvalue==1:

value+=1

elifvalue==2:

pass

else:

value+=10標識符

變量是標識符的例子。標識符是用來標識某樣東西的名字。在命名標識符的時候,你要遵循這些規則:1.python中的標識符是區分大小寫的。2.標示符以字母或下劃線開頭,可包括字母,下劃線和數字,大小寫敏感3.以下劃線開頭的標識符是有特殊意義的。以單下劃線開頭(_foo)的代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,不能用“fromxxximport*”而導入;

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

以雙下劃線開頭和結尾的(foo)代表python里特殊方法專用的標識,如init()代表類的構造函數。4.標識符不能是保留字

代碼如下:

andelifglobaloryield

assertelseifpass

breakexceptimportprint

classexecinraise

continuefinallyisreturn

defforlambdatry

delfromnotwhile

變量賦值語句1、賦值語句建立對象引用值

2、變量名在首次賦值時會被建立

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

賦值方式簡單賦值

Variable(變量)=Value(值)

代碼如下:

s=‘spam'

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

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

代碼如下:

s,h=‘a','b'元組賦值,位置性【常用】

[s,h]=[‘a','b']列表賦值,位置性

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

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

多目標賦值

代碼如下:

a=b=variables=h=‘spam'多目標賦值

注意:多個變量內存中指向同一對象,對于可變類型需要,修改一個會對其他造成影響自變賦值

代碼如下:

如+=,-=,*=等。在自變賦值中,python僅計算一次,而普通寫法需計算兩次;自變賦值會修改原始對象,而不是創建一個新對象。

代碼如下:

s+=42增強賦值

x+=y

優點:

代碼如下:

左側只需計算一次,優化技術自動原處修改,更快

l+=[]原處修改

l=l+[]復制,生成新的對象

運算符

一個表達式可以分解為運算符和操作數運算符的功能是完成某件事,它們由如+這樣的符號或者其他特定的關鍵字表示運算符需要數據來進行運算,這樣的數據被稱為操作數運算符優先順序列表(從最高到最低)

代碼如下:

運算符描述

'expr'字符串轉換

{key:expr,...}字典

[expr1,expr2...]列表

(expr1,expr2,...)元組

function(expr,...)函數調用

x[index:index]切片

x[index]下標索引取值

x.attribute屬性引用

~x按位取反

+x,-x正,負

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等同測試

xiny,xnotiny成員判斷

notx邏輯否

xandy邏輯與

xory邏輯或

lambdaarg,...:exprLambda匿名函數

結合規律運算符通常由左向右結合,即具有相同優先級的運算符按照從左向右的順序計算計算順序默認地,運算符優先級表決定了哪個運算符在別的運算符之前計算。然而,如果你想要改變它們的計算順序,你得使用圓括號。好的做法:默認對復雜的運算加括號,而不是依賴于默認結合和計算順序真值

真值測試1、任何非零數字或非空對象都為真

2、數字零,空對象以及特殊對象None都為假

3、比較和相等測試都會遞歸地運用到數據結構中

4、比較和相等測試會返回True或False

真值表

代碼如下:

對象/常量值

""假

"string"真

0假

2>=1真

-2<=-1真

()空元組假

[]空列表假

{}空字典假

None假

布爾表達式

三種布爾表達式運算符

代碼如下:

xandy

xory

notx

比較

數字通過相對大小進行比較

字符串時按照字典順序的,一個字符一個字符比較

列表和元組從左到右對每部分的內容進行比較

字典通過排序后的鍵值列表進行比較

數字混合類型比較在python3是錯誤的,但是python2.6支持,固定但任意的排序規則布爾數

有兩個永遠不改變的值True,False

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

沒有nonzero()方法的對象的默認值是True

對于值為0的任何數字或空集,值False

在數學運算中,Bollean值的True和False分別對應于1和0

基本控制流if

基本的條件測試語句,用來判斷可能遇到的不同情況,并針對不同的情況進行操作基本形式

代碼如下:

if<條件>:

<語句>

elif<條件>:

<語句>

else:

<語句>注意python根據縮進判斷,elif和else部分是可選的例子:

代碼如下:

a=1

b=2

c=3;d=4#兩個放一句用分號隔開,不過建議分行ifa<bandc<d:

print("brancha")

elifa==b:

print("branchb")

else:

print("branchc")

switchpython本身沒有switch語句,若需要,用if/elif/else實現完成同樣的工作,某些情況可以考慮用字典也可以用dict的形式if/else三元運算符

代碼如下:

A=((XandY)orZ)

A=YifXelseZ

例:a=‘t'ifxelse‘a'

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

[code]

for<對象變量>in<對象集合>:

if<條件>:

break

if<條件>:

continue

<其他語句>

else:

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

2.for..in循環對于任何序列都適用

3.for遍歷一個字典時,遍歷的是字典的鍵

代碼如下:

rang&xrange

可以通過range()函數產生一個整數列表,完成計數循環

代碼如下:

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

start可選參數,起始數

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

step可選參數,步長,未寫默認為1

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

代碼如下:

>>>printrange(1,5)

[1,2,3,4]

>>>printxrange(1,5)

xrange(1,5)

在上面語句中,range返回了一個普通List,而xrange返回了一個特定的xrange類型的對象。由于xrange方法也創建整數list(其使用相同參數),所以它與range方法非常相似。但是,xrange方法僅在需要時才在list中創建整數。當需要迭代大量整數時,xrange方法更適用,因為它不會創建極大的list,那樣會消耗大量計算機內存。while與if語句類似,含一個條件測試語句,循環,允許重復執行一個語句塊??蛇xelse語句塊,同for的else塊。格式:

代碼如下:

while<條件>:

if<條件>:

break

if<條件>:

continue

<其他語句>

else:

<語句>

說明:while循環條件變為False的時候,else塊才被執行

若是使用break結束循環,while可選的else塊不執行

python沒有dowhile或dountil循環語句

break&continue&pass

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

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

...iflen(x)>6:a.insert(0,x)在字典中循環時,關鍵字和對應的值可以使用iteritems()方法同時解讀出來

代碼如下:

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

>>>fork,vinknights.iteritems():

...printk,v

...

gallahadthepure

robinthebrave在序列中循環時,索引位置和對應值可以使用enumerate()函數同時得到。

代碼如下:

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

...printi,v

更多信息請查看IT技術專欄

更多信息請查看腳本欄目
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
未满十八18勿进黄网站免费看