【常見(jiàn)的內(nèi)置函數(shù)】

我們提供的服務(wù)有:網(wǎng)站制作、成都網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、曲周ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的曲周網(wǎng)站制作公司
1、enumerate(iterable,start=0)
是python的內(nèi)置函數(shù),是枚舉、列舉的意思,對(duì)于一個(gè)可迭代的(iterable)/可遍歷的對(duì)象(如列表、字符串),enumerate將其組成一個(gè)索引序列,利用它可以同時(shí)獲得索引和值。
2、zip(*iterables,strict=False)
用于將可迭代的對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的列表。如果各個(gè)迭代器的元素個(gè)數(shù)不一致,則返回列表長(zhǎng)度與最短的對(duì)象相同,利用*號(hào)操作符,可以將元組解壓為列表。
3、filter(function,iterable)
filter是將一個(gè)序列進(jìn)行過(guò)濾,返回迭代器的對(duì)象,去除不滿足條件的序列。
4、isinstance(object,classinfo)
是用來(lái)判斷某一個(gè)變量或者是對(duì)象是不是屬于某種類型的一個(gè)函數(shù),如果參數(shù)object是classinfo的實(shí)例,或者object是classinfo類的子類的一個(gè)實(shí)例,
返回True。如果object不是一個(gè)給定類型的的對(duì)象, 則返回結(jié)果總是False
5、eval(expression[,globals[,locals]])
用來(lái)將字符串str當(dāng)成有效的表達(dá)式來(lái)求值并返回計(jì)算結(jié)果,表達(dá)式解析參數(shù)expression并作為Python表達(dá)式進(jìn)行求值(從技術(shù)上說(shuō)是一個(gè)條件列表),采用globals和locals字典作為全局和局部命名空間。
【常用的句式】
1、format字符串格式化
format把字符串當(dāng)成一個(gè)模板,通過(guò)傳入的參數(shù)進(jìn)行格式化,非常實(shí)用且強(qiáng)大。
2、連接字符串
常使用+連接兩個(gè)字符串。
3、if...else條件語(yǔ)句
Python條件語(yǔ)句是通過(guò)一條或多條語(yǔ)句的執(zhí)行結(jié)果(True或者False)來(lái)決定執(zhí)行的代碼塊。其中if...else語(yǔ)句用來(lái)執(zhí)行需要判斷的情形。
4、for...in、while循環(huán)語(yǔ)句
循環(huán)語(yǔ)句就是遍歷一個(gè)序列,循環(huán)去執(zhí)行某個(gè)操作,Python中的循環(huán)語(yǔ)句有for和while。
5、import導(dǎo)入其他腳本的功能
有時(shí)需要使用另一個(gè)python文件中的腳本,這其實(shí)很簡(jiǎn)單,就像使用import關(guān)鍵字導(dǎo)入任何模塊一樣。
最近學(xué)習(xí)自動(dòng)控制原理,關(guān)于控制系統(tǒng)的一些,老師用布置了一些作業(yè)說(shuō)要用matlab畫(huà),我試試python
1.control庫(kù):用來(lái)計(jì)算脈沖響應(yīng)與階躍響應(yīng)
2.sympy:用以化簡(jiǎn)多項(xiàng)式為和的形式方便寫(xiě)參數(shù)
比如我們使用 sympy 來(lái)驗(yàn)證等式:x2+y2=(x+(2xy)1/2+y)(x?(2xy)1/2+y)
參照詳細(xì)例子:
3.matplotlib 用以畫(huà)圖
分別是單位脈沖響應(yīng)和單位節(jié)約響應(yīng)的圖像
![)QYB1_(CM2XKGM6}$)19R]P.png]( )
1. print()函數(shù):打印字符串
2. raw_input()函數(shù):從用戶鍵盤(pán)捕獲字符
3. len()函數(shù):計(jì)算字符長(zhǎng)度
4. format(12.3654,'6.2f'/'0.3%')函數(shù):實(shí)現(xiàn)格式化輸出
5. type()函數(shù):查詢對(duì)象的類型
6. int()函數(shù)、float()函數(shù)、str()函數(shù)等:類型的轉(zhuǎn)化函數(shù)
7. id()函數(shù):獲取對(duì)象的內(nèi)存地址
8. help()函數(shù):Python的幫助函數(shù)
9. s.islower()函數(shù):判斷字符小寫(xiě)
10. s.sppace()函數(shù):判斷是否為空格
11. str.replace()函數(shù):替換字符
12. import()函數(shù):引進(jìn)庫(kù)
13. math.sin()函數(shù):sin()函數(shù)
14. math.pow()函數(shù):計(jì)算次方函數(shù)
15. 3**4: 3的4次方
16. pow(3,4)函數(shù):3的4次方
17. os.getcwd()函數(shù):獲取當(dāng)前工作目錄
18. listdir()函數(shù):顯示當(dāng)前目錄下的文件
19. socket.gethostbyname()函數(shù):獲得某主機(jī)的IP地址
20. urllib.urlopen(url).read():打開(kāi)網(wǎng)絡(luò)內(nèi)容并存儲(chǔ)
21. open().write()函數(shù):寫(xiě)入文件
22. webbrowser.open_new_tab()函數(shù):新建標(biāo)簽并使用瀏覽器打開(kāi)指定的網(wǎng)頁(yè)
23. def function_name(parameters):自定義函數(shù)
24. time.sleep()函數(shù):停止一段時(shí)間
25. random.randint()函數(shù):產(chǎn)生隨機(jī)數(shù)
Python內(nèi)置函數(shù)有很多,為大家推薦5個(gè)神仙級(jí)的內(nèi)置函數(shù):
(1)Lambda函數(shù)
用于創(chuàng)建匿名函數(shù),即沒(méi)有名稱的函數(shù)。它只是一個(gè)表達(dá)式,函數(shù)體比def簡(jiǎn)單很多。當(dāng)我們需要?jiǎng)?chuàng)建一個(gè)函數(shù)來(lái)執(zhí)行單個(gè)操作并且可以在一行中編寫(xiě)時(shí),就可以用到匿名函數(shù)了。
Lamdba的主體是一個(gè)表達(dá)式,而不是一個(gè)代碼塊。僅僅能在lambda表達(dá)式中封裝有限的邏輯進(jìn)去。
利用Lamdba函數(shù),往往可以將代碼簡(jiǎn)化許多。
(2)Map函數(shù)
會(huì)將一個(gè)函數(shù)映射到一個(gè)輸入列表的所有元素上,比如我們先創(chuàng)建了一個(gè)函數(shù)來(lái)返回一個(gè)大寫(xiě)的輸入單詞,然后將此函數(shù)應(yīng)有到列表colors中的所有元素。
我們還可以使用匿名函數(shù)lamdba來(lái)配合map函數(shù),這樣可以更加精簡(jiǎn)。
(3)Reduce函數(shù)
當(dāng)需要對(duì)一個(gè)列表進(jìn)行一些計(jì)算并返回結(jié)果時(shí),reduce()是個(gè)非常有用的函數(shù)。舉個(gè)例子,當(dāng)需要計(jì)算一個(gè)整數(shù)列表所有元素的乘積時(shí),即可使用reduce函數(shù)實(shí)現(xiàn)。
它與函數(shù)的最大的區(qū)別就是,reduce()里的映射函數(shù)(function)接收兩個(gè)參數(shù),而map接收一個(gè)參數(shù)。
(4)enumerate函數(shù)
用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在for循環(huán)當(dāng)中。
它的兩個(gè)參數(shù),一個(gè)是序列、迭代器或其他支持迭代對(duì)象;另一個(gè)是下標(biāo)起始位置,默認(rèn)情況從0開(kāi)始,也可以自定義計(jì)數(shù)器的起始編號(hào)。
(5)Zip函數(shù)
用于將可迭代的對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的列表
當(dāng)我們使用zip()函數(shù)時(shí),如果各個(gè)迭代器的元素個(gè)數(shù)不一致,則返回列表長(zhǎng)度與最短的對(duì)象相同。
一些python常用函數(shù)包:
1、Urllib3
Urllib3是一個(gè) Python 的 HTTP 客戶端,它擁有 Python 標(biāo)準(zhǔn)庫(kù)中缺少的許多功能:
線程安全
連接池
客戶端 SSL/TLS 驗(yàn)證
使用分段編碼上傳文件
用來(lái)重試請(qǐng)求和處理 HTTP 重定向的助手
支持 gzip 和 deflate 編碼
HTTP 和 SOCKS 的代理支持
2、Six
six 是一個(gè)是 Python 2 和 3 的兼容性庫(kù)。這個(gè)項(xiàng)目旨在支持可同時(shí)運(yùn)行在 Python 2 和 3 上的代碼庫(kù)。它提供了許多可簡(jiǎn)化 Python 2 和 3 之間語(yǔ)法差異的函數(shù)。
3、botocore、boto3、s3transfer、awscli
Botocore是 AWS 的底層接口。Botocore是 Boto3 庫(kù)(#22)的基礎(chǔ),后者讓你可以使用 Amazon S3 和 Amazon EC2 一類的服務(wù)。Botocore 還是 AWS-CLI 的基礎(chǔ),后者為 AWS 提供統(tǒng)一的命令行界面。
S3transfer(#7)是用于管理 Amazon S3 傳輸?shù)?Python 庫(kù)。它正在積極開(kāi)發(fā)中,其介紹頁(yè)面不推薦人們現(xiàn)在使用,或者至少等版本固定下來(lái)再用,因?yàn)槠?API 可能發(fā)生變化,在次要版本之間都可能更改。Boto3、AWS-CLI和其他許多項(xiàng)目都依賴s3transfer。
4、Pip
pip是“Pip Installs Packages”的首字母遞歸縮寫(xiě)。
pip很容易使用。要安裝一個(gè)包只需pip install package name即可,而刪除包只需pip uninstall package name即可。
最大優(yōu)點(diǎn)之一是它可以獲取包列表,通常以requirements.txt文件的形式獲取。該文件能選擇包含所需版本的詳細(xì)規(guī)范。大多數(shù) Python 項(xiàng)目都包含這樣的文件。
如果結(jié)合使用pip與virtualenv(列表中的 #57),就可以創(chuàng)建可預(yù)測(cè)的隔離環(huán)境,同時(shí)不會(huì)干擾底層系統(tǒng),反之亦然。
5、Python-dateutil
python-dateutil模塊提供了對(duì)標(biāo)準(zhǔn)datetime模塊的強(qiáng)大擴(kuò)展。我的經(jīng)驗(yàn)是,常規(guī)的Python datetime缺少哪些功能,python-dateutil就能補(bǔ)足那一塊。
6、Requests
Requests建立在我們的 #1 庫(kù)——urllib3基礎(chǔ)上。它讓 Web 請(qǐng)求變得非常簡(jiǎn)單。相比urllib3來(lái)說(shuō),很多人更喜歡這個(gè)包。而且使用它的最終用戶可能也比urllib3更多。后者更偏底層,并且考慮到它對(duì)內(nèi)部的控制級(jí)別,它一般是作為其他項(xiàng)目的依賴項(xiàng)。
7、Certifi
近年來(lái),幾乎所有網(wǎng)站都轉(zhuǎn)向 SSL,你可以通過(guò)地址欄中的小鎖符號(hào)來(lái)識(shí)別它。加了小鎖意味著與該站點(diǎn)的通信是安全和加密的,能防止竊聽(tīng)行為。
8、Idna
根據(jù)其 PyPI 頁(yè)面,idna提供了“對(duì) RFC5891 中指定的應(yīng)用程序中國(guó)際化域名(IDNA)協(xié)議的支持。”
IDNA的核心是兩個(gè)函數(shù):ToASCII和ToUnicode。ToASCII會(huì)將國(guó)際 Unicode 域轉(zhuǎn)換為 ASCII 字符串。ToUnicode則逆轉(zhuǎn)該過(guò)程。在IDNA包中,這些函數(shù)稱為idna.encode()和idna.decode()
9、PyYAML
YAML是一種數(shù)據(jù)序列化格式。它的設(shè)計(jì)宗旨是讓人類和計(jì)算機(jī)都能很容易地閱讀代碼——人類很容易讀寫(xiě)它的內(nèi)容,計(jì)算機(jī)也可以解析它。
PyYAML是 Python 的YAML解析器和發(fā)射器,這意味著它可以讀寫(xiě)YAML。它會(huì)把任何 Python 對(duì)象寫(xiě)成YAML:列表、字典,甚至是類實(shí)例都包括在內(nèi)。
10、Pyasn1
像上面的IDNA一樣,這個(gè)項(xiàng)目也非常有用:
ASN.1 類型和 DER/BER/CER 編碼(X.208)的純 Python 實(shí)現(xiàn)
所幸這個(gè)已有數(shù)十年歷史的標(biāo)準(zhǔn)有很多信息可用。ASN.1是 Abstract Syntax Notation One 的縮寫(xiě),它就像是數(shù)據(jù)序列化的教父。它來(lái)自電信行業(yè)。也許你知道協(xié)議緩沖區(qū)或 Apache Thrift?這就是它們的 1984 年版本。
11、Docutils
Docutils是一個(gè)模塊化系統(tǒng),用來(lái)將純文本文檔處理為很多有用的格式,例如 HTML、XML 和 LaTeX 等。Docutils能讀取reStructuredText格式的純文本文檔,這種格式是類似于 MarkDown 的易讀標(biāo)記語(yǔ)法。
12、Chardet
你可以用chardet模塊來(lái)檢測(cè)文件或數(shù)據(jù)流的字符集。比如說(shuō),需要分析大量隨機(jī)文本時(shí),這會(huì)很有用。但你也可以在處理遠(yuǎn)程下載的數(shù)據(jù),但不知道用的是什么字符集時(shí)使用它。
13、RSA
rsa包是一個(gè)純 Python 的 RSA 實(shí)現(xiàn)。它支持:
加密和解密
簽名和驗(yàn)證簽名
根據(jù) PKCS#1 1.5 版生成密鑰
它既可以用作 Python 庫(kù),也能在命令行中使用。
14、Jmespath
JMESPath,發(fā)音為“James path”,使 Python 中的 JSON 更容易使用。它允許你聲明性地指定如何從 JSON 文檔中提取元素。
15、Setuptools
它是用于創(chuàng)建 Python 包的工具。不過(guò),其文檔很糟糕。它沒(méi)有清晰描述它的用途,并且文檔中包含無(wú)效鏈接。最好的信息源是這個(gè)站點(diǎn),特別是這個(gè)創(chuàng)建 Python 包的指南。
16、Pytz
像dateutils一樣,這個(gè)庫(kù)可幫助你處理日期和時(shí)間。有時(shí)候,時(shí)區(qū)處理起來(lái)可能很麻煩。幸好有這樣的包,可以讓事情變得簡(jiǎn)單些。
17、Futures
從 Python 3.2 開(kāi)始,python 提供current.futures模塊,可幫助你實(shí)現(xiàn)異步執(zhí)行。futures 包是該庫(kù)適用于 Python 2 的 backport。它不適用于 Python3 用戶,因?yàn)?Python 3 原生提供了該模塊。
18、Colorama
使用 Colorama,你可以為終端添加一些顏色:
更多Python知識(shí)請(qǐng)關(guān)注Python自學(xué)網(wǎng)
1、定義函數(shù)
函數(shù)是可重用的程序。本書(shū)中已經(jīng)使用了許多內(nèi)建函數(shù),如len()函數(shù)和range()函數(shù),但是還沒(méi)自定義過(guò)函數(shù)。定義函數(shù)的語(yǔ)法格式如下:
def 函數(shù)名(參數(shù)):
函數(shù)體
定義函數(shù)的規(guī)則如下:
①關(guān)鍵字def用來(lái)定義一個(gè)函數(shù),它是define的縮寫(xiě)。
②函數(shù)名是函數(shù)的唯一標(biāo)識(shí),函數(shù)名的命名規(guī)則遵循標(biāo)識(shí)符的命名規(guī)則。
③函數(shù)名后面一定要緊跟著一個(gè)括號(hào),括號(hào)內(nèi)的參數(shù)是可選的,括號(hào)后面要有冒號(hào)。
④函數(shù)體(statement)為一個(gè)或一組Python語(yǔ)句,注意要有縮進(jìn)。
⑤函數(shù)體的第一行可以有文檔字符串,用于描述函數(shù)的功能,用三引號(hào)括起來(lái)。
按照定義規(guī)則,可以定義第一個(gè)函數(shù)了:
def?hello_world():
...?????print('Hello,world!')???#?注意函數(shù)體要有縮進(jìn)
...
hello_world()
Hello,world!
這個(gè)函數(shù)不帶任何參數(shù),它的功能是打印出“Hello,world!”。最后一行代碼hello_world()是調(diào)用函數(shù),即讓Python執(zhí)行函數(shù)的代碼。
2、全局變量和局部變量
全局變量是定義在所有函數(shù)外的變量。例如,定義一個(gè)全局變量a,分別在函數(shù)test1()和test2()使用變量a:
a?=?100???#?全局變量
def?test1():
...?????print(a)
...
def?test2():
...?????print(a)
...
test1()
100
test2()
100
定義了全局變量a之后,在函數(shù)test1()和test2()內(nèi)都可以使用變量a,由此可知,全局變量的作用范圍是全局。
局部變量是在函數(shù)內(nèi)定義的變量,除了用關(guān)鍵字global修飾的變量以外。例如,在函數(shù)test1()內(nèi)定義一個(gè)局部變量a,分別在函數(shù)外和另一個(gè)函數(shù)test2()內(nèi)使用變量a:
def?test1():
...?????a?=?100???#?局部變量
...?????print(a)
...
def?test2():
...?????print(a)
...
test1()
100
print(a)
Traceback?(most?recent?call?last):
File?"stdin",?line?1,?in?module
NameError:?name?'a'?is?not?defined
test2()
Traceback?(most?recent?call?last):
File?"stdin",?line?1,?in?module
File?"stdin",?line?2,?in?test2
NameError:?name?'a'?is?not?defined
Python解釋器提示出錯(cuò)了。由于局部變量a定義在函數(shù)test1()內(nèi),因此,在函數(shù)test1()內(nèi)可以使用變量a,但是在函數(shù)外或者另一個(gè)函數(shù)test2()內(nèi)使用變量a,都會(huì)報(bào)錯(cuò),由此可見(jiàn),局部變量的作用范圍是定義它的函數(shù)內(nèi)部。
一般情況下,在函數(shù)內(nèi)聲明的變量都是局部變量,但是采用關(guān)鍵字global修飾的變量卻是全局變量:
def?test1():
...?????global?a???#?全局變量
...?????a?=?100
...?????print(a)
...
def?test2():
...?????print(a)
...
test1()
100
print(a)
100
test2()
100
這個(gè)程序與上個(gè)程序相比,只是在函數(shù)test1()中多了一行代碼“global a”,程序便可以正確運(yùn)行了。在函數(shù)test1()中,采用關(guān)鍵字global修飾了變量a之后,變量a就變成了全局變量,不僅可以在該函數(shù)內(nèi)使用,還可以在函數(shù)外或者其他函數(shù)內(nèi)使用。
如果在某個(gè)函數(shù)內(nèi)局部變量與全局變量同名,那么在該函數(shù)中局部變量會(huì)覆蓋全局變量:
a?=?100???#?全局變量
def?test1():
...?????a?=?200???#?同名局部變量
...?????print(a)
...
def?test2():
...?????print(a)
...
test1()
200
test2()
100
由于在函數(shù)test1()中定義了一個(gè)與全局變量同名的局部變量a,因此,在函數(shù)test1()中全局變量a的值被局部變量覆蓋了,但是在函數(shù)test2()中全局變量a的值沒(méi)有被覆蓋。
綜上所述,在Python中,全局變量保存的數(shù)據(jù)供整個(gè)腳本文件使用;而局部變量只用于臨時(shí)保存數(shù)據(jù),變量?jī)H供局部代碼塊使用。
分享名稱:Python脈沖函數(shù),脈沖神經(jīng)網(wǎng)絡(luò)python代碼
文章鏈接:http://chinadenli.net/article37/dsidhpj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站設(shè)計(jì)、網(wǎng)站營(yíng)銷、品牌網(wǎng)站設(shè)計(jì)、企業(yè)建站、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)