函数是先定义好的可以实现某些功能的代码块。函数可以减少代码的重复利用率,比如常见python内建函数print()和input()。同时也可以自定义自己的函数,函数内实现自己想要的功能,比如自定义一个名为play的函数,实现的功能是输出文字“小明爱玩耍”
name=input("请输入您的名字:")
print("您的名字是:" + name)
一、函数的基本认识
1、自定义函数
def play():
print("小xia 爱玩")
2、函数的调用
play()
二、函数的特性
1、return
def getnum:
return 10
num=getnum()
print(num)
def exec():
name="xiao"
age=20
return age
print(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、函数特性之可变参数
可变参数*arg
def add(*arg):
count=0
for i in arg:
count=count+i
print("arg的数据类型为:",type(arg)) #arg在函数内部会自动识别为元组
return count
result=add(1,2,3,4,5)
print(result)
result1=add[1,2,3,4,5]
print(result1)
可变参数**kw
def 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=4567
print(data)
varia()
2、认识关键字global
def vari():
global var_data
var_data=1233
data=123
#调用函数
vari()
print(var_data)
3、global的进阶认识
遇到问题:在函数内部修改全局变量的时候,却没有修改成功。
def prials():
#把局部变量data变为全局变量
global data
var_data=123
data=1111
#全局变量data
data=123
#调用函数
print(data)
prials()
print(data)