從零學Python之入門(五)縮排和選擇

來源:互聯網
上載者:User
縮排

Python最具特色的是用縮排來標明成塊的代碼。我下面以if選擇結構來舉例。if後面跟隨條件,如果條件成立,則執行歸屬於if的一個代碼塊。

先看C語言的表達方式(注意,這是C,不是Python!)

複製代碼 代碼如下:


if ( i > 0 )
{
x = 1;
y = 2;
}

如果i > 0的話,我們將進行括弧中所包括的兩個賦值操作。括弧中包含的就是塊操作,它隸屬於if。

在Python中,同樣的目的,這段話是這樣的

複製代碼 代碼如下:


if i > 0:
x = 1
y = 2

在Python中, 去掉了i > 0周圍的括弧,去除了每個語句句尾的分號,表示塊的花括弧也消失了。

多出來了if ...之後的:(冒號), 還有就是x = 1 和 y =2前面有四個空格的縮排。通過縮排,Python識別出這兩個語句是隸屬於if。

Python這樣設計的理由純粹是為了程式好看。

if語句

寫一個完整的程式,命名為ifDemo.py。這個程式用於實現if結構。

複製代碼 代碼如下:


i = 1
x = 1
if i > 0:
x = x+1
print x

$python ifDemo.py # 運行

程式運行到if的時候,條件為True,因此執行x = x+1,。

print x語句沒有縮排,那麼就是if之外。

如果將第一句改成i = -1,那麼if遇到假值 (False), x = x+1隸屬於if, 這一句跳過。 print x沒有縮排,是if之外,不跳過,繼續執行。

這種以四個空格的縮排來表示隸屬關係的書寫方式,以後還會看到。強制縮排增強了程式的可讀性。

複雜一些的if選擇:

複製代碼 代碼如下:


i = 1

if i > 0:
print 'positive i'
i = i + 1
elif i == 0:
print 'i is 0'
i = i * 10
else:
print 'negative i'
i = i - 1

print 'new i:',i

這裡有三個塊,分別屬於if, elif, else引領。
Python檢測條件,如果發現if的條件為假,那麼跳過後面緊跟的塊,檢測下一個elif的條件; 如果還是假,那麼執行else塊。
通過上面的結構將程式分出三個分支。程式根據條件,只執行三個分支中的一個。

整個if可以放在另一個if語句中,也就是if結構的嵌套使用:

複製代碼 代碼如下:


i = 5
if i > 1:
print 'i bigger than 1'
print 'good'
if i > 2:
print 'i bigger than 2'
print 'even better'

if i > 2 後面的塊相對於該if縮排了四個空格,以表明其隸屬於該if,而不是外層的if。

總結

if語句之後的冒號

以四個空格的縮排來表示隸屬關係, Python中不能隨意縮排

複製代碼 代碼如下:


if <條件1>:

statement

elif <條件2>:

statement

elif <條件3>:

statement

else:

statement

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.