一.函式
1.含義:包裹一部分** 實現某乙個功能 達成某乙個目的
2.特點:可以反覆呼叫,提高**的復用性,提高開發效率,便於維護管理
3.函式的格式:
定義函式:
def 函式名():
code
呼叫函式:
函式名()
4.函式的命名:
命名規則與變數一樣:
字母數字下劃線,首字元不能用數字
嚴格區分大小寫,且不能用關鍵字
函式命名有意義,且不能是中文
命名法:單詞與單詞之間用_隔開=>my_car
駝峰命名法:
大駝峰命名法:每個單詞首字元都大寫(物件導向-類)
小駝峰命名法:第乙個單詞首字元小寫,其他首字元大寫(用在函式中)
二.函式引數
1.引數種類
引數含義:函式運算時需要的值
函式引數的種類:
1.形參:形式上的引數,在函式的定義處
2.實參:實際上的引數,在函式的呼叫處
形參種類:1.普通形參,2.預設形參,3.普通收集形參,4.命名關鍵字形參,5關鍵字收集形參
實參種類:1.普通實參,2.關鍵字實參
形參宣告位置順序:1=>2=>3=>4=>5
實參宣告位置順序:1=>2
原則:形參實參個數要一一對應
2.形參
2.1普通形參
def func(a,b):
print(a,b)
func(11,22) #普通實參
func(a=1,b=2) #關鍵字實參
2.2預設形參
"""
a=1,b=2 是預設形參
如果給與了實參,那麼使用實參值
如果沒有給與實參,那麼使用預設值
"""def func(a=1,b=2):
print(a,b)
func(11)
func(11,33)
2.3收集形參
# 收集引數:普通收集形參和關鍵字收集形參
# 1.普通收集形參
"""功能:專門用來收集那些多餘沒人要的普通實參
語法:在引數的前面加上一顆星(*args)
返回:乙個元組
"""def func(a,b,*args):
print(a,b,args)
func(1,2,3,4,5,6,7)
# 作用:可以提前任意值
# 計算任意個數數值的累加
def func(*args):
total=0
for i in args:
total +=i
print(total)
func(1,2,3,4,5,6,7,8)
# 2.關鍵字收集引數:
"""功能:專門用來收集多餘沒人要的關鍵字實參
語法:在引數的前面加上兩顆星(**kwargs)
返回:乙個字典
"""def func(a,**kwargs):
print(a,kwargs)
func(a=11,b=22,c=33,d=44,e=55)
# 作用:可以做任意數值的字串拼接
def func(**kwargs):
strvar1=""
strvar2=""
dic=
for k,v in kwargs.items():#把字典的鍵值對變成元組,提取元組元素
if k in dic:
strvar1 +=dic[k]+":"+v+"\n"
else:
strvar2 +=v +","
print(strvar1.strip())
print("無用的:",strvar2.strip(","))
func(a="11",b="22",c="33",d="44",e="55")
2.4命名關鍵字形參
"""
兩種表達形式:
1.def func(a,*,b,c):在星號後面定義的是命名關鍵字形參(b,c)
2.def func(*args,b,**kwargs):在普通收集形參和關鍵字收集形參中間的是命名關鍵字形參
如果是命名關鍵字形參,在呼叫時,必須使用關鍵字實參的方式呼叫
"""# 方法一:
def func(a,b,*,c,d):
print(a,b)
print(c,d)
func(11,22,c=33,d=44)
# 方法二:
def func(*args,a,**kwargs):
print(args)
print(a)
print(kwargs)
func(2,3,4,3,a=111,b=222,c=333)
2.5 * 和 ** 的使用方法
* 和 ** 的使用方法:
1.在定義處:負責收集打包資料
*:負責收集打包成元組
**:負責收集打包成字典
2.在呼叫處:負責打散解包資料
*:負責對str list tuple set dict解包成單獨的資料(字典只能解包鍵)
**:負責dict 打散解包成單獨的(鍵=值)的形式
三.return 自定義返回值"""
return:會把函式內部的值返回到函式的呼叫處
1.return後面可以接:六大標準型別,還可以接函式,類,物件
2.沒有自定義返回值,預設返回的none
3.執行完return後,函式直接終止,後面的**不執行;
"""# 1.return的基本使用
def func():
# return "df "
return [1,2,3]
print(func())
# 2.return 執行之後,後面**不執行
def func():
for i in range(10):
print(i)
if i==5:
return
print(func()) #返回空值
#注意:列印的資料與自定義的資料不是乙個值
8 函式 函式的引數
1 預設引數 把第二個引數n的預設值設定為2,n就是預設引數 def power x,n 2 s 1while n 0 s s x n n 1return s print power 3,3 print power 5 預設n 2 輸出結果 2725設定預設引數時,需要注意 一是必選引數在前,預設引...
socket函式及引數
函式原型 int socket int domain,int type,int protocol domain 即協議域,又稱為協議族 family af inet ipv4 af inet6 ipv6 af local 或稱af unix unix域socket af route type soc...
Python 函式及引數
函式引數定義的順序必須是 必選引數 預設引數 可變引數 命名關鍵字引數和關鍵字引數。使用遞迴函式需要注意防止棧溢位。在計算機中,函式呼叫是通過棧 stack 這種資料結構實現的,每當進入乙個函式呼叫,棧就會加一層棧幀,每當函式返回,棧就會減一層棧幀。由於棧的大小不是無限的,所以,遞迴呼叫的次數過多,...