www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 消費(fèi)電子 > 消費(fèi)電子
[導(dǎo)讀]Python由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會(huì)的吉多·范羅蘇姆于1990年代初設(shè)計(jì),作為一門(mén)叫做ABC語(yǔ)言的替代品。 Python提供了高效的高級(jí)數(shù)據(jù)結(jié)構(gòu),還能簡(jiǎn)單有效地面向?qū)ο缶幊獭?

Python由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會(huì)的吉多·范羅蘇姆于1990年代初設(shè)計(jì),作為一門(mén)叫做ABC語(yǔ)言的替代品。 Python提供了高效的高級(jí)數(shù)據(jù)結(jié)構(gòu),還能簡(jiǎn)單有效地面向?qū)ο缶幊獭ython語(yǔ)法和動(dòng)態(tài)類(lèi)型,以及解釋型語(yǔ)言的本質(zhì),使它成為多數(shù)平臺(tái)上寫(xiě)腳本和快速開(kāi)發(fā)應(yīng)用的編程語(yǔ)言, [2] 隨著版本的不斷更新和語(yǔ)言新功能的添加,逐漸被用于獨(dú)立的、大型項(xiàng)目的開(kāi)發(fā)。 Python解釋器易于擴(kuò)展,可以使用C語(yǔ)言或C++(或者其他可以通過(guò)C調(diào)用的語(yǔ)言)擴(kuò)展新的功能和數(shù)據(jù)類(lèi)型。 Python也可用于可定制化軟件中的擴(kuò)展程序語(yǔ)言。Python豐富的標(biāo)準(zhǔn)庫(kù),提供了適用于各個(gè)主要系統(tǒng)平臺(tái)的源碼或機(jī)器碼。

由于Python語(yǔ)言的簡(jiǎn)潔性、易讀性以及可擴(kuò)展性,在國(guó)外用Python做科學(xué)計(jì)算的研究機(jī)構(gòu)日益增多,一些知名大學(xué)已經(jīng)采用Python來(lái)教授程序設(shè)計(jì)課程。例如卡耐基梅隆大學(xué)的編程基礎(chǔ)、麻省理工學(xué)院的計(jì)算機(jī)科學(xué)及編程導(dǎo)論就使用Python語(yǔ)言講授。眾多開(kāi)源的科學(xué)計(jì)算軟件包都提供了Python的調(diào)用接口,例如著名的計(jì)算機(jī)視覺(jué)庫(kù)OpenCV、三維可視化庫(kù)VTK、醫(yī)學(xué)圖像處理庫(kù)ITK。而Python專(zhuān)用的科學(xué)計(jì)算擴(kuò)展庫(kù)就更多了,例如如下3個(gè)十分經(jīng)典的科學(xué)計(jì)算擴(kuò)展庫(kù):NumPy、SciPy和matplotlib,它們分別為Python提供了快速數(shù)組處理、數(shù)值運(yùn)算以及繪圖功能。因此Python語(yǔ)言及其眾多的擴(kuò)展庫(kù)所構(gòu)成的開(kāi)發(fā)環(huán)境十分適合工程技術(shù)、科研人員處理實(shí)驗(yàn)數(shù)據(jù)、制作圖表,甚至開(kāi)發(fā)科學(xué)計(jì)算應(yīng)用程序。2018年3月,該語(yǔ)言作者在郵件列表上宣布Python 2.7將于2020年1月1日終止支持。用戶(hù)如果想要在這個(gè)日期之后繼續(xù)得到與Python 2.7有關(guān)的支持,則需要付費(fèi)給商業(yè)供應(yīng)商。

一,函數(shù)簡(jiǎn)介

如數(shù)學(xué)上的函數(shù)一樣,例如三角函數(shù)sin(),給一個(gè)角度值,他就會(huì)有一個(gè)結(jié)果。用計(jì)算器計(jì)算時(shí),我們知道輸入角度就會(huì)有結(jié)果,那么在編程時(shí)如何實(shí)現(xiàn)sin()這個(gè)函數(shù)的功能呢?

1,函數(shù)的基本概念

函數(shù)也叫功能,它是對(duì)數(shù)據(jù)與代碼的封裝,實(shí)現(xiàn)了代碼的復(fù)用。

