07函數

函數的定義

1.函數:就是對實現某一特定功能的代碼塊的封裝
2.作用:封裝(將功能綁定在一個函數中,想要使用者這個功能的時候,直接調用這個函數)
***3.怎么聲明函數:

格式:def 函數名(參數列表):
'''函數說明'''
函數體

def :是python中聲明函數的關鍵字
函數名:標識符。PEP8。見名知義(看到函數名要大概知道函數的功能)
函數說明:對函數的功能和參數以及返回值進行說明
():是固定格式
參數列表:(形參列表)參數名1,參數名2,參數名3...
參數的功能是用來接收從外部傳到函數內部的數據
函數體:實現函數功能的代碼塊,可能會包含一個return語句

4.初學者聲明函數的步驟:

a.確定函數的功能
b.確定函數名
c.確定參數
確定需不需要參數
確定需要幾個參數
(看實現函數的功能需不需要從外面傳數據到函數里面)
d.實現函數的功能
e.確定返回值

***5.函數的調用

函數名(實參列表)

函數名:調用的函數一定的是已經聲明過的,想要使用什么功能就調用對應的函數
實參列表:實參是用來給形參賦值的

函數的調用過程

0.回到函數聲明的地方
1.使用實參給形參賦值
2.執行函數體
3.函數體執行完成后,回到函數調用的位置。

***注意:

1.函數只有在調用的時候才會執行
2.函數調用的時候一定要保證每個形參都有值
3.一個函數可以調用多次

寫一個函數計算兩個數的和

def my_sum(num1, num2):
    """
    (這寫函數的功能的描述)求兩個數的和
    :param num1: 提供第一個數,int
    :param num2: 提供第二個數,int
    :return: 對返回值進行說明
    """
    print(num1, num2)  # 10 300
    print('=======')  # =======
    print(num1+num2)  # 310
# 函數的調用一定要寫在函數的聲明后面
my_sum(10, 300)

練習:聲明一個函數,功能是打印10個*(**********)
調用這個函數

def xing_hao(str1):
    print(10*str1)  # **********
xing_hao('*')

def print_star():
    print('*'*10)  # **********
print_star()

函數的參數

參數的作用:從函數的外面給函數傳值

1.位置參數

傳參的時候,實參按順序給形參賦值

def func1(a, b, c):
    print(a, b, c)  # 10 20 30

func1(10, 20, 30)
2.關鍵字參數

調用函數的時候:
函數名(參數=值)

def func1(a, b, c):
    print(a, b, c)  # 10 20 30

func1(b=20, a=10, c=30)

說明:位置參數和關鍵字參數可以混著來

def func1(a, b, c):
    print(a, b, c)  # 10 20 30

func1(10, c=30, b=20)
def func11(a, b='cc', c='bb', d='a'):
    print(a,b,c,d)  # 10 cc bb 100
func11(10,d='100')
3.參數的默認值

python中函數聲明的時候,參數可以設置默認值,有默認值的參數必須放在參數列表的最后

調用參數有默認值的函數,有默認值的參數可以傳參也可以不傳參

def func2(b, a=10, c=100):
    print(a, b, c)  # 20 10 30
func2(10, 20, 30)

def func2(b, a=10, c=100):
    print(a, b, c)  #20 10 100
func2(10, 20)
4.參數個數不定

函數參數的個數不確定的時候,就再聲明函數的時候,形參的前面加一個*,將形參變成元祖。
調用函數的時候,這個參數會將對應的實參作為元祖的元素保存起來

寫一個函數,求多個數的和

def my_sum(*numbers):
    print(numbers)  # (10, 20, 22, 10, 20)
    sum1 = 0
    for item in numbers:
        sum1 += item
    print(sum1)  # 82

my_sum(10, 20, 22, 10, 20)

注意:參數個數不定,可以是形參中的一部分是不定的
個數不確定的參數要放到參數的最后

def func1(char,*numbers):
    print(char,numbers)  # a (10, 20, 39)

func1('a', 10, 20, 39)

參數個數不定,也可以不存在,對應的參數的值就是一個空的元祖

def func1(char,*numbers):
    print(char,numbers)  # a ()

func1('a')
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 函數和對象 1、函數 1.1 函數概述 函數對于任何一門語言來說都是核心的概念。通過函數可以封裝任意多條語句,而且...
    道無虛閱讀 4,630評論 0 5
  • 〇、前言 本文共108張圖,流量黨請慎重! 歷時1個半月,我把自己學習Python基礎知識的框架詳細梳理了一遍。 ...
    Raxxie閱讀 19,029評論 17 410
  • 一、快捷鍵 ctr+b 執行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 5,858評論 2 16
  • I once heard that : All the poems you read, you can get t...
    嘆息林上閱讀 438評論 1 1
  • 生活也行真的是需要一種儀式感,在長久的忙碌之后,與家人相聚,靈魂與精神都在深化,愿所有奮斗中的小伙伴都能收獲最美的果實~
    三_少閱讀 168評論 0 0