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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python函数的定义和使用教程

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

函數的定義:

  • def: 表示函數的關鍵字
  • 函數名: 函數的名稱, 根據函數名調用函數
  • 函數體: 函數中進行一系列的邏輯計算
  • 參數: 為函數執行完畢后, 可以給調用者返回數據

一. 為什么要用函數?

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

二. 函數的參數

函數有三種不同的參數:

  • 普通參數

定義函數

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

注:默認參數需要放在參數列表最后

  • 動態參數 *args
def func(*args):print args# 執行方式一func(11,33,4,4454,5)# 執行方式二li = [11,2,2,3,3,4,54]func(*li)
  • 動態參數 **kwargs
def func(**kwargs):print args# 執行方式一func(name='wupeiqi',age=18)# 執行方式二li = {'name':'wupeiqi', age:18, 'gender':'male'}func(**li)

三. 函數的變量

函數的變量可分為 全局變量和局部變量

全局變量(大寫)

定義:沒有縮進的變量

局部變量(小寫)

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

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

global和nolocal

global聲明是全局變量,nolocal指定上一級變量

未聲明全局變量

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

聲明全局變量

''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' x = 99 def func()global xx = 88 func() print(x) #輸出88

未指定上一級變量

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

指定上一級變量

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

global聲明是全局變量,nolocal指定上一級變量

未聲明全局變量

''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' x = 99 def func():x = 88 func() print(x) #輸出99

聲明全局變量

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

未指定上一級變量

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

指定上一級變量

''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' def func():count = 1def foo():nonlocal countcount = 12foo()print(count) func() #輸出12

四. 遞歸函數

ps: 用的好的都是大牛~

就是函數自己調用自己

特性:

  • 必須有一個明確的結束條件,

  • 每次進入深一層遞歸時,問題規模都應有所減少

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

五. lamabda匿名函數

lambda用法,冒號之前的是入參,冒號之后的是表達式,返回的值,最簡單的函數

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。