當(dāng)我們?cè)趐ycharm中寫(xiě)代碼時(shí),假如先寫(xiě)了一個(gè)功能的代碼,我們可以右鍵進(jìn)行運(yùn)行;如果我們又寫(xiě)了一個(gè)功能代碼,點(diǎn)擊運(yùn)行時(shí),兩個(gè)功能代碼都會(huì)運(yùn)行,這時(shí)就可以把各個(gè)功能的代碼塊進(jìn)行封裝起來(lái),寫(xiě)成函數(shù)。下次想要用哪個(gè)功能就調(diào)哪個(gè)函數(shù)。

2,函數(shù)的分類(lèi)

python函數(shù)有四類(lèi),分別是:內(nèi)置函數(shù)(builtin functions),標(biāo)準(zhǔn)庫(kù)函數(shù),第三方庫(kù)函數(shù),自定義函數(shù)。

內(nèi)置函數(shù):python一經(jīng)運(yùn)行就加載到內(nèi)存的,例如有l(wèi)ist,len,str等函數(shù)

標(biāo)準(zhǔn)庫(kù)函數(shù):需要用import語(yǔ)句進(jìn)行導(dǎo)入,常見(jiàn)標(biāo)準(zhǔn)庫(kù)有time,os等

第三方庫(kù):需要另外下載到本地的庫(kù),例如opencv庫(kù),然后用import導(dǎo)入

自定義函數(shù):自己在模塊里的寫(xiě)的函數(shù)

二,函數(shù)的定義與調(diào)用

1,python函數(shù)的定義

定義語(yǔ)法如下:

def 函數(shù)名 (參數(shù)) :

'''文檔字符串'''

函數(shù)體/若干語(yǔ)句

def func():

"""

打印'人生苦短,我學(xué)python'

"""

print('人生苦短,我學(xué)python')

當(dāng)python解釋器遇到def時(shí),他就會(huì)在內(nèi)存里創(chuàng)建一塊內(nèi)存塊來(lái)存儲(chǔ)代碼信息,即函數(shù)對(duì)象,然后將內(nèi)存塊的首地址給函數(shù)名稱(chēng),實(shí)現(xiàn)變量名與函數(shù)對(duì)象的綁定。

然而并不會(huì)執(zhí)行,因?yàn)檫€沒(méi)有調(diào)用。

2,函數(shù)的調(diào)用

語(yǔ)法格式如下:

函數(shù)名()

def func():

"""

打印'人生苦短,我學(xué)python'

"""

print('人生苦短,我學(xué)python')

func()

# 人生苦短,我學(xué)python

在函數(shù)名的后面加上英文小括號(hào)()即可。

另外除了用函數(shù)名來(lái)綁定函數(shù)對(duì)象之外,也可以用其他變量名來(lái)綁定函數(shù)。

def func():

"""

打印'人生苦短,我學(xué)python'

"""

print('人生苦短,我學(xué)python')

func_copy = func # func_copy也與函數(shù)對(duì)象進(jìn)行了綁定

func_copy()

# 人生苦短,我學(xué)python

函數(shù)對(duì)象也有三屬性,也就是類(lèi)型,id,值。

類(lèi)型就是函數(shù)類(lèi)型;id就是函數(shù)對(duì)象的地址;值就是函數(shù)封裝的各種數(shù)據(jù)和代碼,但是利用print打印時(shí)只會(huì)打印出函數(shù)的id地址。

def func():

"""

打印'人生苦短,我學(xué)python'

"""

print('人生苦短,我學(xué)python')

func_copy = func

print(func_copy, 'and', type(func_copy), 'and', id(func_copy), 'and', id(func))

# and and 2981859760744 and 2981859760744

3,return語(yǔ)句

return語(yǔ)句用于將函數(shù)處理結(jié)果返回,或者返回一些其他數(shù)據(jù)。當(dāng)return被執(zhí)行,代表函數(shù)調(diào)用結(jié)束,也就是說(shuō)return語(yǔ)句的作用之二就是結(jié)束函數(shù)的調(diào)用。

def maxab(a, b):

'''

比較兩個(gè)整數(shù)的大小

'''

if type(a) == int and type(b) == int:

return a if a >= b else b

else:

return '類(lèi)型錯(cuò)誤'

print(maxab(1, 2))

print(maxab(1, 'q'))

# 2

# 類(lèi)型錯(cuò)誤

如果函數(shù)體里不寫(xiě)return,默認(rèn)返回None。

def pr():

print(666)

print(pr()) # 先調(diào)用pr,再打印出返回值

# 666

# None

return可以返回任何東西。

def test():

