python基礎語法(2)

2021-10-06 21:54:09 字數 4724 閱讀 5478

python 基礎語法

01. 編碼

預設情況下,python 3 原始碼檔案以utf-8編碼,所有字串都是 unicode 字串。 當然你也可以為原始碼檔案指定不同的編碼: # -*- coding: gbk -*- 上述定義允許在原始檔中使用 windows中的簡體中文本元編碼,對應適合語言為非unicode的簡體中文。

02. 識別符號

在 python 3 中,非 ascii 識別符號也是允許的,使用中文字元作為識別符號也是合法的。

03. python保留字

保留字也稱關鍵字,在程式中不能把它們用作識別符號。python 的標準庫提供 keyword 模組,可以輸出當前版本的所有關鍵字:

>>>

import

keyword

>>>

keyword.kwlist

['false',  'none',  'true',  'and',  'as',  'assert',  'break',  'class',  'continue',  'def',  'del',  'elif',  'else',  'except',  'finally',  'for',  'from',  'global',  'if',  'import',  'in',  'is',  'lambda',  'nonlocal',  'not',  'or',  'pass',  'raise',  'return',  'try',  'while',  'with',  'yield']

04. 注釋

python中單行注釋以#開頭,例項如下:

例項

#!/usr/bin/python3

# 上一行表示在命令列直接執行python檔案時所呼叫的python直譯器

print("hello, python!") # 列印輸出字串

執行以上**,輸出結果為:

hello, python!

多行注釋可以用多行 # 號,或者使用多行字串物件作為注釋 ''' 和 """:

例項

# 第乙個注釋

# 第二個注釋 ​

'''

第三注釋

第四注釋

''' ​

"""

第五注釋

第六注釋

"""print("hello, python!")

執行以上**,輸出結果為:

hello, python!

05. 行與縮排

python最具特色的就是使用縮進來表示**塊,不需要使用大括號 {}。 縮排的空格數是可變的,但是同乙個**塊的語句必須包含相同的縮排空格數。例項如下:

例項

if true:

print("true")

else:

print("false")

以下**最後一行語句縮排數的空格數不一致,會導致執行錯誤:

if true:

print("answer")

print("true")

else:

print("answer")

print("false")# 縮排不一致,會導致執行錯誤

以上程式由於縮排不一致,執行後會出現類似以下錯誤:

print("false")# 縮排不一致,會導致執行錯誤

^indentationerror: unindent does not match any outer indentation level

06. 多行語句

python 通常是一行寫完一條語句,但如果語句很長,我們可以使用反斜槓\來實現多行語句,例如:

total = item_one + \

item_two + \

item_three

在,{},或()中的多行語句,不需要使用反斜槓\,例如:

total = [

'item_one',

'item_two',

'item_three',

'item_four',

'item_five']

07. 空行

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

空行與**縮排不同,空行並不是python語法的一部分。書寫時不插入空行,python直譯器執行也不會出錯。但是空行的作用在於分隔兩段不同功能或含義的**,便於日後**的維護或重構。

記住:空行也是程式**的一部分。

08. 同一行顯示多條語句(不建議使用此類語法)

python可以在同一行中使用多條語句,語句之間使用分號(;)分割,以下是乙個簡單的例項:

例項

import

sys; x =

'techlab'; sys.stdout.write(x + '\n')

執行以上**,輸出結果為:

techlab

09. 多個語句構成**組

縮排相同的一組語句構成乙個**塊,我們稱之**組。

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

我們將首行及後面的**組稱為乙個子句(clause)。

如下例項:

if expression :

suite

suite

suite

elif

expression :

suite

else :

suite

10. input 輸入

執行下面的程式在按回車鍵後就會等待使用者輸入:

例項

input("\n\n按下 enter 鍵後退出。")

以上**中 ,"\n\n"在結果輸出前會輸出兩個新的空行(輸出中的空行)。

一旦使用者按下

enter

鍵時,程式將退出。

11. print 輸出

print 預設輸出是換行的,如果要實現不換行需要在變數末尾加上end=""

例項

x="a" y=

"b"

# 換行輸出

print(x)

print(y)

print('---------')

# 不換行輸出

print(x, end="")

print(y, end="")

print()

以上例項執行結果為: a

b---------

a b12. import 與 from...import

在 python 用import或者from...import來匯入相應的模組。

將整個模組(somemodule)匯入(相當於匯入的是乙個資料夾,是個相對路徑),格式為: import somemodule 從某個模組中匯入某個函式(相當於匯入的是乙個資料夾中的檔案,是個絕對路徑),格式為: from somemodule import somefunction 從某個模組中匯入多個函式,格式為: from somemodule import firstfunc, secondfunc, thirdfunc

將某個模組中的全部函式匯入,格式為:from somemodule import *

匯入 sys 模組

import

sys  

# 匯入 sys 模組

print('***************=python import mode*************************=')

print('命令列引數為:')

for

i in

sys.ar**:

print(i)

print('python 路徑為:',sys.path)

匯入 sys 模組的 ar**,path 成員

from

sys

import

ar**, path  

# 匯入 sys 模組中特定的成員 ​

print('***************=python from import********************====')

print('命令列引數為:')

for

i in

ar**:  

# 因為已經匯入ar**成員,所以此處引用時不需要加sys.ar**

print(i)

print('python 路徑為:', path)  # 因為已經匯入path成員,所以此處引用時不需要加sys.path

13. python指令碼的執行方式

互動式:在終端啟動 python,以互動式程式設計模式執行,適合於小段**的測試

python基礎語法(2)

2 2 4 print 2 2 4如果在互動式直譯器中執行上述兩行 結果是一樣的,但這只是因為直譯器總是把所有表示式的值列印出來而已。一般情況下,python並不會那樣做。語句和表示式之間的區別在賦值時會表現的更加明顯一些,因為就 語句不是表示式,所以沒有值可供互動式直譯器列印出來 x 3 可以x ...

Python語法基礎(2)

注釋 在python程式程式設計中注釋使用井號 使用時 位於注釋行的開頭,後面有乙個空格,接著是注釋內容。使用注釋示例如下 hello helloworld score for student 0.0 y 20 y print y 列印y變數語句 我們知道在python中語句是 的重要組成部分,而語...

python 基礎語法2

1.數字型別 整型 布林型 浮點型 複數。int 只有一種整型型別int 表示長整型,無long.bool true,flase.float 12.22 3e 2.complex 2 3j.2.字串 1 python單引號和雙引號的使用完全相同。單引號裡也可以放字串。且使用三引號 可以指定乙個多行字...