歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python縮進和冒號

Python縮進和冒號

日期:2017/3/1 9:15:14   编辑:Linux編程

對於Python而言代碼縮進是一種語法,Python沒有像其他語言一樣采用{}或者begin...end分隔代碼塊,而是采用代碼縮進和冒號來區分代碼之間的層次。

縮進的空白數量是可變的,但是所有代碼塊語句必須包含相同的縮進空白數量,這個必須嚴格執行。

例如:

if True:
    print("Hello girl!") #縮進一個tab的占位
else:                        #與if對齊
    print("Hello boy!") #縮進一個tab的占位

Python對代碼的縮進要求非常嚴格,如果不采用合理的代碼縮進,將拋出SyntaxError異常。

if True:
    print("Hello girl!")
else:
    print("Hello boy!")
  print("end")

運行該段代碼將會拋出異常。

錯誤表明,你使用的縮進方式不一致,有的是 tab 鍵縮進,有的是空格縮進,改為一致即可。

有時候代碼采用合理的縮進但是縮進的情況不同,代碼的執行結果也不同。有相同的縮進的代碼表示這些代碼屬於同一代碼塊。

例如:

# -*- coding: UTF-8 -*-
if True:
    print("Hello girl!")
else:
    print("Hello boy!")
print("end")
print("=========華麗的分割線===========")
if True:
    print("Hello girl!")
else:
    print("Hello boy!")
    print("end")

運行結果:

分割線以上的print("end")未縮進與if對齊,因此它與if屬於同一代碼塊,執行完if的操作,執行輸出。

分割線一下的print("end")與print("Hello boy!")保持一致的縮進,則它與print("Hello boy!")屬於else之內的代碼塊。

縮進相同的一組語句構成一個代碼塊,我們稱之代碼組。

像if、while、def和class這樣的復合語句,首行以關鍵字開始,以冒號( : )結束,該行之後的一行或多行代碼構成代碼組。

我們將首行及後面的代碼組稱為一個子句(clause)

Python多行語句

Python語句中一般以新行作為為語句的結束符。但是我們可以使用斜槓( \)將一行的語句分為多行顯示。

num1 = 1
num2 = 2
num3 = 3
total = num1 + \
num2 + \
num3
print("total is : %d"%total)

語句中包含[], {} 或 () 括號就不需要使用多行連接符

days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']
print(days)

Python代碼中一行只能有一個語句,以新行作為為語句的結束符。如果一行含有多個語句將會拋出異常。

該種方式完全是像java在聲明變量呀。

Python2中貌似可以用分號分隔,我機器上沒有裝2.x沒有試,親測Python3下不可以。

正解如下:

num1,num2,num3 =1,2,3
total = num1 + \
num2 + \
num3
print("total is : %d"%total)

Python空行

函數之間或類的方法之間用空行分隔,表示一段新的代碼的開始。類和函數入口之間也用一行空行分隔,以突出函數入口的開始。

空行與代碼縮進不同,空行並不是Python語法的一部分。書寫時不插入空行,Python解釋器運行也不會出錯。但是空行的作用在於分隔兩段不同功能或含義的代碼,便於日後代碼的維護或重構。

記住:空行也是程序代碼的一部分。

CentOS上源碼安裝Python3.4 http://www.linuxidc.com/Linux/2015-01/111870.htm

《Python核心編程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm

《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視頻+代碼] http://www.linuxidc.com/Linux/2013-11/92693.htm

Python腳本獲取Linux系統信息 http://www.linuxidc.com/Linux/2013-08/88531.htm

在Ubuntu下用Python搭建桌面算法交易研究環境 http://www.linuxidc.com/Linux/2013-11/92534.htm

Python 語言的發展簡史 http://www.linuxidc.com/Linux/2014-09/107206.htm

Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved