Python縮進(jìn)和冒號(hào)詳解
對(duì)于Python而言代碼縮進(jìn)是一種語(yǔ)法,Python沒(méi)有像其他語(yǔ)言一樣采用{}或者begin...end分隔代碼塊,而是采用代碼縮進(jìn)和冒號(hào)來(lái)區(qū)分代碼之間的層次。
縮進(jìn)的空白數(shù)量是可變的,但是所有代碼塊語(yǔ)句必須包含相同的縮進(jìn)空白數(shù)量,這個(gè)必須嚴(yán)格執(zhí)行。
例如:
if True:
print("Hello girl!") #縮進(jìn)一個(gè)tab的占位
else: #與if對(duì)齊
print("Hello boy!") #縮進(jìn)一個(gè)tab的占位
Python對(duì)代碼的縮進(jìn)要求非常嚴(yán)格,如果不采用合理的代碼縮進(jìn),將拋出SyntaxError異常。
if True:
print("Hello girl!")
else:
print("Hello boy!")
print("end")
運(yùn)行該段代碼將會(huì)拋出異常。

錯(cuò)誤表明,你使用的縮進(jìn)方式不一致,有的是 tab 鍵縮進(jìn),有的是空格縮進(jìn),改為一致即可。
有時(shí)候代碼采用合理的縮進(jìn)但是縮進(jìn)的情況不同,代碼的執(zhí)行結(jié)果也不同。有相同的縮進(jìn)的代碼表示這些代碼屬于同一代碼塊。
例如:
# -*- 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")
運(yùn)行結(jié)果:

分割線以上的print("end")未縮進(jìn)與if對(duì)齊,因此它與if屬于同一代碼塊,執(zhí)行完if的操作,執(zhí)行輸出。
分割線一下的print("end")與print("Hello boy!")保持一致的縮進(jìn),則它與print("Hello boy!")屬于else之內(nèi)的代碼塊。
縮進(jìn)相同的一組語(yǔ)句構(gòu)成一個(gè)代碼塊,我們稱之代碼組。
像if、while、def和class這樣的復(fù)合語(yǔ)句,首行以關(guān)鍵字開(kāi)始,以冒號(hào)( : )結(jié)束,該行之后的一行或多行代碼構(gòu)成代碼組。
我們將首行及后面的代碼組稱為一個(gè)子句(clause)
Python多行語(yǔ)句
Python語(yǔ)句中一般以新行作為為語(yǔ)句的結(jié)束符。但是我們可以使用斜杠( \)將一行的語(yǔ)句分為多行顯示。
num1 = 1
num2 = 2
num3 = 3
total = num1 + \
num2 + \
num3
print("total is : %d"%total)
語(yǔ)句中包含[], {} 或 () 括號(hào)就不需要使用多行連接符
days = ['Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday']
print(days)
Python代碼中一行只能有一個(gè)語(yǔ)句,以新行作為為語(yǔ)句的結(jié)束符。如果一行含有多個(gè)語(yǔ)句將會(huì)拋出異常。

該種方式完全是像java在聲明變量呀。
Python2中貌似可以用分號(hào)分隔,我機(jī)器上沒(méi)有裝2.x沒(méi)有試,親測(cè)Python3下不可以。

正解如下:
num1,num2,num3 =1,2,3
total = num1 + \
num2 + \
num3
print("total is : %d"%total)
Python空行
函數(shù)之間或類的方法之間用空行分隔,表示一段新的代碼的開(kāi)始。類和函數(shù)入口之間也用一行空行分隔,以突出函數(shù)入口的開(kāi)始。
空行與代碼縮進(jìn)不同,空行并不是Python語(yǔ)法的一部分。書(shū)寫時(shí)不插入空行,Python解釋器運(yùn)行也不會(huì)出錯(cuò)。但是空行的作用在于分隔兩段不同功能或含義的代碼,便于日后代碼的維護(hù)或重構(gòu)。
記?。嚎招幸彩浅绦虼a的一部分。
以上這篇Python縮進(jìn)和冒號(hào)詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Python工具使用Web3.py以太坊智能合約開(kāi)發(fā)的方法
智能合約是區(qū)塊鏈技術(shù)的核心應(yīng)用之一,它允許在沒(méi)有中介的情況下,通過(guò)代碼自動(dòng)執(zhí)行合同條款,以太坊是目前最流行的智能合約平臺(tái)之一,而Web3.py是用于與以太坊區(qū)塊鏈交互的Python庫(kù),本文將詳細(xì)介紹如何使用Web3.py進(jìn)行以太坊智能合約的開(kāi)發(fā),需要的朋友可以參考下2024-11-11
Python多線程通信queue隊(duì)列用法實(shí)例分析
這篇文章主要介紹了Python多線程通信queue隊(duì)列用法,結(jié)合實(shí)例形式分析了Python多線程通信queue隊(duì)列相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-03-03
Pyecharts 動(dòng)態(tài)地圖 geo()和map()的安裝與用法詳解
這篇文章主要介紹了Pyecharts 動(dòng)態(tài)地圖 geo()和map()的安裝與用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
Python pip安裝lxml出錯(cuò)的問(wèn)題解決辦法
這篇文章主要介紹了Python pip安裝lxml出錯(cuò)的問(wèn)題解決辦法的相關(guān)資料,需要的朋友可以參考下2017-02-02
如何獲取Python簡(jiǎn)單for循環(huán)索引
這篇文章主要介紹了如何獲取Python簡(jiǎn)單for循環(huán)索引,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
Python項(xiàng)目打包部署到服務(wù)器的實(shí)現(xiàn)
本文主要介紹了PyCharm和Ubuntu服務(wù)器部署Python項(xiàng)目,包括打包、上傳、安裝和設(shè)置自啟動(dòng)服務(wù)的步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2025-01-01

