綜述
應(yīng)用場景:
首選是網(wǎng)絡(luò)應(yīng)用辉浦,包括網(wǎng)站、后臺服務(wù)等等;其次是許多日常需要的小工具叫挟,包括系統(tǒng)管理員需要的腳本任務(wù)等等;另外就是把其他語言開發(fā)的程序再包裝起來蹭越,方便使用。
優(yōu)缺點:
優(yōu)點:“優(yōu)雅”教届、“明確”响鹃、“簡單”驾霜、“內(nèi)置電池( batteries included)”(各種庫),所以開發(fā)速度快茴迁。
缺點:運行慢寄悯,源碼公開。
要點
!/usr/bin/env python3 #為了在linux上運行
# -*- coding: utf-8 -*- #編碼聲明
數(shù)據(jù)類型
- 整數(shù)
1
0xff00
etc. - 浮點數(shù)
3.14
3e-5
- 字符串
"abc"
'abc'
r'a\b\vc\\cc\\' # 非轉(zhuǎn)義
堕义、 - 布爾值
True
False
,可進(jìn)行and or not
運算 - 空值
None
- 常量
PI=3.1415926 #默認(rèn)大寫猜旬,其實也是變量
- 在計算機內(nèi)存中,統(tǒng)一使用Unicode編碼倦卖,當(dāng)需要保存到硬盤或者需要傳輸?shù)臅r候洒擦,就轉(zhuǎn)為UTF-8編碼.在最新的Python 3版本中,字符串是以Unicode編碼的
- Python提供了
ord()
函數(shù)獲取字符的整數(shù)表示怕膛,chr()
函數(shù)把編碼轉(zhuǎn)換為對應(yīng)的字符:
>>>ord('A')
65
>>>chr(65)
'A'
>>>chr(25991)
'文'
>>>'\u4e2d\u6587' # 16進(jìn)制的str
'中文'
- 以Unicode表示的str通過encode()方法可以編碼為指定的bytes.如果我們從網(wǎng)絡(luò)或磁盤上讀取了字節(jié)流熟嫩,那么讀到的數(shù)據(jù)就是bytes。要把bytes變?yōu)閟tr褐捻,就需要用decode()方法
>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'
- 格式化輸出
>>> '%2d-%02d' % (3, 1)
' 3-01'
>>> '%.2f' % 3.1415926
'3.14'
- 列表
classmates = ['Michael', 'Bob', 'Tracy']
.可以下標(biāo)訪問掸茅。方法主要有.append('Lucy')
;.pop()
;.pop(i)
;classmates.insert(1, 'Jack')
里面數(shù)據(jù)類型可以不同 - tuple 不可更改的列表
classmates = ('Michael', 'Bob', 'Tracy')
- dic
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
;方法:d.get('Thomas', -1)
;d.pop('Bob')
- set
s = set([1, 1, 2, 2, 3, 3])
;s.add(4)
;s.remove(4)
;兩個set可以做數(shù)學(xué)意義上的交集柠逞、并集等操作
函數(shù)
函數(shù)主要注意默認(rèn)參數(shù)昧狮,可變參數(shù),關(guān)鍵字參數(shù)板壮,命名關(guān)鍵字參數(shù)逗鸣。
*args是可變參數(shù),args接收的是一個tuple绰精;**kw是關(guān)鍵字參數(shù)撒璧,kw接收的是一個dict。以及調(diào)用函數(shù)時如何傳入可變參數(shù)和關(guān)鍵字參數(shù)的語法:可變參數(shù)既可以直接傳入:func(1, 2, 3)
笨使,又可以先組裝list或tuple卿樱,再通過*args
傳入:func(*(1, 2, 3))
;關(guān)鍵字參數(shù)既可以直接傳入:func(a=1, b=2)
硫椰,又可以先組裝dict繁调,再通過**kw
傳入:func(**{'a': 1, 'b': 2})
。使用*args
和**kw
是Python的習(xí)慣寫法最爬,當(dāng)然也可以用其他參數(shù)名,但最好使用習(xí)慣用法门岔。命名的關(guān)鍵字參數(shù)是為了限制調(diào)用者可以傳入的參數(shù)名爱致,同時可以提供默認(rèn)值。定義命名的關(guān)鍵字參數(shù)在沒有可變參數(shù)的情況下不要忘了寫分隔符*
寒随,否則定義的將是位置參數(shù)糠悯。