对于任何语言来说,函数都是必不可少的部分,对于Python一样如此。Python中有非常多的内置函数,比如:求绝对值函数abs(),求长度函数len(),求总和函数sum(),输出字符函数input()等等,大家可以去官方网站看一下官方文档,这里我们就不再赘述了。我们来看一下在Python中如何自定义函数和函数中的变量。
(1)自定义函数
var=float(input('请输入一个数字:'))
def f(x):#自定义函数f(x)
if x>0:
print('正数')
elif x==0:
print('为0')
else:
print('负数')
f(var)
var2=float(input('请输入第二个数字:'))
f(var2)
##自定义无参函数
def f():
print('hello world')
f()
输出结果:
(2)关于函数中return()
def f1(x):
y = 2**x # 没有return
def f2(x):
y = 2**x
return y # 含有return
print(f1(2),f2(2))
# return语句退出函数,并返回一个表达式。不带参数值的return语句返回None
输出结果:
(3)自定义函数默认参数
def f(x,n = 2):
return(x**n)
print(f(10))
print(f(10,3))
# n = 2,这里n的默认值为2,如果不输入则以默认值为主
输出结果:
(4)自定义函数可变参数
def f(*x):
print(x)
return x
f(1)
f('a','b')
f(1,2,3,[44,33])
print(type(f('a','b')))
# 通过*来定义可变参数
# 默认会把可变参数传入一个元祖!
输出结果:
(5)局部变量
Python中局部变量和全局变量与C++中是一样的,局部变量即当函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系。
def f(m):
m = '呵呵哒' # 函数作用:把输入变量指向“呵呵哒”
print("函数内为局部变量:%s" % m)
a = input('请输入一个数字:')
f(a)
print("函数外为全局变量:%s" % a)
输出结果:
(6)全局变量
def f():
global a #通过global 定义m为全局变量
a = '呵呵哒'
print("函数内转为全局变量:%s" % a)
a = input('请输入一个数字:')
print("输入变量值:%s" % a)
f()
输出结果:
(7)匿名函数Lambda
匿名函数lambda是不需要名字的,lambda的主体是一个表达式,而不是一个代码块,且它的表达式只有一行
def fun(a,b,c):
return a+b+c
print(fun(2,3,4))
# def创建自定义函数,求和
f = lambda a,b,c:a+b+c#匿名函数生成同样效果
print(f(2,3,4))
输出结果: