首页 > 编程语言 > 详细

python笔记之函数

时间:2019-12-28 18:41:41      阅读:80      评论:0      收藏:0      [点我收藏+]

python中函数定义是使用def进行定义,函数可以理解为 多个语句代码组成,用来实现单一或者相关功能的代码段,在程序中可以重复调用而无需编写重复代码。

1 def add(a,b):  #定义一个函数
2     c = a+b
3     return c   #返回值,如果没有return语句,则返回值为None

1、函数返回值

函数返回值使用return关键字,可以返回多个值,若没有return语句,则返回值为None

2、函数参数:形参、实参

形参为函数定义时使用的参数名,实参为具体调用时的参数名

1 def add(a,b):  #a,b为形参
2     c = a+b
3     print(c)
4     return c   
5 
6 
7 a1=3  
8 b1=4
9 add(a1,b1) #a1,b1为实参

传递不可变的数据对象,若函数内进行重新赋值实参数据对象值不会被改变

1 def fun(a):
2     a=12
3     return a
4 
5 b=1
6 print(fun(b))   #输出结果为12,参数b执行2,在传递给函数fun(b)时,按传值方式a复制b,因此a,b都指向2对象,在函数内a=12重新生成一个12对象,让a执行它
7 print(b)  #输出结果为2

传递可变的数据对象,若函数内进行重新赋值实参数据对象值被改变

1 def fun(args):
2     args.insert(1,5) #在第二个位置插入‘5‘
3     print(args)
4 
5 list1 = [1,2,3,4,5,6]
6 fun(list1)
7 print(list1)  #值被改变

3、默认参数、动态参数

若函数参数有默认值,则在调用时可以不传默认参数的值,此时使用默认值。当不清楚函数需要传输几个参数可以使用动态参数,一般分两种 :*args为元祖形式,**kwargs为字典形式

1 1 def add(a,b=3):
2 2     print(a+b)
3 3 
4 4 add(2)  #结果为5,此时b使用默认参数3
5 5 add(2,5) #结果为7,此时b使用传输参数值5

当函数同时存在必须参数、默认参数、*args、**kwargs参数时参数顺序如下:Python3参数顺序:必选参数,默认参数,*args,**kwargs

1 def add(x,z=11,*args,**kwargs):
2     print(x)
3     print(z)
4     print(args)
5     print(kwargs)
6 
7 
8 
9 add(1,2,3,4,y=5,a=6,b=7) #结果为7,此时b使用传输参数值5

执行结果:

1 1
2 2
3 (3, 4)
4 {y: 5, a: 6, b: 7}

4、局部变量和全局变量

局部变量参数只能在函数内起作用,全局变量可以在整个模块中可以调用

 1 user = admin‘  #全局变量
 2 
 3 def login():
 4     user = admin11‘  #局部变量
 5     print(user)
 6 
 7 def info():
 8     global user
 9     user = admin22
10     print(user)
11 
12 
13 login()  #结果为admin11
14 print(user) #结果为admin
15 info()  #结果为admin22
16 print(user) #结果为admin22

当函数内局部变量名与全局变量名一致时,优先使用局部变量

python笔记之函数

原文:https://www.cnblogs.com/heertong/p/12111287.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!