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)