- 函数
- 函数定义
- 函数的调用
- 函数的注释
- 函数参数顺序
把某给功能封装成函数块,在需要时直接调用函数块,简单快捷(函数相当于工具,把实现某个功能工具制造出来,更方便使用。函数名作用是工具的名字,像是用来砸钉子的工具叫锤子一样)
语法:def 函数名(参数): 函数体 return 返回值 原则:先定义,再执行 (在代码运行的顺序中) 1.定义函数的时候不会执行函数内部的代码 2.定义函数本质: 第一步,先开辟一个内存空间 第二步,把函数体的代码放进这个空间 第三步,把这个空间的内存地址和函数名绑定 4.return (1)return 可以是没有,也可以有无数个 (2)return后面的值可以是0,也可以是无数个 (3)如果没有return或者return后面没有值,则返回值会默认是None (4)函数代码执行时遇到return就会结束函数代码函数的调用
3.调用函数本质: 函数的内存地址() (只要是函数内存地址加()就会调用这个函数) 通过这个函数地址(),找到这个函数的空间,再执行内部的代码
def a():
print('你好!我是小红,年龄14')
a()
运行结果
#你好!我是小红,年龄14
函数名绑定的是内存地址,调用函数必须是 函数名() 这种格式
def a(name, age):
print(f'你好!我是{name},年龄{age}')
return '模板' #设置返回值
b=a('小明', 12) #调用函数,并把return值返回给变量a
print(a) #输出函数内存地址
print(b) #输出返回
#运行结果
#你好!我是小明,年龄12
#
#模板
函数的注释
1.使用三对引号进行注释的内容 2.查看的方法 __doc__ 使用的的 '_' 是英文的下划线,需要连续两个
def a(name,age):
"""
这个函数的功能是什么什么
:param name: 这个参数是什么
:param age: 这个参数是什么
:return: 返回的值是什么
"""
print(name,age)
print(a.__doc__)
#运行结果
# 这个函数的功能是什么什么
# :param name: 这个参数是什么
# :param age: 这个参数是什么
# :return: 返回的值是什么
函数参数顺序
1.函数的参数 (1)设置函数的形参是为了接收外部的赋值形参 (2)函数中的名称空间是局部作用的,只在该函数自己的内部有效 2.参数的设置顺序 (位置参数,默认参数,可变长度位置参数,关键字参数,可变长度关键字参数) (1)位置参数是按照位置前后顺序对应赋值 (2)关键字参数是通过字典的键值对的形式指定某个参数赋值 (3)默认参数是值在定义形参的时候就赋予一个实参,可以通过传参修改 (4)可变长度位置参数使用 *变量名 形式将接收到的多余位置实参放到放入以变量名绑定的元组中 (5)可变长度关键字参数用 **变量名 形式将多余的关键字实参放入以变量名绑定的字典中
def a(a,b,c=3,*args,x,y,**kyargs):
print('位置参数:',a,b)
print('默认参数:',c)
print('可变长度位置参数:',args)
print('关键字参数:',x,y)
print('可变长度关键字参数:',kyargs)
a(1,2,4,12,13,x=5,y=6,z=7,s=8)
#运行结果
#位置参数: 1 2
#默认参数: 4
#可变长度位置参数: (12, 13)
#关键字参数: 5 6
#可变长度关键字参数: {'z': 7, 's': 8}



