Python入門示例系列08 基礎語法Syntax


語法 Syntax

標點符號 punctuation

 

標識符

Identifiers (also referred to as names)

給變量variable、類class、對象object、方法method、函數function等取名(標識符)時有以下規則

    第一個字符必須是字母表中字母或下划線 _ 。
    標識符的其他的部分由字母、數字和下划線組成。
    標識符對大小寫敏感。
    不能使用保留字做標識符。


在 Python 3 中,可以用中文作為變量名,非 ASCII 標識符也是允許的了。不推薦用中文命名。

Python 保留字

reserved words, or keywords

保留字即關鍵字,我們不能把它們用作任何標識符名稱。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']

 

行與縮進

Indentation
python最具特色的就是使用縮進來表示代碼塊,不需要使用大括號 { } (注意:是不能用大括號表示代碼塊)。(注意:與眾多其他語言不一樣)

縮進的空格數是可變的(可以縮進一個或多個空格),但是同一個代碼塊的語句必須包含相同的縮進空格數(不同的代碼塊可以縮進不同數量空格數)。實例如下:

if True:
    print ("True")
else:
    print ("False")


以下代碼最后一行語句縮進數的空格數不一致,會導致運行錯誤:

if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
  print ("False")    # 縮進不一致,會導致運行錯誤  IndentationError: unindent does not match any outer indentation level

 示例

if True: # 此句會運行
    print ("True1") # 此句會運行
    print ("True2") # 此句會運行
else:
    print ("Else1")
    print ("Else2")

if True: # 此句會運行
    print ("True1") # 此句會運行
    print ("True2") # 此句會運行
else:
    print ("Else1")
print ("Else2") # 此句會運行

 

多個語句構成代碼組

compound statements

縮進相同的一組語句構成一個代碼塊,我們稱之代碼組。(即:復合語句)
像 if、while、for、def 和 class 這樣的復合語句,首行以關鍵字開始,以冒號( :  colon)結束,該行之后的一行或多行代碼構成代碼組。

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

如下實例:兩行黃色底紋的語句是同一個代碼塊(代碼組,復合語句)。兩行綠色底紋的語句是同一個代碼塊(代碼組,復合語句)。

 
         
if True: # 此句會運行 print ("True1") # 此句會運行 print ("True2") # 此句會運行 else: print ("Else1") print ("Else2")

 以下示例使用了 while 來計算 1 到 100 的總和:

sum = 0
counter = 1
while counter <= 100: sum = sum + counter counter += 1 print("1 到 %d 之和為: %d" % (100, sum))

上面兩行黃色底紋的語句是同一個代碼塊(代碼組,復合語句)。

備注:if 分支語句、while 循環語句、def 定義方法(函數)、class 定義類。

 

多行語句

line continuation; line joining; Explicit line joining
Python 通常是一行寫完一條語句,但如果語句很長,我們可以使用反斜杠  \  Backslash (\)來實現多行語句,例如:

total = 1 + \
        2 + \
        3

 

if True:
    total = 1 + \
  2 + \
3



在 [ ], { }, 或 ( ) 中的多行語句,不需要使用反斜杠 \ ,例如:Implicit line joining

Expressions in parentheses, square brackets or curly braces can be split over more than one physical line without using backslashes.

a = ['A', 'B', 'C',
'D', 'E'] ### a 是一個列表list類型的變量(實際是對象)
b = {'A', 'B', 'C',
'D', 'E'} ### b 是一個集合set類型的變量(實際是對象)其中元素無序不重復
c = ('A', 'B', 'C',
'D', 'E') ### c 是一個元組tuple類型的變量(實際是對象),其中元素不能修改

 

if True:
    a = ['A', 'B', 'C',
 'D', 'E']       ### a 是一個列表list類型的變量(實際是對象)

 

 

同一行顯示多條語句


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

>>> a=1; b=2; c=a+b; print(c)
3

 

 

print 輸出

print, input, int, eval 等函數都是python內置(built-in)的標准函數,使用時不需要導入任何庫。

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
Print objects to the text stream file, separated by sep and followed by end.

 

示例

>>>print("ABC")  # 輸出字符串
ABC 
>>> print(123)            # 輸出數字
123
>>> str = 'ABC'
>>> print(str)            # 輸出變量
ABC
>>> L = [1,2,'a']         # 列表 
>>> print(L)  
[1, 2, 'a']  
>>> t = (1,2,'a')         # 元組
>>> print(t)  
(1, 2, 'a')  
>>> d = {'a':1, 'b':2}    # 字典
>>> print(d)  
{'a': 1, 'b': 2}
>>> print(1,"ABC",3) # 輸出多項
1 ABC 3
>>> print(1,"ABC",3, sep='') # sep設置間隔符
1ABC3

 


print 默認輸出是換行的如果要實現不換行需要在變量末尾加上 end="":  備注:等號后面是一對引號,引號中間沒有空格。

print("AB") # 輸出AB之后會換行
print("CD",end="") # 輸出CD之后不換行
print("EF") #輸出EF后會換行

結果:

AB
CDEF

 

變量賦值

Assignment statements

Python 中的變量variable不需要聲明declare。每個變量在使用前都必須賦值,變量賦值以后該變量才會被創建
在 Python 中,變量就是變量,它沒有類型,我們所說的 "類型" 是變量所指的內存中對象的類型。

等號(=)用來給變量賦值
等號(=)運算符左邊是一個變量名, 等號(=)運算符右邊是存儲在變量中的值。例如:

counter = 10       # 整型變量 miles = 10.0 # 浮點型變量 name = "ABC" # 字符串

 

多個變量賦值
Python允許你同時為多個變量賦值。例如:

a = b = c = 1

以上實例,創建一個整型對象,值為 1,從后向前賦值,三個變量被賦予相同的數值。

可以為多個對象指定多個變量。例如:

a, b, c = 1, 2, "ABC"

以上實例,兩個整型對象 1 和 2 的分配給變量 a 和 b,字符串對象 "ABC" 分配給變量 c。 等價於: a=1; b=2; c="ABC" .

 

復合賦值語句

Augmented assignment statements

"+=" | "-=" | "*=" | "/=" | "//=" | "%=" | "**="

 x += 1 可以寫作  x = x + 1

 

import 與 from...import

The import statement

在 python 用 import 或者 from...import 來導入相應的模塊。

將一個模塊導入,格式為:

import somemodule1

將多個模塊導入

import somemodule1, somemodule2, somemodule3

給導入的模塊取別名:

import somemodule as aliasName

從某個模塊中導入某個函數, 格式為: from somemodule import somefunction

從某個模塊中導入多個函數, 格式為: from somemodule import firstfunc, secondfunc, thirdfunc

將某個模塊中的全部函數導入,格式為: from somemodule import *

 

import math # 導入 match 模塊
print(math.pow(2,3))

import math as m ## 給 math 取別名 m
print(m.pow(2,3))

from math import pi # 導入 math 中的常量 pi
print(pi)

from math import pow,pi,e  # 導入 math 中的常量 pi,e
print(pow(2,3))

from math import *  # 導入 match 模塊
print(pow(2,3))

 Python 自帶標准庫 https://docs.python.org/zh-cn/3.7/library/

 一般從編譯器的以下目錄中查找模塊,或從相同目錄中查找。

import sys
print(sys.path)
['', 'C:\\Python310\\Lib\\idlelib', 'C:\\Python310\\python310.zip', 'C:\\Python310\\DLLs', 'C:\\Python310\\lib', 'C:\\Python310', 'C:\\Python310\\lib\\site-packages']

 

 

 

 

REF

https://www.runoob.com/python3/python3-basic-syntax.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM