Python3函数
2019-11-24 本文已影响0人
戈小蓓
一、基本
1、函数定义:def 函数名(参数):
代码1
......
2、函数调用:函数名(参数)
注:在Python中,函数必须先定义后使用
3、函数参数
4、函数返回值:
return:①负责函数返回值;②退出当前函数,导致return下方所有代码不执行
def buy():
return '烟'
goods=buy()
print(goods)
return返回结果给函数调用的地方
#制作计算器
def sum_num(a,b):
return a+b
result =sum_num(3,4)
print(result)
5、说明文档
语法:
def 函数名(参数):
""" 说明文档的位置 """
代码
......
def sum_num(a,b):
"""求和函数"""
return a+b
help(sum_num)
注:
①查看说明文档用:help()
②高级说明是在三引号回车
def sum_num(a,b):
"""
求和函数
:param a: 参数1
:param b: 参数2
:return: 求和值
"""
return a+b
help(sum_num)
二、函数嵌套
1、函数嵌套调用是指一个函数又调用了另一个函数
2、变量作用域
2.1局部变量:定义在函数内部的变量,就是只在函数内部生效。用作临时保存数据
2.2全局变量:在函数内外都能生效的变量,变量定义在函数外
a=100
def testA():
print(a)
def testB():
print(a)
testA()
testB()
2.3改变全局变量
如何在函数内部修改全局变量?→global 申明a是全局变量
如下并验证了
a=100
print(a)
def testB():
global a
a=200
print(a)
testB()
print(a)
2.4多函数执行流程:要用全局变量
2.5函数返回值值作为参数传递:需要先先得到返回值再传入
2.6函数多个返回值:逗号隔开、元组、字典、列表
三、函数参数
1、位置参数:调用函数时根据函数定义的参数位置来传递参数
注意:传递和定义参数的顺序及个数必须一致
2、关键字参数:“键=值”形式加以指定
def user_info(name, age, gender):
print(f'您的名字是{name}, 年龄是{age}, 性别是{gender}')
user_info('Rose', age=20, gender='女')
user_info('小明', gender='男', age=16)
注意:如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序
3、缺省参数:默认参数,用于定义函数,为参数提供默认值(位置参数必须出现在默认参数前)
4、不定长参数:可变参数,用在不确定调用的时候会传递多少个参数(不传参也可以)的场景
四、拆包和交换变量值
1、拆包
- 拆包:元组
def return_num():
return 100, 200
num1, num2 = return_num()
print(num1) # 100
print(num2) # 200
- 拆包:字典
dict1 = {'name': 'TOM', 'age': 18}
a, b = dict1
对字典进行拆包,取出来的是字典的key
print(a) # name
print(b) # age
print(dict1[a]) # TOM
print(dict1[b]) # 18
2、交换变量值
五、引用
id()来判断两个变量是否为同一个值的引用