欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

07-01函數(shù)的基本使用

一 引入

? 基于前一部分的學(xué)習(xí),我們已經(jīng)能開發(fā)一些功能簡單的小程序了,但隨著程序功能的增多,代碼量隨之增大,此時仍不加區(qū)分地把所有功能的實現(xiàn)代碼放到一起,將會使得程序的組織結(jié)構(gòu)不清晰,可讀性變差,且程序中需要頻繁使用同一功能時,只能重復(fù)編寫該功能的實現(xiàn)代碼,日積月累,程序?qū)⒆兊萌唛L,并且當(dāng)某一功能需要修改時,又不得不找出所有定義及使用這段功能的地方修改之,管理維護(hù)的難度極大,好吧,裝了半天逼,到底該如何解決提出的這些問題呢?

成都創(chuàng)新互聯(lián)公司成立十余年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供成都網(wǎng)站設(shè)計、網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁設(shè)計、域名注冊、網(wǎng)絡(luò)營銷、VI設(shè)計、網(wǎng)站改版、漏洞修補等服務(wù)。網(wǎng)站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設(shè)都非常重要,成都創(chuàng)新互聯(lián)公司通過對建站技術(shù)性的掌握、對創(chuàng)意設(shè)計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。

插圖:惡搞圖01
07-01 函數(shù)的基本使用

我們完全可以從現(xiàn)實生活中找到簡化程序設(shè)計的方案:比如一個修理工會事先準(zhǔn)備好螺絲刀、錘子等工具,這樣在進(jìn)行修理的過程中,需要用到擰螺絲的功能時就直接拿來螺絲刀使用,需要用到錘擊物體的功能時就直接拿來錘子使用,而無需臨時制造。這個例子的核心在于’事先準(zhǔn)備好工具’,遇到應(yīng)用場景時’拿來就用’,。

在程序中,具備某一功能的‘工具’指的就是函數(shù),‘事先準(zhǔn)備工具’的過程即函數(shù)的定義,‘拿來就用’即函數(shù)的調(diào)用。

二 定義函數(shù)

函數(shù)的使用必須遵循’先定義,后調(diào)用’的原則。函數(shù)的定義就相當(dāng)于事先將函數(shù)體代碼保存起來,然后將內(nèi)存地址賦值給函數(shù)名,函數(shù)名就是對這段代碼的引用,這和變量的定義是相似的。沒有事先定義函數(shù)而直接調(diào)用,就相當(dāng)于在引用一個不存在的’變量名’。

定義函數(shù)的語法

def 函數(shù)名(參數(shù)1,參數(shù)2,...):
    """文檔描述"""
    函數(shù)體
    return 值
  1. def: 定義函數(shù)的關(guān)鍵字;
  2. 函數(shù)名:函數(shù)名指向函數(shù)內(nèi)存地址,是對函數(shù)體代碼的引用。函數(shù)的命名應(yīng)該反映出函數(shù)的功能;
  3. 括號:括號內(nèi)定義參數(shù),參數(shù)是可有可無的,且無需指定參數(shù)的類型;
  4. 冒號:括號后要加冒號,然后在下一行開始縮進(jìn)編寫函數(shù)體的代碼;
  5. """文檔描述""": 描述函數(shù)功能,參數(shù)介紹等信息的文檔,非必要,但是建議加上,從而增強函數(shù)的可讀性;
  6. 函數(shù)體:由語句和表達(dá)式組成;
  7. return 值:定義函數(shù)的返回值,return是可有可無的。

插圖:惡搞圖02
07-01 函數(shù)的基本使用

參數(shù)是函數(shù)的調(diào)用者向函數(shù)體傳值的媒介,若函數(shù)體代碼邏輯依賴外部傳來的參數(shù)時則需要定義為參函數(shù),

def my_min(x,y):
    res=x if x < y else y
    return res

否則定義為無參函數(shù)

def interactive():
    user=input('user>>: ').strip()
    pwd=input('password>>: ').strip()
    return (user,pwd)

? 函數(shù)體為pass代表什么都不做,稱之為空函數(shù)。定義空函數(shù)通常是有用的,因為在程序設(shè)計的開始,往往是先想好程序都需要完成什么功能,然后把所有功能都列舉出來用pass充當(dāng)函數(shù)體“占位符”,這將使得程序的體系結(jié)構(gòu)立見,清晰且可讀性強。例如要編寫一個ftp程序,我們可能想到的功能有用戶認(rèn)證,下載,上傳,瀏覽,切換目錄等功能,可以先做出如下定義:

