1. 程式人生 > >python函數

python函數

參數 通過 pytho amp 變參 默認函數 傳參數 靈活 需要

  一、函數的定義和調用

  函數是將實現相關功能的語句通過一個名字封裝在一起,可以重復利用的代碼塊,簡化代碼。

  函數的定義:

  def fun():

    print(‘hello‘)

  當我們想在同一文件中調用這個函數時,只要寫出函數的名字就可以了,eg: fun()

  二、函數的參數

  我們在寫程序時,可以傳遞參數,這樣一些地方可以不用寫死,使用起來比較靈活。分為形參和實參,形參就是函數定義時寫的變量,實參是調用函數時傳遞的參數。

  函數的四種形參類型:位置參數(必傳參數)、默認參數、可變參數、關鍵字參數。這四種參數就是按這個順序來使用的,位置不能改變。

  1、位置參數(必填參數)

  def open(file_name):

    fr = open(file_name)

    f.read()

  調用方式:open(a.txt)

  2、默認函數,

  默認參數不是必傳函數,如果不傳默認傳遞給出的參數,如果傳遞其他參數,則顯示其他參數

  def reg(name,age,sex=‘mail‘)

    print(‘name is %s,age is %s,sex is &s‘%(name,age,sex))

  調用方式:reg(‘candy‘,‘13‘)

  這種情況sex打印的值是‘mail’

  3、可變參數

  如果函數中要傳遞的參數很多,按照順序列出非常麻煩,我們可以用一個可變參數來定義,可變參數也不是必填參數

  def post(*args)

    print(args)

  調用方式:post(‘www.baidu.com‘,‘post‘,‘denglu‘) 可變參數打印出的是一個元組

  4、關鍵字參數(不是必填)

  def kw(**kwargs)

    print(kwargs)

  調用方式一:kw(name=‘candy‘,age=20) 打印出來時一個字典,調用得用x=11這種方式

  調用方式二:kw(**{‘name‘:‘candy‘,‘age‘:20}) 傳入字典調用的時候,前面要加**

  四種參數一起使用的例子:

  技術分享

  註:如果函數定義時把所有的參數都寫出來,調用函數時不想按照定義時參數的順序去傳遞,可以用下面這種方法:

  技術分享

  三、函數的返回值

  每個函數都有返回值,如果沒有在函數裏面指定返回值的話,在python裏面函數執行完之後,默認會返回一個None,函數也可以有多個返回值,如果有多個返回值的話,會把返回值都放到一個元組中,返回的是一個元組。

  為什麽要有返回值呢,是因為在這個函數操作完之後,它的結果在後面的程序裏面需要用到。

  函數中的返回值使用return,函數在遇到return就立即結束,return後面的代碼不會被執行。

  技術分享技術分享

  四、局部變量和全局變量

  在函數外面定義的變量是全局變量,在函數裏面定義的變量是局部變量。

  局部變量只能在函數內部使用,在函數外面使用會報錯,全局變量可以在函數內部使用,也可以在函數外面使用。

  在函數內部可以改變全局變量,但是是分情況的,要看全局變量的數據類型,如果是字符串和int類型,在局部變量中修改時,前面要加global,如果是list、字典和集合的話,則不用加。

  技術分享

python函數