首页 > 技术文章 > 【python】 函数 初识

luwenqing 2019-01-07 14:28 原文

函数初识

 1、函数的定义、调用、返回值

函数的定义、调用、返回值

 1 def demo():             ## 定义函数 (def + 空格 + 函数名 + () + 冒号)
 2     ## 如下为函数体
 3     return a            ## 返回值(不写return/return None/返回单个值/返回多个值)
 4 
 5 result = demo()         ## 调用函数(一个变量接收/多个变量接收)
 6 print(result)


① ▶▶ def : 定义函数的关键字;
② ▶ 空格 : 将def关键字和函数名隔开;
③ ▶▶ 括号 : 不可少,为了传参;
④ ▶▶ 返回值:
     没有返回值:若不写 return 或 只写 return 或写return None,则返回none;
     返回一个值:用一个变量接收;
     返回多个值(返回元祖类型):  
     返回多个值,用一个变量接收
     返回多个值,用多个变量接收
⑤ ▶▶ demo() : 函数名+()   调用、执行此函数
 注:
 return 的作用:
  1) 结束整个函数(相当于break)
  2) 给出返回值

# 函数是以功能为导向,函数体内部尽量不要print

 

2、函数的参数

1 def func(a,b):             ##  a b : 形式参数
2     if a > b :
3         return a
4     else:return b
5 
6 bigger = func(10,20)       ##  10 20 :实际参数
7 print(bigger)

1) 实参角度传参
  1、位置参数:实际参数的每个值与形式参数的每个值相对应(10对应a,20对应b)
  2、关键字参数:将实际参数赋值给形式参数
1 def func(a,b):             
2     if a > b :
3         return a
4     else:return b
5 
6 bigger = func(10,20)           ## 位置参数(位置参数必须在关键字参数前面)
7 bigger = func(a=10,b=20) ## 关键字参数
8 print(bigger)




2)形参角度传参
  1、位置参数:
实际参数的每个值与形式参数的每个值相对应(10对应a,20对应b)
  2、默认参数:形参传入默认的值
    2.1 默认参数(可变数据类型):形参可传入空列表、空字典、空元祖
    2.2 默认参数(动态参数): *args : 接收所有的位置参数, 返回args(元祖)
    2.3 默认参数(动态参数): **kwargs : 接收关键字动态参数,返回kwargs(字典)
 
1 def func(a,b):                ## 位置参数
def func(a,b = 15) ## 默认参数(实参不传值则取默认参数,传值以传值的参数传参)
def func(a,b = []) ## 默认参数(b为可变数据类型)
def func(a,*args) ## *args : 动态参数
def func(a,**kwargs) ## **kwargs : 动态参数
2 if a > b : 
3 return a
4 else:return b

5 bigger = func(10,20)
6 print(bigger)

 

3、*  打散用法

### 把两个列表合并成一个列表 

1
def func(*args): 2 return (args) 3 4 l1 = [1,2,33] 5 l2 = [4,5,6] 6 print(func(*l1,*l2))

运行结果:(1, 2, 33, 4, 5, 6)
### 把两个字典合并成一个字典 10 def func(**kwargs): 11 return kwargs 12 13 d1 = {"a":1,"b":2} 14 d2 = {"c":3,"d":4} 15 16 print(func(**{"a":1,"b":2},**{"c":3,"d":4}))

运行结果:{'a': 1, 'b': 2, 'c': 3, 'd': 4}

 

推荐阅读