python定义函数及调用函数

1.def()函数自定义及调用函数

def f(x, y):
    return x*y + 3*x   # 返回一个值

def f_1(x, y):
    return 3*x, 4*y    # 双重返回一个数组

def f_2(x=1, y=3):     # 定义函数同时定义参数的默认值
    return [x+2, y+2]  # 返回值是一个列表

# 调用def()函数
# 1.1先对参数赋值,在调用
x = 2
y = 3
a = f(x, y)
b = f_1(x, y)
[c, d] = f_2(x, y)  # 注意即使函数f_2()已经赋值好了,但输出结果只与定义后赋予参数的值相同,当你不对参数赋值使用参数的默认值
print(a)  # 12
print(b)  # (6, 12)
print(c)  # 4

# 1.2.直接在函数中赋予参数的值
a = f(2, 3)
b = f_1(2, 3)
[c, d] = f_2(2, 3)
print(a)
print(b)
print(c)

# 1.3.main函数调用,直接打出main即可出现,且main这一行最左边有个三角形,点击直接运行选项
if __name__ == '__main__':
    a = f(x, y)
    b = f_1(x, y)
    [c, d] = f_2(x, y)
print(a)
print(b)
print(c)

2.lambda对简单的功能定义“行内函数”及调用lambda函数

f = lambda x: x + 2  # 定义一元函数
g = lambda x, y : x + y  # 定义二元函数

# 调用lambda函数
# 2.1
e1 = g(1, 2)
# 2.2
e2 = g(x, y)
print(e1)
print(e2)
# 2.3
if __name__ == '__main__':
    e3 = g(1, 2)
    print(e3)

# 两者的函数的前三种调用方法比较相似,但lambda偏向于简单函数的构建,比较简洁;
#                    而def函数偏向于运算比较复杂的函数构建,比较复杂

# 2.4.map()函数:首先定义一个函数,然后再用map()命令将函数逐一应用到(map)列表中的每一个元素,最后返回一个数组,适用于逐一遍历
a = [1, 2, 3] # 列表解析式
b = [i+2 for i in a]  # [3, 4, 5]

b = map(lambda x: x+2, a)
b = list(b)  # [3, 4, 5]
c = map(lambda x, y: x*y, a, b) # 将a,b两个列表的元素对应相乘,把结果返回给新列表
c =list(c)   # [3, 8, 15]

# 2.5.reduce()函数首先将列表的前两个元素作为函数的参数进行运算,然后将运算结果与第三个数字作为函数的参数....以此内推,直到列表结束,用于递归运算
from functools import reduce
n = 10
reduce(lambda x, y: x*y, range(1, n+1))

# 2.6filter()函数,用于筛选出列表中符合条件的元素
b = filter(lambda x: x > 5 and x < 8, range(10))
b = list(b)
评论 1 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:书香水墨 设计师:CSDN官方博客 返回首页

打赏作者

旅途、随风

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值