return [1, 2, 3, 4] # 返回一個(gè)列表

print(test())

def test():

return test # 返回函數(shù)對(duì)象本身

print(test()())

def test():

return range(5) # 返回一個(gè)range對(duì)象

for itm in test():

print(itm)

# [1, 2, 3, 4]

#

# 0

# 1

# 2

# 3

# 4

三,變量的作用域(全局變量和局部變量)

變量起作用的范圍稱(chēng)為變量的作用域,不同作用域內(nèi)同名變量之間互不影響。變量分為:全局變量、局部變量。

所謂起作用的范圍就是,某些代碼他隸屬于不同的語(yǔ)句。例如定義了一個(gè)函數(shù),函數(shù)體里的所有代碼是屬于這個(gè)函數(shù)的,因?yàn)榭s進(jìn)已經(jīng)不同了。在函數(shù)體里的定義的變量在函數(shù)里面可以使用,但是在函數(shù)外邊卻用不了。

1,全局變量

1 ,在函數(shù)和類(lèi)定義之外聲明的變量。全局變量的縮進(jìn)為0,作用域?yàn)槎x的模塊,從定義位置開(kāi)始直到模塊結(jié)束。也就是說(shuō),全局變量即使沒(méi)有定義在函數(shù)里邊,但是在函數(shù)里邊也可以使用,只是使用而已,修改的話(huà)需要作說(shuō)明。這就是全局變量在整個(gè).py文件里都可以訪(fǎng)問(wèn)使用的原因。

2 ,全局變量降低了函數(shù)的通用性和可讀性。應(yīng)盡量避免全局變量的使用。

3 ,要在函數(shù)內(nèi)修改全局變量的值,使用 global 聲明一下。

out = 520 # 全局變量

print(out, 'and id is ', id(out))

def test():

out = 520 # 局部變量

print(out, 'and id is ', id(out))

test()

# 520 and id is 2305420215504

# 520 and id is 2305450107984

# 明顯兩個(gè)id不同,因?yàn)樵诤瘮?shù)里面對(duì)全局變量進(jìn)行修改,會(huì)隱藏全部變量,另外生成一個(gè)新對(duì)象

兩個(gè)out變量名字雖然相同,但不是綁定的同一個(gè)對(duì)象。但是當(dāng)整數(shù)比較小時(shí),由于整數(shù)緩存,他們都是同一個(gè)變量。

out = 520

print(out, 'and id is ', id(out))

def test():

global out # 用global聲明out變量和全局變量out是同一個(gè)

print(out, 'and id is ', id(out))

test()

# 520 and id is 2355312182480

# 520 and id is 2355312182480

在函數(shù)里用global把同名變量聲明為全局變量,則會(huì)修改函數(shù)外部的變量。

2,局部變量

1 ,在函數(shù)體中聲明的變量。(包括形參變量也是局部變量)。

2 ,局部變量的引用比全局變量快,優(yōu)先考慮使用。這里是說(shuō),在函數(shù)或者類(lèi)里面操作自己的局部變量比操作外部變量快。

3 ,如果局部變量和全局變量同名,如果對(duì)同名變量進(jìn)行賦值操作,則在函數(shù)內(nèi)隱藏全局變量,只使用同名的局部變量

Python 函數(shù)

函數(shù)是組織好的,可重復(fù)使用的,用來(lái)實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。

函數(shù)能提高應(yīng)用的模塊性,和代碼的重復(fù)利用率。你已經(jīng)知道Python提供了許多內(nèi)建函數(shù),比如print()。但你也可以自己創(chuàng)建函數(shù),這被叫做用戶(hù)自定義函數(shù)。

定義一個(gè)函數(shù)

你可以定義一個(gè)由自己想要功能的函數(shù),以下是簡(jiǎn)單的規(guī)則:

函數(shù)代碼塊以 def 關(guān)鍵詞開(kāi)頭,后接函數(shù)標(biāo)識(shí)符名稱(chēng)和圓括號(hào)()。

任何傳入?yún)?shù)和自變量必須放在圓括號(hào)中間。圓括號(hào)之間可以用于定義參數(shù)。

函數(shù)的第一行語(yǔ)句可以選擇性地使用文檔字符串—用于存放函數(shù)說(shuō)明。

函數(shù)內(nèi)容以冒號(hào)起始,并且縮進(jìn)。

return [表達(dá)式] 結(jié)束函數(shù),選擇性地返回一個(gè)值給調(diào)用方。不帶表達(dá)式的return相當(dāng)于返回 None。

