hello,这里是GUIDM 这一篇是python基础函数篇,希望这张内容对您能有所帮助。
函数-代码段。
功能单一 复用性
创建一个函数三要素:
1、函数名–命名规范:顾名思义、驼峰法(大驼峰【定义类名时】ClassName、小驼峰getName)、下划线法。标识符-**除关键字之外,英文、数字、下划线、中日韩常用unicode字符。
2、参数-形参、实参
3、返回值
函数写好以后要调用
格式:
def 函数名(传入参数): 函数功能体
return 返回值
先定义函数,后调用函数。
参数和返回值不需要可省略。
def getSum() :
a = 1
b = 5
sum = a+b
print('a+b=', sum)
getSum() #函数名可以理解为变量
def getSumb(a,b): #带固定参数无返回值
sum1 = a+b
print("a+b=",sum1)
getSumb(1,5)
def getSum(a,b):#带参有返回值
sum = a+b
return sum
s = getSum(1,5) #有返回值的函数一定要拿到返回值,保存到一个变量中。
return直接结束函数的调用
自动销毁、回收资源。
def loginIn(user_name,password):
if user_name == 'admin' and password == '123456':
#print('登陆成功!')
return user_name, password#以元组的形式返回
else:
#print('登陆失败!')
return 1
g = loginIn('admin','123456')
print(g)
def getMax(a, b):
num_max = max(a, b)
return num_max
max = getMax(2, 4)
print('最大数为:{}'.format(max))
变量作用
1、全局变量
在参数体内可不可以修改值?-地址、值
参数的类型有关:
- 值变地址也变:int float str tuple bool
- 值变地址不变:list(有序、可以重复) dict set(无序、不重复)
2、局部变量:定义在函数体内,global
局部变量会随着函数体的销毁而销毁。
3、同名问题-多态 函数体内优先访问局部变量。
参数传递:c中是可以指定传递方式(值传递、地址传递)
python中为地址传递。
id():返回对象的内存地址。
def getSum(a,b):
a = 10
print(id(a))
print('函数体内局部变量a的内存地址:', id(a))
sum = a+b
return sum
a = 100
print('全局变量a的内存地址:',id(a))
b = 300
print('a+b=', getSum(a, b))
参数:
1、必须参数:个数、顺序
2、关键字参数:乱序
3、默认参数:放在所有参数列表的后面
4、可变长参数
1)一个星号–元组类型
2)两个型号–字典类型
def getSum(a,b,c,*d)#加一个*号的变量存放的是未命名的参数,元组的格式。
abs():python内置的函数,用于求绝对值。
函数多返回值
def test_return():
return 1, 2
x,y = test_retrun()
变量之间用逗号隔开,支持不同类型的数据return,按顺序接收数据。
函数的多种传参方式
- 位置参数:调用函数时根据函数定义的参数位置来传递参数,传递的参数和定义的参数的顺序及个数必须一致。
- 关键字参数:函数调用的时候,通过”键=值“形式传递参数,可以让函数更加清晰、容易使用,同时也清除了参数的顺序要求。函数调用时如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序。
- 缺省参数:传递参数的时候可以设置一个默认值,调用函数时可不传该 参数的值,默认的参数必须写到最后面。
- 不定长参数:也叫可变参数,用于不确定调用的时候会传递多少个参数。当调用函数时不确定参数个数时,可以使用不定长参数。
匿名函数
def关键字,可以定义带有名称的函数,lambda关键字,可以定义匿名函数(不名称)。文章来源:https://www.toymoban.com/news/detail-487876.html
无名称的匿名函数,只可临时使用一次。文章来源地址https://www.toymoban.com/news/detail-487876.html
lambda 传入参数 :函数体(一行代码)
到了这里,关于python基础-函数专题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!