Python 基礎(chǔ)語法
1. Python 標(biāo)識符
- 標(biāo)識符由 字母(區(qū)分大小寫)笛厦、數(shù)字、下劃線組成,但是不能以數(shù)字開頭
- 以單下劃線開頭_foo 的代表不能直接訪問的類屬性, 需通過類提供的接口進(jìn)行訪問, 不能用 from xxx import *而導(dǎo)入
- 以雙下劃線開頭的 __foo 代表類的私有成員初橘; 以雙下劃線開頭和結(jié)尾的 **__foo__ **代表 Python 里特殊方法專用的標(biāo)識, 如 _init_()代表類的構(gòu)造函數(shù)
- Python可以同一行顯示多條語句,方法是用分號 ; 分開,示例代碼如下:
>>>print 'hello';print 'world'
hello
world
2. Python 保留字符
and |
assert |
exec |
not |
finally |
or |
break |
for |
pass |
class |
from |
print |
continue |
global |
raise |
def |
if |
return |
del |
import |
try |
elif |
in |
while |
else |
is |
with |
except |
lambda |
yield |
3. Python 引號與注釋
- Python 可以使用引號( ' )蚀狰、 雙引號( " )苫幢、 三引號( ''' 或 """ ) 來表示字符串, 引號的開始與結(jié)束必須的相同類型的
- 其中三引號可以由多行組成, 編寫多行文本的快捷語法, 還可以當(dāng)做注釋
python 中多行注釋使用三個單引號(''')或三個雙引號(""")
-
表示單行注釋, 單行注釋可以單獨一行也可以在語句或表達(dá)式行末
4. Python 輸入
- Python 2 : raw_input("提示用戶的內(nèi)容")
- Python 3 : input("提示用戶的內(nèi)容")
5. Python 輸出
- print()為輸出函數(shù),默認(rèn)輸出是換行的,如果要實現(xiàn)不換行需要在變量末尾加上逗號
6. 變量賦值
- Python 中的變量賦值不需要類型聲明
- 每個變量在使用前都必須賦值, 變量賦值以后該變量才會被創(chuàng)建
- 等號( =) 用來給變量賦值
- 等號( =) 運算符左邊是一個變量名,等號( =) 運算符右邊是存儲在變量中的值
7. pass語句
- Python pass 是空語句, 是為了保持程序結(jié)構(gòu)的完整性,pass 不做任何事情, 一般用做占位語句
# coding=utf-8
# 輸出 Python 的每個字母
for letter in 'Python':
if letter == 'h':
pass
print '當(dāng)前字母 :', letter
print "Good bye!"
8. Python 數(shù)據(jù)類型
- Numbers(數(shù)字)
- int( 有符號整型)
- long( 長整型[也可以代表八進(jìn)制和十六進(jìn)制])
- float( 浮點型)
- complex( 復(fù)數(shù))
Python 還支持復(fù)數(shù), 復(fù)數(shù)由實數(shù)部分和虛數(shù)部分構(gòu)成, 可以用 a +bj,或者 complex(a,b)表示, 復(fù)數(shù)的實部 a 和虛部b 都是浮點型
- String(字符串)
- List(列表)
- Tuple(元組)
- Dictionary(字典)
8.1.1 Python數(shù)學(xué)函數(shù)
- 用 **math.方法 ** 進(jìn)行調(diào)用
import math
math.方法
函數(shù) |
返回值(描述) |
abs(x) |
返回數(shù)字的絕對值, 如 abs(-10) 返回 10 |
fabs(x) |
返回數(shù)字浮點形式的絕對值图张, 如 math.fabs(-10) 返回 10.0 |
floor(x) |
返回數(shù)字的下舍整數(shù)锋拖, 如 math.floor(4.9)返回 4 |
ceil(x) |
返回數(shù)字的上入整數(shù), 如 math.ceil(4.1) 返回 5 |
cmp(x, y) |
如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1 |
exp(x) |
返回 e 的 x 次冪(ex),如 math.exp(1) 返回 2.718281828459045 |
log(x) |
如 math.log(math.e)返回 1.0,math.log(100,10)返回 2.0 |
log10(x) |
返回以 10 為基數(shù)的 x 的對數(shù)祸轮, 如 math.log10(100)返回 2.0 |
max(x1, x2,...) |
返回給定參數(shù)的最大值兽埃, 參數(shù)可以為序列 |
min(x1, x2,...) |
返回給定參數(shù)的最小值, 參數(shù)可以為序列 |
modf(x) |
返回 x 的整數(shù)部分與小數(shù)部分适袜, 兩部分的數(shù)值符號與 x 相同柄错, 整數(shù)部分以浮點型表示 |
pow(x, y) |
x**y 運算后的值 |
round(x [,n]) |
返回浮點數(shù) x 的四舍五入值, 如給出 n 值苦酱, 則代表舍入到小數(shù)點后的位數(shù) |
sqrt(x) |
返回數(shù)字 x 的平方根售貌, 數(shù)字可以為負(fù)數(shù), 返回類型為實數(shù)疫萤, 如 math.sqrt(4)返回 2+0j |
8.1.2 Python 隨機(jī)數(shù)函數(shù)
- 用 random.方法 進(jìn)行調(diào)用
import random
random.方法
函數(shù) |
描述 |
choice(seq) |
從 序 列 的 元 素 中 隨 機(jī) 挑 選 一 個 元 素 , 比 如random.choice(range(10)), 從 0 到 9 中隨機(jī)挑選一個整數(shù) |
randrange ([start,] stop [,step]) |
從指定范圍內(nèi), 按指定基數(shù)遞增的集合中獲取一個隨機(jī)數(shù), 基數(shù)缺省值為 1 start -- 指定范圍內(nèi)的開始值, 包含在范圍內(nèi)stop -- 指定范圍內(nèi)的結(jié)束值, 不包含在范圍內(nèi)step -- 指定遞增基數(shù) |
random() |
隨機(jī)生成下一個實數(shù), 它在[0,1)范圍內(nèi) |
seed([x]) |
改變隨機(jī)數(shù)生成器的種子 seed,如果你不了解其原理, 你不必特別去設(shè)定 seed,Python 會幫你選擇 seed |
shuffle(lst) |
將序列的所有元素隨機(jī)排序 |
uniform(x, y) |
隨機(jī)生成下一個實數(shù),它在[x,y]范圍內(nèi) |
8.1.3 Python 三角函數(shù)
- 用 math.方法 進(jìn)行調(diào)用
import math
math.方法
函數(shù) |
描述 |
acos(x) |
返回 x 的反余弦弧度值x -- -1 到 1 之間的數(shù)值 如果 x 是大于 1, 會產(chǎn)生一個錯誤 |
asin(x) |
返回 x 的反正弦弧度值<br />x -- -1 到 1 之間的數(shù)值 如果 x 是大于 1, 會產(chǎn)生一個錯誤 |
atan(x) |
返回 x 的反正切弧度值 |
atan2(y, x) |
返回給定的 X 及 Y 坐標(biāo)值的反正切值 |
cos(x) |
返回 x 的弧度的余弦值 |
hypot(x, y) |
返回歐幾里德范數(shù) sqrt(xx + yy) |
sin(x) |
返回的 x 弧度的正弦值 |
tan(x) |
返回 x 弧度的正切值 |
degrees(x) |
將弧度轉(zhuǎn)換為角度,如 degrees(math.pi/2) , 返回 90.0 |
radians(x) |
將角度轉(zhuǎn)換為弧度 |
pi |
π值 |
e |
e值 |
8.2.1 str字符串
- 一般字符串表示為 : str="a1a2· · · an"(n>=0)
- str 表示一個長度為 n 的字符串
- python 字符串的下標(biāo)是從 0 開始的颂跨, 一直到 n-1 結(jié)束
- "a1a2· · · an"每個字符對應(yīng)的角標(biāo)為"0,1,...,n-1"
- 使用 str[頭下標(biāo):尾下標(biāo)], 就可以截取相應(yīng)的字符串(不包括尾角標(biāo)的字符扯饶, 即含頭不含尾)
8.2.2 轉(zhuǎn)義字符
轉(zhuǎn)義字符 |
描述 |
\(在行尾時) |
續(xù)行符 |
\\ |
反斜杠符號 |
\' |
單引號 |
\" |
雙引號 |
\a |
響鈴 |
\b |
退格(Backspace) |
\e |
轉(zhuǎn)義 |
\000 |
空 |
\n |
換行符 |
\v |
縱向制表符 |
\t |
橫向制表符 |
\r |
回車 |
\f |
換頁 |
\oyy |
八進(jìn)制數(shù),yy代表的字符,例如:\012 代表換行 |
\xyy |
十六進(jìn)制數(shù),yy代表的字符,例如:\x0a |
\other |
其他的字符以普通格式輸出 |
8.2.3 字符串運算符
a = "Hello" , b = "Python"
操作符 |
描述 |
實例 |
+ |
字符串連接 |
>>>a + b |
* |
重復(fù)輸出字符串 |
>>>a * 2 |
[] |
通過索引獲取字符串中的字符 |
>>>a[1] |
[:] |
截取字符串中的一部分 |
>>>a[1:4] |
in |
成員運算符 - 如果字符串中包含給定的字符返回 True |
>>>"H" in a |
not in |
成員運算符 - 如果字符串中不包含給定的字符返回 True |
>>>"M" not in a |
%s |
格式化字符串的輸出.在Python中,字符串格式化使用與C中sprintf函數(shù)有一樣的語法 |
|
%c |
格式化字符及其ACSII碼 |
|
%d |
格式化整數(shù) |
|
%u |
格式化無符號整數(shù) |
|
%x |
格式化無符號十六進(jìn)制數(shù) |
|
%X |
格式化無符號十六進(jìn)制數(shù)(大寫) |
|
%f |
格式化浮點數(shù)字,可指定小數(shù)點后的精度 |
|
%e |
用科學(xué)計數(shù)法格式化浮點數(shù) |
|
%E |
作用同%e |
|
%g |
%f和%e的簡寫 |
|
%G |
%f和%E的簡寫 |
|
%p |
用十六進(jìn)制格式化變量的地址 |
|
%o |
格式化無符號八進(jìn)制數(shù) |
|
* |
定義寬度或者小數(shù)點精度 |
|
- |
用做左對齊 |
|
+ |
在整數(shù)前面顯示加號(+) |
|
<sp> |
在正數(shù)前面顯示空格 |
|
# |
在八進(jìn)制數(shù)前面顯示零('0')恒削, 在十六進(jìn)制前面顯示'0x'或者'0X'(取決于用的是'x'還是'X') |
|
0 |
顯示的數(shù)字前面填充'0'而不是默認(rèn)的空格 |
|
% |
'%%'輸出一個單一的'%' |
|
(var) |
映射變量(字典參數(shù)) |
|
m.n. |
m 是顯示的最小總寬度,n 是小數(shù)點后的位數(shù)(如果可用的話) |
|
8.2.4 str.format()
# coding=utf-8
print "{} {}".format("hello", "world") # 不設(shè)置指定位置, 按默認(rèn)順序
print "{0} {1}".format("hello", "world") # 設(shè)置指定位置
print "{1} {0} {1}".format("hello", "world") # 設(shè)置指定位置
#設(shè)置參數(shù)
print("網(wǎng)站名: {name}, 地址 {url}".format(name="百度", url="www.baidu.com"))
# 通過字典設(shè)置參數(shù)
site = {"name": "百度", "url": "www.baidu.com"}
print("網(wǎng)站名: {name}, 地址 {url}".format(**site))
# 通過列表索引設(shè)置參數(shù)
my_list = ['百度', 'www.baidu.com']
print("網(wǎng)站名: {0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是可選的
結(jié)果:
hello world
hello world
world hello world
網(wǎng)站名: 百度, 地址 www.baidu.com
網(wǎng)站名: 百度, 地址 www.baidu.com
網(wǎng)站名: 百度, 地址 www.baidu.com
8.2.5 Unicode 字符串
-
引號前小寫的"u"表示這里創(chuàng)建的是一個 Unicode 字符串帝际。 如果你想加入一個特殊字符蔓同, 可以使用 Python 的
Unicode-Escape 編碼。 如下例所示:
print u'Hello\u0020World !'
Hello World !
被替換的 \u0020 標(biāo)識表示在給定位置插入編碼值為 0x0020 的 Unicode 字符(空格符) 蹲诀。