专业编程基础技术教程

网站首页 > 基础教程 正文

Python语法基础(9)函数

ccvgpt 2024-12-03 10:53:03 基础教程 1 ℃

函数

#默认参数(放在函数参数末尾)
def repeat_str(s,times = 1):
    repeat_strs = s * times
    return repeat_strs

repeat_strings = repeat_str('Happy Birthday!')
print(repeat_strings)

repeat_strings = repeat_str('Happy Birthday!',3)
print(repeat_strings)


#关键字参数
def func(a,b = 4,c = 8):
    print('a is ',a,'and b is',b,'and c is',c)

func(13,17)
func(125,c = 24)
func(c = 40,a = 80)

#varargs 参数
def print_paras(fpara,*num,**words):
    print("fpara: " + str(fpara))
    print("num: " + str(num))
    print("words: " + str(words))

print_paras("Hello",1,2,3,5,7,word = 'python',nexword = 'Java')

lambda表达式

lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数

  • 普通函数:
def multiply(x, y):
    return x * y
  • 使用lambda重写以上函数:
multiply = lambda x, y: x * y

lambda函数由三个部分组成:

Python语法基础(9)函数

  1. lambda 关键字
  2. 用 , 分割的参数,就是普通函数里的参数,后面跟一个 :
  3. 函数体,就是普通函数里的函数体

因为lambda是匿名函数,map和lambda结合起来使用,代码更加简洁.

map(function, iterable, ...)

map函数是python的内置函数,它接收参数:函数(function)和一个或多个序列(iterable)。map对传入的序列内的数据全部进行指定的函数操作。例如:

# 计算numbers列表里的各个列表的平均值,然后返回成一个列表
numbers = [
[34, 63, 88, 71, 29],
[90, 78, 51, 27, 45],
[63, 37, 85, 46, 22],
[51, 22, 34, 11, 18]
]

averages = list(map(lambda x: sum(x) / len(x), numbers))
# 结果: [57.0, 58.2, 50.6, 27.2]

最近发表
标签列表