標識符由字母、數字和下劃線(_)組成,其中不能以數字開頭,而且區分大小寫。python
如下劃線開頭的標識符是有特殊意義的:編程
保留字是不能用做常數或變數,或者其餘任何標識符名稱。 keyword 模塊能夠輸出當前版本的全部關鍵字:編程語言
import keyword函數
print(keyword.kwlist) spa
全部的保留字以下所示:code
|
|
|
and對象 |
execblog |
not索引 |
assert接口 |
finally |
or |
break |
for |
pass |
class |
from |
|
continue |
global |
raise |
def |
if |
return |
del |
import |
try |
elif |
in |
while |
else |
is |
with |
except |
lambda |
yield |
和其餘編程語言的最大區別就是,Python 的代碼塊不採用大括號 {} 來控制類、函數以及其餘邏輯判斷,反卻是採用縮進來寫模塊。
縮進的空白數量是可變的,可是全部代碼塊語句必須包含相同的縮進空白數量,這個必須嚴格執行,以下所示:
# 正確示例
i = 2if i == 3:
print('true!')else:
print('False')
# 錯誤示例if i == 3:
print('i:')
print(i)else:
print('wrong answer!')
# 沒有嚴格縮進,執行時會報錯
print('please check again')
這裏將會報錯 IndentationError: unindent does not match any outer indentation level,這個錯誤表示採用的縮進方式不一致,有的是 tab 鍵縮進,有的是空格縮進,改成一致便可。
而若是錯誤是 IndentationError: unexpected indent,表示格式不正確,多是 tab 和空格沒對齊的問題。
所以,按照約定俗成的管理,應該始終堅持使用4個空格的縮進,而且注意不能混合使用 tab 鍵和四格空格,這會報錯!
註釋分爲兩種,單行和多行的。
# 單行註釋
print('Hello, world!')
'''
這是多行註釋,使用單引號。
這是多行註釋,使用單引號。
這是多行註釋,使用單引號。
'''
"""
這是多行註釋,使用雙引號。
這是多行註釋,使用雙引號。
這是多行註釋,使用雙引號。
"""
一般是一條語句一行,若是語句很長,咱們可使用**反斜槓(\)**來實現多行語句。在 [], {}, 或 ()中的多行語句,則不須要反斜槓。
sentence1 = "I love " + \"python"
sentence2 = ["I", "love",
"python"]
另外,咱們也能夠同一行顯示多條語句,語句之間用分號(;)分割,示例以下:
print('Hello');print('world')
對於用戶輸入,Python2 採用的是 raw_input(),而 3 版本則是 input() 函數:
# 等待用戶輸入# python 2
user_input = raw_input('請輸入一個數字:\n')# python 3
user_input = input('請輸入一個數字:\n')
print('user_input=', user_input)
其中 \n 實現換行。用戶按下回車鍵(enter)退出,其餘鍵顯示。
對於 print 輸出,默認輸出是換行的,若是須要實現不換行,能夠指定參數 end,以下所示:
a = 3
b = 2
c = 4
d = 5# 默認換行
print(a)
print(b)# 不換行,並設置逗號分隔
print(c, end=',')
print(d)
計算機程序要處理不一樣的數據,須要定義不一樣的數據類型。Python 定義了六種標準的數據類型,分佈以下所示:
Python 並不須要聲明變量的類型,所說的"類型"是變量所指的內存中對象的類型。但每一個變量使用前都必須賦值,而後纔會建立變量。給變量賦值的方法是採用等號(=),等號左邊是變量名,右邊是存儲在變量中的值。
一個示例以下:
counter = 100 # 賦值整型變量
miles = 1000.0 # 浮點型
name = "John" # 字符串
print(counter)
print(miles)
print(name)
Python 還容許同時爲多個變量賦值,有如下兩種實現方式:
# 建立一個整型對象,值爲1,三個變量被分配到相同的內存空間上
n = m = k = 2# 建立多個對象,而後指定多個變量
cc, mm, nn = 1, 3.2, 'abc'
print('n=m=k=', n, m, k)
print('cc=', cc)
print('mm=', mm)
print('nn=', nn)
其中同時給多個變量賦值的方式也是 Python 獨特的一種變量賦值方法。
數字類型用於存儲數值,它是不可改變的數據類型。Python 3 支持如下幾種數字類型:
int (整數)
float (浮點型)
complex(複數)
bool (布爾)
數字類型的使用很簡單,也很直觀,以下所示:
# int
q = 1# float
w = 2.3# bool
e = True# complex
r = 1 + 3j
print(q, w, e, r) # 1 2.3 True (1+3j)
# 內置的 type() 函數能夠用來查詢變量所指的對象類型
print(type(q)) # <class 'int'>
print(type(w)) # <class 'float'>
print(type(e)) # <class 'bool'>
print(type(r)) # <class 'complex'>
# 也能夠採用 isinstance()# isinstance 和 type 的區別在於:type()不會認爲子類是一種父類類型,isinstance()會認爲子類是一種父類類型
print(isinstance(q, int)) # True
print(isinstance(q, float)) # False
對於數字的運算,包括基本的加減乘除,其中除法包含兩個運算符,/ 返回一個浮點數,而 // 則是獲得整數,去掉小數點後的數值。並且在混合計算的時候, Python 會把整數轉換爲浮點數。
# 加
print('2 + 3 =', 2 + 3) # 2 + 3 = 5# 減
print('3 - 2 =', 3 - 2) # 3 - 2 = 1# 乘
print('5 * 8 =', 5 * 8) # 5 * 8 = 40# 除# 獲得浮點數,完整的結果
print('5 / 2 =', 5 / 2) # 5 / 2 = 2.5# 獲得一個整數
print('5 // 2 =', 5 // 2) # 5 // 2 = 2# 取餘
print('5 % 2 =', 5 % 2) # 5 % 2 = 1# 乘方
print('5 ** 2 =', 5 ** 2) # 5 ** 2 = 25
字符串或串(String)是由數字、字母、下劃線組成的一串字符。通常是用單引號 '' 或者 "" 括起來。
注意,Python 沒有單獨的字符類型,一個字符就是長度爲 1 的字符串。而且,Python 字符串是不可變,向一個索引位置賦值,如 strs[0]='m' 會報錯。
能夠經過索引值或者切片來訪問字符串的某個或者某段元素,注意索引值從 0 開始,例子以下所示:
切片的格式是 [start:end],實際取值範圍是 [start:end) ,即不包含 end 索引位置的元素。還會除了正序訪問,還能夠倒序訪問,即索引值能夠是負值。
具體示例以下所示:
s1 = "talk is cheap"
s2 = 'show me the code'
print(s1)
print(s2)
# 索引值以 0 爲開始值,-1 爲從末尾的開始位置
print('輸出 s1 第一個到倒數第二個的全部字符: ', s1[0:-1]) # 輸出第一個到倒數第二個的全部字符
print('輸出 s1 字符串第一個字符: ', s1[0]) # 輸出字符串第一個字符
print('輸出 s1 從第三個開始到第六個的字符: ', s1[2:6]) # 輸出從第三個開始到第六個的字符
print('輸出 s1 從第三個開始的後的全部字符:', s1[2:]) # 輸出從第三個開始的後的全部字符
# 加號 + 是字符串的鏈接符# 星號 * 表示複製當前字符串,緊跟的數字爲複製的次數
str = "I love python "
print("鏈接字符串:", str + "!!!")
print("輸出字符串兩次:", str * 2)
# 反斜槓 \ 轉義特殊字符# 若不想讓反斜槓發生轉義,能夠在字符串前面添加一個 r
print('I\nlove\npython')
print("反斜槓轉義失效:", r'I\nlove\npython')
注意:
字符串包含了不少內置的函數,這裏只介紹幾種很是常見的函數: