這是我從《learning the python》這本書中總結的python中概念的
層次結構
在開始之前,我要先說明一下,什麼是語句,什麼是表示式:表示式是表示值的式子,語句是操作值的式子
。搞清楚這個概念之後,我們就正式進入今天的主題:python中語句的特點下面列舉了一些python中的常用語句
語句作用
賦值創造名字
呼叫函式
使用函式
列印輸出
列印物件
if/elif/else
選擇行為
for/else
iteration
while/else
general loops
pass
empty placeholder
break
loop exit
continue
loop continue
deffunctions and methods
return
functions results
yield
generator functions
global
namespaces
nonlocal
namespaces (3.x)
import
module access
from
attribute access
class
building objects
try/except/ finally
catching exceptions
raise
triggering exceptions
assert
debugging checks
with/as
context managers (3.x, 2.6+)
deldeleting references
上面是我從《learning the python》這本書上抄寫下來的python中的常用語句。關於每個語句的含義,前三句是描述性質的,所以我翻譯了一下,後面是我們一眼就能看懂的,所以我就原模原樣地抄寫了下來。
從乙個小例子看起
上面是分別用c和python寫的兩段**,當我們比較這兩種不同的**的時候,我們的第一反應大概率上會是if
(x > y)
if x > y:
x =1 y =
2
python語句更少
,python使用了更少的語法元件來實現相同的目的,這也是python的設計宗旨之一:code less,create more。我們看到這兩段**的不同點主要在這幾個地方:python比c少了圓括號和花括號,以及封號,但是卻多了冒號
。下面我將會介紹python之所以這樣設計,是出於什麼樣的原因。在c語言中,我們組織乙個**塊是利用花括號來實現的,但是在python中卻沒有花括號了,想象一下,如果沒有這個冒號,我們看到的將會是什麼樣的**(我們很難快速確定**塊從**開始)
這個理由很簡單:為了少打**。我們這裡主要講一下python中去掉了這些語法元件後又新增了哪些額外的語法含義。
python通過等距縮排的方式來組織**塊,具體地說就是,如果我們想標識一段語句是屬於同乙個**塊,那麼我們就要把它們縮排相同的距離(但是不同的**塊之間可以採用不同的縮排距離),如下所示
說實話,這是我第一次真實地、發自內心地感受到python的簡潔優雅,它把**縮排風格上公升到語法層次,強迫所有的程式設計師必須要按照這種對齊的風格來編碼。在其它的語言中,比如c,由於我們採用花括號來確定乙個**塊,乙個花括號中的**沒有縮排的要求,所以,不同的程式設計師可能會有不同的縮排風格,在乙個公司裡面,乙份**一般都是經過好多人的傳承才到你手中,如果他們的編碼風格不一樣,那麼你將會看到下面的**:if x > y :
x =1 y =
2
看到這段**有什麼感受,其實我這種演示效果沒有那麼令人印象深刻,當看到真實的以這種風格編寫的**的時候,你可能會瘋掉。while
(x >0)
除此之外,下面這種情況也可以體現出python的優雅
我們觀察else,乍一看它是和if(x)配對的,但是實際上根據c中的就近配對原則,它是和if(y)配對的。if
(x)if
(y) statements1;
else
statements2;
按照前面的python語法模型:
以上語法模型基本上已經覆蓋了我們的日常使用,但是python還提供了一些特殊的機制以實現一些非常規操作
1、使用封號在一行編寫多條語句
2、使用圓括號、花括號、中括號實現一行語句多行編寫(a =
1; b =2;
(a + b)
還有一種斜槓的老式方法,由於不好用,所以這裡就不介紹了
)3、簡單語句直接跟在冒號後面mylist =
[1111
,2222
,3333
]x =
(a + b +
c + d)
本次學習,讓我進一步熟悉了python的概念層次模型,也就是乙個python程式的實體組成。通過比較python語句和c語句的區別,我進一步理解了python語言的設計哲學:****** is better than complex.通過此次學習,我對python的感情又深了一層。if x > y:
(x)
Python中的for語句
for語句是python中的迴圈控制語句。可用來遍歷某一物件,還具有乙個附帶的可選的else塊,主要用於處理for語句中包含的break語句。如果for迴圈未被break終止,則執行else塊中的語句。break 在需要時終止for迴圈 continue 跳過位於其後的語句,開始下一輪迴圈。for語...
python中的if語句
程式設計時常需要檢查一系列條件,並根據結果採取措施,在python中,if語句能幫你檢查程式當前狀態,並給出結果採取措施。下面是乙個簡單的例項,演示if語句正確處理特殊情況 cars audi bmw toyota for car in cars if car toyata print car.up...
Python中的with語句
with語句用處 檔案操作時,時常有忘記關閉的情況,因此可以選用with語句,with語句執行完,檔案自動關閉且釋放檔案資源。eg 關閉1個檔案 with open poem1 r encoding utf 8 as f for line in f print line eg with可同時開啟多個...