国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python基礎(chǔ)之函數(shù)用法實例詳解

2020-02-23 05:47:11
字體:
供稿:網(wǎng)友

本文以實例形式較為詳細的講述了Python函數(shù)的用法,對于初學(xué)Python的朋友有不錯的借鑒價值。分享給大家供大家參考之用。具體分析如下:

通常來說,Python的函數(shù)是由一個新的語句編寫,即def,def是可執(zhí)行的語句--函數(shù)并不存在,直到Python運行了def后才存在。

函數(shù)是通過賦值傳遞的,參數(shù)通過賦值傳遞給函數(shù)

def語句將創(chuàng)建一個函數(shù)對象并將其賦值給一個變量名,def語句的一般格式如下:

def <name>(arg1,arg2,arg3,……,argN):  <statements>

def語句是實時執(zhí)行的,當(dāng)它運行的時候,它創(chuàng)建并將一個新的函數(shù)對象賦值給一個變量名,Python所有的語句都是實時執(zhí)行的,沒有像獨立的編譯時間這樣的流程

由于是語句,def可以出現(xiàn)在任一語句可以出現(xiàn)的地方--甚至是嵌套在其他語句中:

if test:  def fun():    ...else:  def func():    ......func()

可以將函數(shù)賦值給一個不同的變量名,并通過新的變量名進行調(diào)用:

othername=func()othername()

創(chuàng)建函數(shù)

內(nèi)建的callable函數(shù)可以用來判斷函數(shù)是否可調(diào)用:

>>> import math>>> x=1>>> y=math.sqrt>>> callable(x)False>>> callable(y)True

使用del語句定義函數(shù):

>>> def hello(name):    return 'Hello, '+name+'!'>>> print hello('world')Hello, world!>>> print hello('Gumby')Hello, Gumby!

編寫一個fibnacci數(shù)列函數(shù):

>>> def fibs(num):     result=[0,1]    for i in range(num-2):       result.append(result[-2]+result[-1])     return result>>> fibs(10)[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]>>> fibs(15)[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377]

在函數(shù)內(nèi)為參數(shù)賦值不會改變外部任何變量的值:

>>> def try_to_change(n):    n='Mr.Gumby'>>> name='Mrs.Entity'>>> try_to_change(name)>>> name'Mrs.Entity'

由于字符串(以及元組和數(shù)字)是不可改變的,故做參數(shù)的時候也就不會改變,但是如果將可變的數(shù)據(jù)結(jié)構(gòu)如列表用作參數(shù)的時候會發(fā)生什么:

>>> name='Mrs.Entity'>>> try_to_change(name)>>> name'Mrs.Entity'>>> def change(n):     n[0]='Mr.Gumby'>>> name=['Mrs.Entity','Mrs.Thing']>>> change(name)>>> name['Mr.Gumby', 'Mrs.Thing']

參數(shù)發(fā)生了改變,這就是和前面例子的重要區(qū)別

以下不用函數(shù)再做一次:

>>> name=['Mrs.Entity','Mrs.Thing']>>> n=name #再來一次,模擬傳參行為>>> n[0]='Mr.Gumby' #改變列表>>> name['Mr.Gumby', 'Mrs.Thing']            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 双江| 元氏县| 平果县| 门头沟区| 比如县| 宜川县| 光山县| 汤阴县| 富宁县| 黄浦区| 洪洞县| 斗六市| 芜湖县| 丽水市| 长春市| 固阳县| 棋牌| 泗水县| 石狮市| 任丘市| 英超| 科技| 石渠县| 庆元县| 宜城市| 准格尔旗| 巧家县| 明光市| 马尔康县| 酒泉市| 抚宁县| 准格尔旗| 通山县| 公安县| 烟台市| 太仓市| 福海县| 鹤壁市| 桐梓县| 花莲县| 海林市|