前言
- 一、函数的参数
- 必传参数,默认参数,不定长参数
- 二、函数变量的作用域
- 三、函数的返回值
- 1、return和print的区别
- 2、return和break的区别
前言
在实际使用中,遇到的return方面的问题。以及函数传递参数的先后顺序。记录函数中的小细节。
一、函数的参数
1、不定长参数
**kwargs: 可以不传,也可以传多个。传参的形式:key=value,key=value
在定义函数的时候,在函数内部kwargs是一个字典。
解释:在这里kw可以理解为:key word (关键字),这里的传参也叫关键字传参。
举例:
def myfunc(**kwargs):
# kwargs是字典。
print(kwargs)
# 调用的时候
myfunc(name="xj", year="2021")
2、传参的顺序
必传参数 > 默认参数 > *args > **kwargs
(1)如果一个函数里面含有不定长参数 *args和**kwargs
(2)如果一个函数中包含默认参数和不定长参数
二、函数变量的作用域
官方中文网站:https://docs.python.org/zh-cn/3.9/library/functions.html
1、函数内部定义的变量(只会作用于函数内部的范围)
注意点:这种在内部定义的变量,在函数的外部是不能调用和访问的。
这里会报错。
2、函数外部定义的变量(作用于整个当前的模块)
例如:全局变量
FLAG = True # 全局变量
如果需要修改全局变量,那么需要用global来申明定义的变量。
3、常量:只定义和使用
注意:其实在Python 中没有 常量 与 变量 之分。全局变量就相当于是常量。
三、函数的返回值
1、return和print的区别
举例:
高铁站取票:屏幕上面的显示的就是print。吐出来的高铁票就是return
解释:print打印出来的数据是不能拿出来用的,只是给看看一下。return返回的数据是可以直接拿出来给其他人用的数据。
函数不一定要有返回值。 --len()
我们知道这个len()函数,实际上就是统计一个字符串或者列表的长度的。是给用户看的。也可以用Ctrl+B进去看看源码,是没有return。
函数没有return,a = 函数调用,a就是None.
比如print()这个函数,print("sss")
a=print("sss")
print(a)
这样子打印出来的就是None
函数设计返回值,必然是因为使用了这个函数之后,要用它的返回值,做另外的事情。
return的作用:
1、程序执行完成之后,返回数值。
2、当程序执行遇到return时,函数终止。
3、return [没有值/有多个值]
4、return 后面没有值,相当于return None
5、一个函数里是可以有多个return。在不同的分支可以使用return.
6、返回多个值:return 值1,值2,值3....
举例:一个计算加法的函数
(1)当return有返回值
(2)当return没有返回值
(3)当return后面有多个返回值
注意:这里函数里面的值只能写在return里面,不能像这样写:
(4)当程序遇到了return后,程序后面的都会终止
(5)一个函数里是可以有多个return。在不同的分支可以使用return.
(6)接收函数返回值时:result = 函数调用()。result是个元组。或者,变量1, 变量2...= 函数调用() 有几个返回值,就用几个变量接收。
补充点:
1、== 和 is 的区别:
== 比较:数据值是否相等; is 内存地址是否是一样的。
2、带有for循环的函数,使用break和return的区别:
总结
暂无