一些python常用函數(shù)包:
十載建站經(jīng)驗, 成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計客戶的見證與正確選擇。創(chuàng)新互聯(lián)建站提供完善的營銷型網(wǎng)頁建站明細(xì)報價表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。
1、Urllib3
Urllib3是一個 Python 的 HTTP 客戶端,它擁有 Python 標(biāo)準(zhǔn)庫中缺少的許多功能:
線程安全
連接池
客戶端 SSL/TLS 驗證
使用分段編碼上傳文件
用來重試請求和處理 HTTP 重定向的助手
支持 gzip 和 deflate 編碼
HTTP 和 SOCKS 的代理支持
2、Six
six 是一個是 Python 2 和 3 的兼容性庫。這個項目旨在支持可同時運(yùn)行在 Python 2 和 3 上的代碼庫。它提供了許多可簡化 Python 2 和 3 之間語法差異的函數(shù)。
3、botocore、boto3、s3transfer、awscli
Botocore是 AWS 的底層接口。Botocore是 Boto3 庫(#22)的基礎(chǔ),后者讓你可以使用 Amazon S3 和 Amazon EC2 一類的服務(wù)。Botocore 還是 AWS-CLI 的基礎(chǔ),后者為 AWS 提供統(tǒng)一的命令行界面。
S3transfer(#7)是用于管理 Amazon S3 傳輸?shù)?Python 庫。它正在積極開發(fā)中,其介紹頁面不推薦人們現(xiàn)在使用,或者至少等版本固定下來再用,因為其 API 可能發(fā)生變化,在次要版本之間都可能更改。Boto3、AWS-CLI和其他許多項目都依賴s3transfer。
4、Pip
pip是“Pip Installs Packages”的首字母遞歸縮寫。
pip很容易使用。要安裝一個包只需pip install package name即可,而刪除包只需pip uninstall package name即可。
最大優(yōu)點(diǎn)之一是它可以獲取包列表,通常以requirements.txt文件的形式獲取。該文件能選擇包含所需版本的詳細(xì)規(guī)范。大多數(shù) Python 項目都包含這樣的文件。
如果結(jié)合使用pip與virtualenv(列表中的 #57),就可以創(chuàng)建可預(yù)測的隔離環(huán)境,同時不會干擾底層系統(tǒng),反之亦然。
5、Python-dateutil
python-dateutil模塊提供了對標(biāo)準(zhǔn)datetime模塊的強(qiáng)大擴(kuò)展。我的經(jīng)驗是,常規(guī)的Python datetime缺少哪些功能,python-dateutil就能補(bǔ)足那一塊。
6、Requests
Requests建立在我們的 #1 庫——urllib3基礎(chǔ)上。它讓 Web 請求變得非常簡單。相比urllib3來說,很多人更喜歡這個包。而且使用它的最終用戶可能也比urllib3更多。后者更偏底層,并且考慮到它對內(nèi)部的控制級別,它一般是作為其他項目的依賴項。
7、Certifi
近年來,幾乎所有網(wǎng)站都轉(zhuǎn)向 SSL,你可以通過地址欄中的小鎖符號來識別它。加了小鎖意味著與該站點(diǎn)的通信是安全和加密的,能防止竊聽行為。
8、Idna
根據(jù)其 PyPI 頁面,idna提供了“對 RFC5891 中指定的應(yīng)用程序中國際化域名(IDNA)協(xié)議的支持。”
IDNA的核心是兩個函數(shù):ToASCII和ToUnicode。ToASCII會將國際 Unicode 域轉(zhuǎn)換為 ASCII 字符串。ToUnicode則逆轉(zhuǎn)該過程。在IDNA包中,這些函數(shù)稱為idna.encode()和idna.decode()
9、PyYAML
YAML是一種數(shù)據(jù)序列化格式。它的設(shè)計宗旨是讓人類和計算機(jī)都能很容易地閱讀代碼——人類很容易讀寫它的內(nèi)容,計算機(jī)也可以解析它。
PyYAML是 Python 的YAML解析器和發(fā)射器,這意味著它可以讀寫YAML。它會把任何 Python 對象寫成YAML:列表、字典,甚至是類實(shí)例都包括在內(nèi)。
10、Pyasn1
像上面的IDNA一樣,這個項目也非常有用:
ASN.1 類型和 DER/BER/CER 編碼(X.208)的純 Python 實(shí)現(xiàn)
所幸這個已有數(shù)十年歷史的標(biāo)準(zhǔn)有很多信息可用。ASN.1是 Abstract Syntax Notation One 的縮寫,它就像是數(shù)據(jù)序列化的教父。它來自電信行業(yè)。也許你知道協(xié)議緩沖區(qū)或 Apache Thrift?這就是它們的 1984 年版本。
11、Docutils
Docutils是一個模塊化系統(tǒng),用來將純文本文檔處理為很多有用的格式,例如 HTML、XML 和 LaTeX 等。Docutils能讀取reStructuredText格式的純文本文檔,這種格式是類似于 MarkDown 的易讀標(biāo)記語法。
12、Chardet
你可以用chardet模塊來檢測文件或數(shù)據(jù)流的字符集。比如說,需要分析大量隨機(jī)文本時,這會很有用。但你也可以在處理遠(yuǎn)程下載的數(shù)據(jù),但不知道用的是什么字符集時使用它。
13、RSA
rsa包是一個純 Python 的 RSA 實(shí)現(xiàn)。它支持:
加密和解密
簽名和驗證簽名
根據(jù) PKCS#1 1.5 版生成密鑰
它既可以用作 Python 庫,也能在命令行中使用。
14、Jmespath
JMESPath,發(fā)音為“James path”,使 Python 中的 JSON 更容易使用。它允許你聲明性地指定如何從 JSON 文檔中提取元素。
15、Setuptools
它是用于創(chuàng)建 Python 包的工具。不過,其文檔很糟糕。它沒有清晰描述它的用途,并且文檔中包含無效鏈接。最好的信息源是這個站點(diǎn),特別是這個創(chuàng)建 Python 包的指南。
16、Pytz
像dateutils一樣,這個庫可幫助你處理日期和時間。有時候,時區(qū)處理起來可能很麻煩。幸好有這樣的包,可以讓事情變得簡單些。
17、Futures
從 Python 3.2 開始,python 提供current.futures模塊,可幫助你實(shí)現(xiàn)異步執(zhí)行。futures 包是該庫適用于 Python 2 的 backport。它不適用于 Python3 用戶,因為 Python 3 原生提供了該模塊。
18、Colorama
使用 Colorama,你可以為終端添加一些顏色:
更多Python知識請關(guān)注Python自學(xué)網(wǎng)
abs() divmod() input() open() staticmethod()
all() enumerate() int() ord() str()
any() eval() isinstance() pow() sum()
basestring() execfile() issubclass() print() super()
bin() file() iter() property() tuple()
bool() filter() len() range() type()
bytearray() float() list() raw_input() unichr()
callable() format() locals() reduce() unicode()
chr() frozenset() long() reload() vars()
classmethod() getattr() map() repr() xrange()
cmp() globals() max() reverse() zip()
compile() hasattr() memoryview() round() __import__()
complex() hash() min() set()
delattr() help() next() setattr()
dict() hex() object() slice()
dir() id() oct() sorted()
1.1 例如:print(hex(2))案例
1.2 輸出函數(shù):print(hex(2))
1.3 輸出結(jié)果:0x2
1.4 解析說明:返回16進(jìn)制的數(shù)。
2.1 例如:print(chr(10))案例
2.2 輸出函數(shù):print(chr(10))
2.3 輸出結(jié)果:0o12
2.4 解析說明:返回當(dāng)前整數(shù)對應(yīng)的ASCll碼
3.1 例如:print(ord("b"))案例
3.2 輸出函數(shù):print(ord("b"))
3.3 輸出結(jié)果:98
3.4 解析說明:返回當(dāng)前ASCll碼的10進(jìn)制數(shù)
4.1 例如:print(chr(97))
4.2 輸出函數(shù):print(chr(97))
4.3 輸出結(jié)果:b
4.4 解析說明:返回當(dāng)前ASCll碼的10進(jìn)制數(shù)。
案例一:給你一個字符串,s = 'hello kitty'
1.1 輸出函數(shù):print(s.capitalize())
1.2 輸出結(jié)果:0x2
1.3 解析說明:返回16進(jìn)制的數(shù)。
2.1輸出函數(shù):print(s.replace('kitty','kuang'))
2.2 輸出結(jié)果:hello kuang
2.3 解析說明:替換功能,將kitty換成kuang。
2.4 輸出函數(shù):print(s.replace('4','KK'))
2.5 輸出結(jié)果:12KK12KK
2.6 解析說明:所有的4都替換成KK
2.7 輸出函數(shù):print(s.replace('4','KK'))
2.8 輸出結(jié)果:12KK12KK124
2.9 解析說明:將前兩個的4替換成go
案例一:給你一個字符串,ip = '192.168.1.1'
3.1 輸出函數(shù):print(ip.split(','))
3.2 輸出結(jié)果:['192.168.1.1']
3.3 解析說明:將字符串分割成列表
案例一:給你一個字符串,ip = '192.168.1.1'
3.3 輸出函數(shù):print(ip.split(',',2))
3.4 輸出結(jié)果:['192.168.1.1']
3.5 解析說明:從第二個開始分割成列表
python的常用內(nèi)置函數(shù)
1.abs() 函數(shù)返回數(shù)字的絕對值
abs(-40)=40
2. dict() 函數(shù)用于創(chuàng)建一個字典
dict()
{} ? ? ?#創(chuàng)建一個空字典類似于u={},字典的存取方式一般為key-value
例如u = {"username":"tom", ?"age":18}
3. help() 函數(shù)用于查看函數(shù)或模塊用途的詳細(xì)說明
help('math')查看math模塊的用處
a=[1,2,3,4]
help(a)查看列表list幫助信息
4.dir()獲得當(dāng)前模塊的屬性列表
dir(help)
['__call__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
5.min() 方法返回給定參數(shù)的最小值 /參數(shù)可以為序列
a=? min(10,20,30,40)
a
10
6. next() 返回迭代器的下一個項目
it = iter([1, 2, 3, 4, 5])
next(it)
1
next(it)
2
7. id() 函數(shù)用于獲取對象的內(nèi)存地址
a=12
id(a)
1550569552
8.enumerate() 函數(shù)用于將一個可遍歷的數(shù)據(jù)對象(如列表、元組或字符串)組合為一個索引序列,同時列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在 for 循環(huán)當(dāng)中。
a=["tom","marry","leblan"]
list(enumerate(a))
[(0, 'tom'), (1, 'marry'), (2, 'leblan')]
9. oct() 函數(shù)將一個整數(shù)轉(zhuǎn)換成8進(jìn)制字符串
oct(15)
'0o17'
oct(10)
'0o12'
10. bin() 返回一個整數(shù) int 或者長整數(shù) long int 的二進(jìn)制表示
bin(10)
'0b1010'
bin(15)
'0b1111'
11.eval() 函數(shù)用來執(zhí)行一個字符串表達(dá)式,并返回表達(dá)式的值
eval('2+2')
4
12.int() 函數(shù)用于將一個字符串會數(shù)字轉(zhuǎn)換為整型
int(3)
3
int(3.6)
3
int(3.9)
3
int(4.0)
4
13.open() 函數(shù)用于打開一個文件,創(chuàng)建一個file對象,相關(guān)的方法才可以調(diào)用它進(jìn)行讀寫
f=open('test.txt')
14.str() 函數(shù)將對象轉(zhuǎn)化為適于人閱讀的形式
str(3)
'3'
15. bool() 函數(shù)用于將給定參數(shù)轉(zhuǎn)換為布爾類型,如果沒有參數(shù),返回 False
bool()
False
bool(1)
True
bool(10)
True
bool(10.0)
True
16.isinstance() 函數(shù)來判斷一個對象是否是一個已知的類型
a=5
isinstance(a,int)
True
isinstance(a,str)
False
17. sum() 方法對系列進(jìn)行求和計算
sum([1,2,3],5)
11
sum([1,2,3])
6
18. super() 函數(shù)用于調(diào)用下一個父類(超類)并返回該父類實(shí)例的方法。super 是用來解決多重繼承問題的,直接用類名調(diào)用父類方法
class ? User(object):
? def__init__(self):
class Persons(User):
? ? ? ? super(Persons,self).__init__()
19. float() 函數(shù)用于將整數(shù)和字符串轉(zhuǎn)換成浮點(diǎn)數(shù)
float(1)
1.0
float(10)
10.0
20. iter() 函數(shù)用來生成迭代器
a=[1,2,3,4,5,6]
iter(a)
for i in iter(a):
... ? ? ? ? print(i)
...
1
2
3
4
5
6
21.tuple 函數(shù)將列表轉(zhuǎn)換為元組
a=[1,2,3,4,5,6]
tuple(a)
(1, 2, 3, 4, 5, 6)
22.len() 方法返回對象(字符、列表、元組等)長度或項目個數(shù)
s = "playbasketball"
len(s)
14
a=[1,2,3,4,5,6]
len(a)
6
23. property() 函數(shù)的作用是在新式類中返回屬性值
class User(object):
?def __init__(self,name):
? ? ? ? ? self.name = name
def get_name(self):
? ? ? ? ? return self.get_name
@property
?def name(self):
? ? ? ? ?return self_name
24.type() 函數(shù)返回對象的類型
25.list() 方法用于將元組轉(zhuǎn)換為列表
b=(1,2,3,4,5,6)
list(b)
[1, 2, 3, 4, 5, 6]
26.range() 函數(shù)可創(chuàng)建一個整數(shù)列表,一般用在 for 循環(huán)中
range(10)
range(0, 10)
range(10,20)
range(10, 20)
27. getattr() 函數(shù)用于返回一個對象屬性值
class w(object):
... ? ? ? ? ? ? s=5
...
a = w()
getattr(a,'s')
5
28. complex() 函數(shù)用于創(chuàng)建一個復(fù)數(shù)或者轉(zhuǎn)化一個字符串或數(shù)為復(fù)數(shù)。如果第一個參數(shù)為字符串,則不需要指定第二個參數(shù)
complex(1,2)
(1+2j)
complex(1)
(1+0j)
complex("1")
(1+0j)
29.max() 方法返回給定參數(shù)的最大值,參數(shù)可以為序列
b=(1,2,3,4,5,6)
max(b)
6
30. round() 方法返回浮點(diǎn)數(shù)x的四舍五入值
round(10.56)
11
round(10.45)
10
round(10.45,1)
10.4
round(10.56,1)
10.6
round(10.565,2)
10.56
31. delattr 函數(shù)用于刪除屬性
class Num(object):
...? ? a=1
...? ? b=2
...? ? c=3.
.. print1 = Num()
print('a=',print1.a)
a= 1
print('b=',print1.b)
b= 2
print('c=',print1.c)
c= 3
delattr(Num,'b')
print('b=',print1.b)
Traceback (most recent call last):? File "", line 1, inAttributeError: 'Num' object has no attribute 'b'
32. hash() 用于獲取取一個對象(字符串或者數(shù)值等)的哈希值
hash(2)
2
hash("tom")
-1675102375494872622
33. set() 函數(shù)創(chuàng)建一個無序不重復(fù)元素集,可進(jìn)行關(guān)系測試,刪除重復(fù)數(shù)據(jù),還可以計算交集、差集、并集等。
a= set("tom")
b = set("marrt")
a,b
({'t', 'm', 'o'}, {'m', 't', 'a', 'r'})
ab#交集
{'t', 'm'}
a|b#并集
{'t', 'm', 'r', 'o', 'a'}
a-b#差集
{'o'}
Python語句list(range(1,10,3))執(zhí)行結(jié)果為[1,4,7]。
語法是:range(start,stop[,step])
參數(shù)說明:
(1)start:計數(shù)從start開始,默認(rèn)是從0開始。例如range(5)等價于range(0,5);
(2)stop:計數(shù)到stop結(jié)束,但不包括stop。例如:range(0,5)是[0,1,2,3,4]沒有5;
(3)step:步長,默認(rèn)為1。例如:range(0,5)等價于range(0,5,1)。
因此,range(1,10,3)的意思是1到10之間的tuple,間隔為3,所以結(jié)果是(1,4,7)。
列表(List)是最常用的Python數(shù)據(jù)類型,它可以作為一個方括號內(nèi)的逗號分隔值出現(xiàn)。
所以,list(range(1,10,3))執(zhí)行結(jié)果為[1,4,7]。
擴(kuò)展資料
Python列表函數(shù)方法
Python包含以下函數(shù):
1、cmp(list1, list2):比較兩個列表的元素;
2、len(list):列表元素個數(shù);
3、max(list):返回列表元素最大值;
4、min(list):返回列表元素最小值;
5、list(seq):將元組轉(zhuǎn)換為列表。
Python包含以下方法:
1、list.append(obj):在列表末尾添加新的對象;
2、list.count(obj):統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù);
3、list.extend(seq):在列表末尾一次性追加另一個序列中的多個值(用新列表擴(kuò)展原來的列表);
4、list.index(obj):從列表中找出某個值第一個匹配項的索引位置;
5、list.insert(index, obj):將對象插入列表;
6、list.pop([index=-1]):移除列表中的一個元素(默認(rèn)最后一個元素),并且返回該元素的值;
7、list.remove(obj):移除列表中某個值的第一個匹配項;
8、list.reverse():反向列表中元素;
9、list.sort(cmp=None, key=None, reverse=False):對原列表進(jìn)行排序。
【常見的內(nèi)置函數(shù)】
1、enumerate(iterable,start=0)
是python的內(nèi)置函數(shù),是枚舉、列舉的意思,對于一個可迭代的(iterable)/可遍歷的對象(如列表、字符串),enumerate將其組成一個索引序列,利用它可以同時獲得索引和值。
2、zip(*iterables,strict=False)
用于將可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個個元組,然后返回由這些元組組成的列表。如果各個迭代器的元素個數(shù)不一致,則返回列表長度與最短的對象相同,利用*號操作符,可以將元組解壓為列表。
3、filter(function,iterable)
filter是將一個序列進(jìn)行過濾,返回迭代器的對象,去除不滿足條件的序列。
4、isinstance(object,classinfo)
是用來判斷某一個變量或者是對象是不是屬于某種類型的一個函數(shù),如果參數(shù)object是classinfo的實(shí)例,或者object是classinfo類的子類的一個實(shí)例,
返回True。如果object不是一個給定類型的的對象, 則返回結(jié)果總是False
5、eval(expression[,globals[,locals]])
用來將字符串str當(dāng)成有效的表達(dá)式來求值并返回計算結(jié)果,表達(dá)式解析參數(shù)expression并作為Python表達(dá)式進(jìn)行求值(從技術(shù)上說是一個條件列表),采用globals和locals字典作為全局和局部命名空間。
【常用的句式】
1、format字符串格式化
format把字符串當(dāng)成一個模板,通過傳入的參數(shù)進(jìn)行格式化,非常實(shí)用且強(qiáng)大。
2、連接字符串
常使用+連接兩個字符串。
3、if...else條件語句
Python條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True或者False)來決定執(zhí)行的代碼塊。其中if...else語句用來執(zhí)行需要判斷的情形。
4、for...in、while循環(huán)語句
循環(huán)語句就是遍歷一個序列,循環(huán)去執(zhí)行某個操作,Python中的循環(huán)語句有for和while。
5、import導(dǎo)入其他腳本的功能
有時需要使用另一個python文件中的腳本,這其實(shí)很簡單,就像使用import關(guān)鍵字導(dǎo)入任何模塊一樣。