Python编程:深入探索函数
发表时间: 2024-04-28 17:17
函数是先定义好的可以实现某些功能的代码块。函数可以减少代码的重复利用率,比如常见python内建函数print()和input()。同时也可以自定义自己的函数,函数内实现自己想要的功能,比如自定义一个名为play的函数,实现的功能是输出文字“小明爱玩耍”
name=input("请输入您的名字:")
print("您的名字是:" + name)
一、函数的基本认识
1、自定义函数
def play():
print("小xia 爱玩")
2、函数的调用
play()
二、函数的特性
1、return
def getnum: return 10num=getnum()print(num)def exec(): name="xiao" age=20 return ageprint(type(exec())) #结果为<class 'int'>
2、函数特性之位置参数
函数的参数有形式参数和实际参数两种,同时参数传递的方式有位置参数、关键字参数、默认参数等。
形式参数:函数定义时候接受的参数
实际参数:调用函数的时候传递的参数
位置参数:对传递参数的位置进行匹配
def attrs(name,age): get_name=name get_age=age print(name,age)attrs("xiaomingh", 19)
3、函数特性之关键字参数
def attrs(name, age): get_name=name get_age=age print(name,age)attrs(age=9,name="xiaoming")
4、函数特性之默认参数
ef attrs(name, age,sex="男"): get_name=name get_age=age get_sex=sex print(name,age,sex)attrs(age=9,name="xiaoming")attrs(age=9,name="xiaowang",sex="女")// 实参和默认值形参同存attrs("xiaoming",age=20,"女")
5、函数特性之可变参数
可变参数*argdef add(*arg): count=0 for i in arg: count=count+i print("arg的数据类型为:",type(arg)) #arg在函数内部会自动识别为元组 return countresult=add(1,2,3,4,5)print(result) result1=add[1,2,3,4,5]print(result1)可变参数**kwdef get_name(**kw): print(type(kw)) print(kw) print(kw["name"])get_name(name="小明",age=20)info={"name":"xiamm","age"=23}get_name(**info)
三、函数的作用域
1、全局变量与局部变量
全局变量就是定义在函数外,全局范围内都可以访问的变量,然而局部变量就是定义在函数内部的变量,只能在函数内部访问,在函数外界是不能访问的。
def varia(): var_data=123 print(var_data)data=4567print(data)varia()
2、认识关键字global
def vari(): global var_data var_data=1233data=123#调用函数vari()print(var_data)
3、global的进阶认识
遇到问题:在函数内部修改全局变量的时候,却没有修改成功。
def prials(): #把局部变量data变为全局变量 global data var_data=123 data=1111#全局变量datadata=123#调用函数print(data)prials()print(data)