python语言基础----函数(1)
1. 函数简介
---函数也是一个对象
---对象是内存中专门用来存储数据的一块区域
---函数可以用来保存一些可执行的代码,并且可以在需要时,对这些语句进行多次的调用
2.如何创建一个函数?
---创建函数:
def 函数名([形参一,形参二,... ,形参n]):
代码块
---函数中保存的代码不会立即执行,需要调用函数后代码才会执行
3.函数的形参和实参
---在定义函数时,可以在函数名后的()中定义数量不等的形参,多个参数之间可以用,隔开
--形参(形式参数),定义形参就相当于在函数内部声明了变量,但是并不赋值
--实参(实际参数)
--如果函数定义时,指定了形参,那么在调用函数时也必须传递实参
--实参将会赋值给对应的形参,简单来说,有几个形参就得传几个实参
练习:
定义一个函数,可以用来求任意两个数的和。
#定义一个函数
def sum(a,b): #定义函数时指定形参a,b
print(a+b)
sum(10,20) #调用函数时,来传递实参
4.参数解释
- 默认参数
默认参数:
定义形参是,可以为形参指定默认值
指定了默认值以后,如果用户传递了参数则默认值没有任何作用,如果用户没有传递,则默认值就会生效。
- 实参的传递方式
1.位置参数
位置参数就是将对应位置的实参赋值给对应位置的形参。一一对应
2.关键字参数
关键字参数可以不按照形参定义的顺序去传递,而直接根据参数名去传递参数
--函数在调用时,解析器不会检查实参的类型,所以实参可以传递任意类型的对象
- 不定长参数(可变参数—装包)
在定义函数时,可以在形参前加一个 * ,这样这个形参将会获取到所有的实参,它会将所有的实参保存到一个元组中(装包)。
def sum(*a):
print(*a)
print(a)
result = 0
for i in a:
result += i
print(result)
sum(1,2,3,4,5,6,7,8)
- 解包
参数的解包:在参数名前加* 或者 **
5.函数的返回值
返回值:函数运算的结果还需要进一步操作,给函数一个返回值
1.return用来返回函数执行的结果,如果函数没有返回值,默认返回None;函数一旦遇到return,函数执行结束,后面的代码不会执行
2.多个返回值的时候,python会帮我们封装成一个元组类型
def fn(a,b):
return a*b,a+b
print('hahaha!!!')
a=fn(4,4)
print(a)
6.作用域
作用域:作用域指的是变量生效的区域
global a:声明a为全局变量
7.命名空间