日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python函数的定义和使用

發(fā)布時(shí)間:2025/3/20 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python函数的定义和使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
def test(x): # x代表形參'''2*x+1:param x:整形數(shù)字:return:返回計(jì)算結(jié)果'''y = 2*x+1return y p = test(3) # test()表示運(yùn)行名為test函數(shù),3代表實(shí)參,給x進(jìn)行賦值 print(p)

函數(shù)的定義:

  • def: 表示函數(shù)的關(guān)鍵字
  • 函數(shù)名: 函數(shù)的名稱, 根據(jù)函數(shù)名調(diào)用函數(shù)
  • 函數(shù)體: 函數(shù)中進(jìn)行一系列的邏輯計(jì)算
  • 參數(shù): 為函數(shù)執(zhí)行完畢后, 可以給調(diào)用者返回?cái)?shù)據(jù)

一. 為什么要用函數(shù)?

  • 減少代碼量
  • 保持一致性
  • 易維

二. 函數(shù)的參數(shù)

函數(shù)有三種不同的參數(shù):

  • 普通參數(shù)
########## 定義函數(shù) ######### # name 叫做函數(shù)func的形式參數(shù),簡稱:形參 def func(name):print name########## 執(zhí)行函數(shù) ######### # 'peiqi' 叫做函數(shù)func的實(shí)際參數(shù),簡稱:實(shí)參 func('peiqi')
  • 默認(rèn)參數(shù)
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' def func(name, age = 18):print "%s:%s" %(name,age)# 指定參數(shù) func('peiqi', 19) # 使用默認(rèn)參數(shù) func('alex')

注:默認(rèn)參數(shù)需要放在參數(shù)列表最后

  • 動(dòng)態(tài)參數(shù) *args
def func(*args):print args# 執(zhí)行方式一 func(11,33,4,4454,5)# 執(zhí)行方式二 li = [11,2,2,3,3,4,54] func(*li)
  • 動(dòng)態(tài)參數(shù) **kwargs
def func(**kwargs):print args# 執(zhí)行方式一 func(name='peiqi',age=18)# 執(zhí)行方式二 li = {'name':'peiqi', age:18, 'gender':'male'} func(**li)

三. 函數(shù)的變量

函數(shù)的變量可分為 全局變量和局部變量

全局變量(大寫)

定義:沒有縮進(jìn)的變量

局部變量(小寫)

定義:子程序下定義的變量

''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' name = 'python' # 這里就指全局變量def chan_name():name = '帥了一比' # 這里就指局部變量print('chan_name', name)chan_name() print(name) #結(jié)果 chan_name 帥了一比 python

global和nolocal

global聲明是全局變量,nolocal指定上一級(jí)變量

未聲明全局變量

x = 99 def func():x = 88 func() print(x) #輸出99

聲明全局變量

x = 99 def func()global xx = 88 func() print(x) #輸出88

未指定上一級(jí)變量

def func():count = 1def foo():count = 12foo()print(count) func() #輸出1

指定上一級(jí)變量

def func():count = 1def foo():nonlocal countcount = 12foo()print(count) func() #輸出12

四. 遞歸函數(shù)

ps: 用的好的都是大牛~

就是函數(shù)自己調(diào)用自己

特性:

  • 必須有一個(gè)明確的結(jié)束條件,

  • 每次進(jìn)入深一層遞歸時(shí),問題規(guī)模都應(yīng)有所減少

''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' def calc(n):print(n)if int(n / 2) == 0:return n # 當(dāng)上面的條件成立后一個(gè)真值,返回到函數(shù)res = calc(int(n / 2)) print(n,res) return res # 返回res的值,要將真值一層一層傳遞回去calc(10)

五. lamabda匿名函數(shù)

lambda用法,冒號(hào)之前的是入?yún)?#xff0c;冒號(hào)之后的是表達(dá)式,返回的值,最簡單的函數(shù)

print [(lambda x:x*x)(x)for x in range(11)] #結(jié)果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100] print (lambda x:x*x)(3) #結(jié)果:9 g=lambda x:x*x print g(4) #結(jié)果:16

總結(jié)

以上是生活随笔為你收集整理的Python函数的定义和使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。