標識符
在python裏,標識符有字母、數字、下劃線組成。
在python中,所有標識符可以包括英文、數字以及下劃線(_),但不能以數字開頭。
python中的標識符是區分大小寫的。如Foo和foo是兩個不同的對象。
特殊符號如$、%、@等不能用在標識符中,保留字符也不能用作標識符。
以下劃線開頭的標識符是有特殊意義的。以單下劃線開頭(_foo)的代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,不能用"from xxx import *"而導入;
以雙下劃線開頭的(__foo)代表類的私有成員;以雙下劃線開頭和結尾的(__foo__)代表python裏特殊方法專用的標識,如__init__()代表類的構造函數。
保留字
下面的列表顯示了在Python中的保留字。這些保留字不能用作常數或變數,或任何其他標識符名稱。
所有Python的關鍵字只包含小寫字母。
and |
exec |
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 |
行和縮進
程序中每個語句都以換行符結束。語句太長可以使用續行符(\)來分割成幾行,如:
total = item_one + \
item_two + \
item_three
但是凡是圓括號(, , ,)、方括號[, , ,]、花括號{, , ,} 以及三引號字符串內的部分都不需要使用續行符。如:
days = ['Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday']
使用縮進來指示不同的代碼塊,而不是使用大括號{}來控制類,函數以及其他邏輯判斷。
縮進的空格(製表符)可以是任意的,但是在整個塊中的縮進必須一致。不要混合使用製表符和空格來縮進。建議每個縮進層次中使用單個製表符或兩個或四個空格。
if a:
statement1
statement2 #縮進一致,正確
else:
statement3
statement4 #縮進不一致,錯誤
分號(;)可以把多個語句放在同一行中,一般用於代碼很少時,也可用於調試代碼。
可以插入空行分隔兩段不同功能或含義的代碼,便於日後維護,解釋器會忽略所有的空白行(非交互模式下)
Python引號
Python 接收單引號(' ),雙引號(" ),三引號(''' """) 來表示字符串,引號的開始與結束必須的相同類型的。
其中三引號可以由多行組成,編寫多行文本的快捷語法,常用如文檔字符串,在文件的特定地點,被當做註釋。三引號字符串中可以包含不必轉義的換行符和引號。
word = 'word'
sentence = "This is a sentence."
paragraph1 = """This is a paragraph. It is
made up of multiple lines and sentences."""
paragraph2 = '''Hello 'Li Lei' and "Kate", welcome!'''
註釋
Python使用#符號來註釋,只能註釋一行。
# First comment
print "Hello, Python!"; # second comment
運算符
Python 包括算術運算符、比較運算符、賦值運算符、邏輯運算符、位運算符、成員運算符和身份運算符。各個運算符的描述如下。
算術運算符 |
描述 |
實例 |
+ |
加 - 兩個對象相加 |
a + b 輸出結果 30 |
- |
減 - 得到負數或是一個數減去另一個數 |
a - b 輸出結果 -10 |
* |
乘 - 兩個數相乘或是返回一個被重複若干次的字符串 |
a * b 輸出結果 200 |
/ |
除 - x除以y |
b / a 輸出結果 2 |
% |
取模 - 返回除法的餘數 |
b % a 輸出結果 0 |
** |
冪 - 返回x的y次冪 |
a**b 爲10的20次方, 輸出結果 100000000000000000000 |
// |
取整除 - 返回商的整數部分 |
9//2 輸出結果 4 , 9.0//2.0 輸出結果 4.0 |
比較運算符 |
描述 |
實例 |
== |
等於 - 比較對象是否相等 |
(a == b) 返回 False。 |
!= |
不等於 - 比較兩個對象是否不相等 |
(a != b) 返回 true. |
<> |
不等於 - 比較兩個對象是否不相等 |
(a <> b) 返回 true。這個運算符類似 != 。 |
> |
大於 - 返回x是否大於y |
(a > b) 返回 False。 |
< |
小於 - 返回x是否小於y。所有比較運算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價。注意,這些變量名的大寫。 |
(a < b) 返回 true。 |
>= |
大於等於 - 返回x是否大於等於y。 |
(a >= b) 返回 False。 |
<= |
小於等於 - 返回x是否小於等於y。 |
(a <= b) 返回 true。 |
賦值運算符 |
描述 |
實例 |
= |
簡單的賦值運算符 |
c = a + b 將 a + b 的運算結果賦值爲 c |
+= |
加法賦值運算符 |
c += a 等效於 c = c + a |
-= |
減法賦值運算符 |
c -= a 等效於 c = c - a |
*= |
乘法賦值運算符 |
c *= a 等效於 c = c * a |
/= |
除法賦值運算符 |
c /= a 等效於 c = c / a |
%= |
取模賦值運算符 |
c %= a 等效於 c = c % a |
**= |
冪賦值運算符 |
c **= a 等效於 c = c ** a |
//= |
取整除賦值運算符 |
c //= a 等效於 c = c // a |
位運算符 |
描述 |
實例 |
& |
按位與運算符 |
(a & b) 輸出結果 12 ,二進制解釋: 0000 1100 |
| |
按位或運算符 |
(a | b) 輸出結果 61 ,二進制解釋: 0011 1101 |
^ |
按位異或運算符 |
(a ^ b) 輸出結果 49 ,二進制解釋: 0011 0001 |
~ |
按位取反運算符 |
(~a ) 輸出結果 -61 ,二進制解釋: 1100 0011, 在一個有符號二進制數的補碼形式。 |
<< |
左移動運算符 |
a << 2 輸出結果 240 ,二進制解釋: 1111 0000 |
>> |
右移動運算符 |
a >> 2 輸出結果 15 ,二進制解釋: 0000 1111 |
邏輯運算符 |
描述 |
實例 |
and |
布爾"與" - 如果x爲False,x and y返回False,否則它返回y的計算值。 |
(a and b) 返回 true。 |
or |
布爾"或" - 如果x是True,它返回True,否則它返回y的計算值。 |
(a or b) 返回 true。 |
not |
布爾"非" - 如果x爲True,返回False。如果x爲False,它返回True。 |
not(a and b) 返回 false。 |
成員運算符 |
描述 |
實例 |
in |
如果在指定的序列中找到值返回True,否則返回False。 |
x 在 y序列中 , 如果x在y序列中返回True。 |
not in |
如果在指定的序列中沒有找到值返回True,否則返回False。 |
x 不在 y序列中 , 如果x不在y序列中返回True。 |
身份運算符 |
描述 |
實例 |
is |
is是判斷兩個標識符是不是引用自一個對象 |
x is y, 如果 id(x) 等於 id(y) , is 返回結果 1 |
is not |
is not是判斷兩個標識符是不是引用自不同對象 |
x is not y, 如果 id(x) 不等於 id(y). is not 返回結果 1 |
運算符的優先級。
運算符 |
描述 |
** |
指數 (最高優先級) |
~ + - |
按位翻轉, 一元加號和減號 (最後兩個的方法名爲 +@ 和 -@) |
* / % // |
乘,除,取模和取整除 |
+ - |
加法減法 |
>> << |
右移,左移運算符 |
& |
位 'AND' |
^ | |
位運算符 |
<= < > >= |
比較運算符 |
<> == != |
等於運算符 |
= %= /= //= -= += *= **= |
賦值運算符 |
is is not |
身份運算符 |
in not in |
成員運算符 |
not or and |
邏輯運算符 |
分隔符
下邊的這些可以作爲表達式,列表,字典,以及語句不同部分的分隔符號:
( ) [ ] { } , : . ` = ;
特殊符號
下邊這些特殊符號也在語句中使用:
' " # \ @
字符$、?不能在程序語句中出現,但是可以出現在字符串中。