欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-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è)
老司机这里只有精品视频| 少妇熟女亚洲色图av天堂| 国产高清三级视频在线观看| 老鸭窝老鸭窝一区二区| 日韩av亚洲一区二区三区| 免费大片黄在线观看国语| 国产91麻豆精品成人区| 国产精品一区二区成人在线| 不卡免费成人日韩精品| 国产视频一区二区三区四区| 中文字幕欧美视频二区| 99久热只有精品视频免费看| 成人欧美精品一区二区三区| 亚洲熟女国产熟女二区三区| 久久经典一区二区三区| 成人国产激情在线视频| 欧美成人欧美一级乱黄| 国产一区国产二区在线视频| 韩国激情野战视频在线播放| 91天堂免费在线观看| 国产原创中文av在线播放 | 国产目拍亚洲精品区一区| 国产一区二区三区丝袜不卡 | 国产一区二区精品丝袜 | 日本不卡在线视频中文国产| 亚洲精品中文字幕在线视频| 亚洲最新中文字幕在线视频| 真实国产乱子伦对白视频不卡| 精品视频一区二区不卡| 最近的中文字幕一区二区| 欧美一区二区三区十区| 日韩欧美91在线视频| 一区二区三区在线不卡免费| 日韩免费成人福利在线| 熟妇久久人妻中文字幕| 美女极度色诱视频在线观看| 国产高清在线不卡一区| 国产精品一区二区三区激情| 日本欧美三级中文字幕| 国产91人妻精品一区二区三区 | 亚洲一区二区三区精选|