def auth_user():
    """user authentication function"""
    pass

def download_file():
    """download file function"""
    pass

def upload_file():
    """upload file function"""
    pass

def ls():
    """list contents function"""
    pass

def cd():
    """change directory"""
    pass

之后我們便可以統(tǒng)籌安排編程任務(wù),有選擇性的去實現(xiàn)上述功能來替換掉pass,從而提高開發(fā)效率。

插圖:惡搞圖03
07-01 函數(shù)的基本使用

三 調(diào)用函數(shù)與函數(shù)返回值

? 函數(shù)的使用分為定義階段與調(diào)用階段,定義函數(shù)時只檢測語法,不執(zhí)行函數(shù)體代碼,函數(shù)名加括號即函數(shù)調(diào)用,只有調(diào)用函數(shù)時才會執(zhí)行函數(shù)體代碼

#定義階段
def foo():
    print('in the foo')
    bar()

def bar():
    print('in the bar')

#調(diào)用階段
foo()

執(zhí)行結(jié)果:

in the foo
in the bar

定義階段函數(shù)foo與bar均無語法錯誤,而在調(diào)用階段調(diào)用foo()時,函數(shù)foo與bar都早已經(jīng)存在于內(nèi)存中了,所以不會有任何問題。

插圖:惡搞圖04
07-01 函數(shù)的基本使用

按照在程序出現(xiàn)的形式和位置,可將函數(shù)的調(diào)用形式分為三種:

#1、語句形式:
foo()

#2、表達(dá)式形式:
m=my_min(1,2) #將調(diào)用函數(shù)的返回值賦值給x
n=10*my_min(1,2) #將調(diào)用函數(shù)的返回值乘以10的結(jié)果賦值給n

# 3、函數(shù)調(diào)用作為參數(shù)的形式:
# my_min(2,3)作為函數(shù)my_min的第二個參數(shù),實現(xiàn)了取1,2,3中的較小者賦值給m
m=my_min(1,my_min(2,3))

若需要將函數(shù)體代碼執(zhí)行的結(jié)果返回給調(diào)用者,則需要用到return。return后無值或直接省略return,則默認(rèn)返回None,return的返回值無類型限制,且可以將多個返回值放到一個元組內(nèi)。

>>> def test(x,y,z):
...     return x,y,z #等同于return (x,y,z)
... 
>>> res=test(1,2,3)
>>> print(res)
(1, 2, 3)

return是一個函數(shù)結(jié)束的標(biāo)志,函數(shù)內(nèi)可以有多個return,但只執(zhí)行一次函數(shù)就結(jié)束了,并把return后定義的值作為本次調(diào)用的結(jié)果返回。
07-01 函數(shù)的基本使用

當(dāng)前標(biāo)題:07-01函數(shù)的基本使用
當(dāng)前鏈接:http://chinadenli.net/article16/gohpgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)網(wǎng)站內(nèi)鏈、App開發(fā)商城網(wǎng)站、云服務(wù)器Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
国产一区二区不卡在线视频| 熟女白浆精品一区二区| 91在线播放在线播放观看| 国产精品一区二区传媒蜜臀| 精品国产丝袜一区二区| 亚洲av专区在线观看| 日本福利写真在线观看| 微拍一区二区三区福利| 午夜精品久久久99热连载| 欧美一区二区三区播放| 亚洲二区欧美一区二区| 欧美同性视频免费观看| 欧美精品专区一区二区| 日本人妻熟女一区二区三区| 草草视频精品在线观看| 深夜福利欲求不满的人妻| 亚洲男人的天堂久久a| 青青操视频在线播放免费| 欧美久久一区二区精品| 国产精品视频一区麻豆专区| 欧美一区二区日韩一区二区| 亚洲最大福利在线观看| 人妻久久这里只有精品| 91香蕉视频精品在线看| 91精品国产综合久久福利| 超碰在线播放国产精品| 午夜福利国产精品不卡| 婷婷九月在线中文字幕| 免费啪视频免费欧美亚洲| 午夜精品国产一区在线观看| 白白操白白在线免费观看| 老司机精品线观看86| 亚洲欧美国产中文色妇| 91插插插外国一区二区| 久久精品国产亚洲av麻豆尤物| 夜夜躁狠狠躁日日躁视频黑人| 99久久国产精品亚洲| 日韩三级黄色大片免费观看| 激情五月天深爱丁香婷婷| 99热在线播放免费观看| 黑鬼糟蹋少妇资源在线观看|