一、初識函數
左移、右移、發(fā)射子彈
怎么解決函數
使用函數
#發(fā)射子彈
print('上彈')
print('瞄準')
print('扣扳機')
print('=====')
#右移
print('看后視鏡')
print('向右打方向盤')
print('踩油門')
print('回正方向盤')
#左移
print('看后視鏡')
print('向左打方向盤')
print('踩油門')
print('回正方向盤')
二、函數的定義
1.函數:就是對實現某一特定功能的代碼塊的封裝
2.作用:封裝(將功能綁定在一個函數中,想要使用這個功能的時候直接調用函數)
3.怎么聲明函數:
def 函數名(參數列表):
'''函數說明'''
函數體
def:是python中聲明函數的關鍵字
函數說明:對函數的功能和參數以及返回值進行說明
函數名:標識符、PEP8、見名知義
()是固定格式
參數列表:形參列表 參數名1,參數名2,參數名3
-----參數的功能是用來接收從外部傳到函數內部的數據
函數體:實現函數功能的代碼塊,可能會包含一個return語句
4.初學者聲明函數的步驟:
- 確定函數的功能
- 確定函數名
- 確定參數
確定需不需要參數
確定需要幾個參數
(看實現函數的功能需不需要從外面?zhèn)鲾祿胶瘮道锩? - 實現函數的功能
- 確定返回值
5.函數的調用
函數名(實參列表)
函數名:調用的函數一定是已經給聲明過得,想要使用什么功能就調用對應的函數
實參列表:實參是用來給形參賦值的
****函數的調用過程:
- 回到函數聲明的地方
- 使用實參給形參賦值
- 執(zhí)行函數體
- 函數體執(zhí)行完成后回到函數調用的位置再執(zhí)行后面的
***注意: - 函數只有在調用的時候才會執(zhí)行
- 函數調用的時候一定要保證每個形參都有值
#1.寫一個函數,計算兩個數的和
def sum1(number1,number2):
"""
求兩個數的和
:param number1:提供第一個數,int
:param number2:提供第二個數,int
:return:對返回值進行說明
print(number1+number2)
#函數的調用一定是寫在函數的聲明后面
sum1(1,2)
結果
3
#練習:聲明一個函數,功能是打印十個*
def copy():
print('*'*10)
copy()
copy()
結果
**********
**********
三、函數的參數
參數的作用:從函數的外面給函數傳值
1.位置參數
傳參的時候,實參按順序給形參賦值
def func1(a,b,c):
print(a,b,c)
func1(2,3,4)
2 3 4
2.關鍵字參數
調用函數的時候:
函數名(參數=值)
func1(b=20,c=10,a=50)
#說明:位置參數和關鍵字參數可以混著來
print('======')
50 20 10
======
3.參數的默認值
python中函數聲明的時候參數可以設置為默認值,有默認值的參數必須放在參數列表的最后
調用參數有默認值的函數,有默認值的參數可以傳參也可以不傳參
def func2(a,b,c=100):
print(a,b,c)
func2(10,20,40)
10 20 40
4.參數個數不定
函數參數的個數不確定的時候,就在聲明函數的時候,形參的前面加一個*,將形參變成元組。
調用函數的時候,這個參數會將對應的實參作為元組的元素保護起來
#寫一個函數,求多個數的和
def my_sum(*numbers):
print(numbers)
sum1 = 0
for item in numbers:
sum1 += item
print(sum1)
my_sum(10,20,30)
結果
60
注意:參數個數不定,可以是形參中的一部分是不定的
#######個數不確定的參數要放在參數的最后
def func1(char,*number):
print(char,number)
func1('a',12,12,13)
#參數個數不定,也可以不傳參,對應的參數的值就是一個空的元組
func1('a')
結果
a (12, 12, 13)
a ()