語(yǔ)法

def functionname( parameters ): "函數(shù)_文檔字符串" function_suite return [expression]

默認(rèn)情況下,參數(shù)值和參數(shù)名稱(chēng)是按函數(shù)聲明中定義的順序匹配起來(lái)的。

實(shí)例

以下為一個(gè)簡(jiǎn)單的Python函數(shù),它將一個(gè)字符串作為傳入?yún)?shù),再打印到標(biāo)準(zhǔn)顯示設(shè)備上。

實(shí)例(Python 2.0+)

def printme( str ): "打印傳入的字符串到標(biāo)準(zhǔn)顯示設(shè)備上" print str return

函數(shù)調(diào)用

定義一個(gè)函數(shù)只給了函數(shù)一個(gè)名稱(chēng),指定了函數(shù)里包含的參數(shù),和代碼塊結(jié)構(gòu)。

這個(gè)函數(shù)的基本結(jié)構(gòu)完成以后,你可以通過(guò)另一個(gè)函數(shù)調(diào)用執(zhí)行,也可以直接從Python提示符執(zhí)行。

如下實(shí)例調(diào)用了printme()函數(shù):

實(shí)例(Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- # 定義函數(shù) def printme( str ): "打印任何傳入的字符串" print str return # 調(diào)用函數(shù) printme("我要調(diào)用用戶(hù)自定義函數(shù)!") printme("再次調(diào)用同一函數(shù)")

以上實(shí)例輸出結(jié)果:

我要調(diào)用用戶(hù)自定義函數(shù)!

再次調(diào)用同一函數(shù)

參數(shù)傳遞

在 python 中,類(lèi)型屬于對(duì)象,變量是沒(méi)有類(lèi)型的:

a=[1,2,3] a="Runoob"

以上代碼中,[1,2,3] 是 List 類(lèi)型,"Runoob" 是 String 類(lèi)型,而變量 a 是沒(méi)有類(lèi)型,她僅僅是一個(gè)對(duì)象的引用(一個(gè)指針),可以是 List 類(lèi)型對(duì)象,也可以指向 String 類(lèi)型對(duì)象。

可更改(mutable)與不可更改(immutable)對(duì)象

在 python 中,strings, tuples, 和 numbers 是不可更改的對(duì)象,而 list,dict 等則是可以修改的對(duì)象。

不可變類(lèi)型:變量賦值 a=5 后再賦值 a=10,這里實(shí)際是新生成一個(gè) int 值對(duì)象 10,再讓 a 指向它,而 5 被丟棄,不是改變a的值,相當(dāng)于新生成了a。

可變類(lèi)型:變量賦值 la=[1,2,3,4] 后再賦值 la[2]=5 則是將 list la 的第三個(gè)元素值更改,本身la沒(méi)有動(dòng),只是其內(nèi)部的一部分值被修改了。

python 函數(shù)的參數(shù)傳遞:

不可變類(lèi)型:類(lèi)似 c++ 的值傳遞,如 整數(shù)、字符串、元組。如fun(a),傳遞的只是a的值,沒(méi)有影響a對(duì)象本身。比如在 fun(a)內(nèi)部修改 a 的值,只是修改另一個(gè)復(fù)制的對(duì)象,不會(huì)影響 a 本身。

可變類(lèi)型:類(lèi)似 c++ 的引用傳遞,如 列表,字典。如 fun(la),則是將 la 真正的傳過(guò)去,修改后fun外部的la也會(huì)受影響

python 中一切都是對(duì)象,嚴(yán)格意義我們不能說(shuō)值傳遞還是引用傳遞,我們應(yīng)該說(shuō)傳不可變對(duì)象和傳可變對(duì)象。

python 傳不可變對(duì)象實(shí)例

實(shí)例(Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- def ChangeInt( a ): a = 10 b = 2 ChangeInt(b) print b # 結(jié)果是 2

實(shí)例中有 int 對(duì)象 2,指向它的變量是 b,在傳遞給 ChangeInt 函數(shù)時(shí),按傳值的方式復(fù)制了變量 b,a 和 b 都指向了同一個(gè) Int 對(duì)象,在 a=10 時(shí),則新生成一個(gè) int 值對(duì)象 10,并讓 a 指向它。

聲明:該篇文章為本站原創(chuàng),未經(jīng)授權(quán)不予轉(zhuǎn)載,侵權(quán)必究。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