1. 程式人生 > >python筆記--語句

python筆記--語句

python、語句


python語句特點:

1.條件後面都以分號結尾

2.縮進問題:縮進是python表示語句塊的唯一方法,一個語句快中的所有語句必須使用相同的縮進。關於縮進風格,標準python風格是每個縮進級別使用4個空格,最好不要使用Tab制表符,因為不同的編輯器處理制表符的方式不同。

條件判斷

1.單分支if語句

if <條件判斷>:
     <執行>

如果if語句判斷是True,就把縮進的語句執行了,否則,什麽也不做。也可以給if添加一個else語句,意思是,如果if判斷是False,不要執行if的內容,去把else執行了。

例如:

a=10
if a>20:
    print "more than 20"
else:
    print "less than 20"

很明顯,執行程序後,在屏幕打印出了less than 20,有一種“三目表達式”可以簡寫if語句,例如:

a=10
result=("more than 20" if a>20 else "less than 20")
print (result)

註意:如果我們把判斷語句的小括號換成方括號,那麽輸出結果就是一個列表,即[‘less than 20‘]

2.多分支if語句

if <條件判斷1>:
    <執行1>
elif 
    <執行2>
elif 
    <執行3>
else:
     <執行4>

if語句執行有個特點,它是從上往下判斷,如果在某個判斷上是

True,把該判斷對應的語句執行後,就忽略掉剩下的elifelse

補充:

1.條件為True的情況,除了條件成立,還有就是:

if x:
      print(‘True‘)

只要x是非零數值、非空字符串、非空list等,就判斷為True,否則為False

2.input問題

執行程序後需要用戶手動輸入,這就需要使用input。在python3.5中,input會把所有輸入的字符轉為str數據類型嗎,例如:

>>> a=input("number:")
number:5
>>> type(a)
<class ‘str‘>
>>> b=int(input("number:"))
number:10
>>> type(b)
<class ‘int‘>

3.pass

pass語句作用是不執行當前代碼塊,例如:

a=10
if a>20:
    print "more than 20"
else:
    pass

執行程序後,返回結果為空。

循環語句

1.for循環

(1)叠代對象

遍歷字符串,每個字符當做單個遍歷:

>>> for i in "abc":
...     print i
...
a
b
c

使用 range()函數生成一個數字序列列表,並遍歷:

>>> for i in range(1,5): 
...     print i
...
1
2
3
4
#range()只有一個元素,從0開始遍歷:
>>> range(5)
[0, 1, 2, 3, 4]

2)嵌套循環

逐個循環判斷外層列表裏元素是否存在內層列表:

>>> for i in range(1,6):
...     for x in range(3,8):
...        if i == x:
...           print i
...
3
4
5

3)簡寫語句

簡寫 for 語句:

>>> result = (x for x in range(5))
>>> result
<generator object <genexpr> at 0x030A4FD0>
>>> type(result)
<type ‘generator‘>

# 同樣用中括號會以列表存儲

>>> result = [ x for x in range(5)]
>>> type(result)
<type ‘list‘>
>>> result
[0, 1, 2, 3, 4]

for if 語句寫一行:

>>> result = [ x for x in range(5) if x % 2 == 0]
>>> result
[0, 2, 4]

這種使用中括號括起來的表達式稱為列表解析表達式,每一次叠代,都會把叠代對象放到 x 變量中,最後表達式計算值生成一個列表。

2.while循環

1)輸出序列

當條件不滿足時,停止循環:

>>> count = 0
>>> while count < 5:
...     print count    
...     count += 1    
...
0
1
2
3
4

2)死循環

>>> import time
>>> i = 1
>>> while True:       
...     print i          
...     i += 1             
...     time.sleep(0.5)
...
1
2
3
......

註意:當表達式值為 true 或者非零時,都會一直循環。

補充:

break

在循環中,break語句可以提前退出循環。

continue

在循環過程中,也可以通過continue語句,跳過當前的這次循環,直接開始下一次循環。

編寫python腳本時,有時候需要將輸出的內容不換行,按一行輸出,可以在語句末尾添加一個逗號,例如:

>>> for i in range(5):
	print i,

	
0 1 2 3 4


練習:

執行程序後,要求用戶輸入姓名和密碼,正確則返回歡迎信息,錯誤返回提示信息,三次錯誤後退出程序。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a={‘zhangsan‘:‘123abc‘,‘lisi‘:‘2‘,‘wangwu‘:‘3‘}
b=a.keys()
for i in range(3):
    name=raw_input("please enter your name:")
    password=raw_input("please enter your password:")
    if name in b:
        if password==a[name]:
            print ("welcome!")
            break
        else:
            print ("your password is false!")
    else:
        print ("no this user!")
else:
    print ("too much retry!")


本文出自 “網絡技術” 博客,請務必保留此出處http://fengjicheng.blog.51cto.com/11891287/1927651

python筆記--語句