python笔记(五)

python笔记(函数自定义)

1.def:自定义函数

利用def函数可以由用户创建一个新的函数,例如:

def lt(num1,num2,num3):
	result=(num1+num2)*num3
	return print(result)	#return表示当函数被调用时,会输出一个什么值

在这里插入图片描述
上面过程中,自定义了一个“lt”函数,并在调用时,执行了“(1+2)*3”的操作
对于自定义函数,可以设置参数的默认值,例如:

def lt(num1,num2,num3=10):	#这里默认了num3等于10
	result=(num1+num2)*num3
	return print(result)

在这里插入图片描述
当不赋予num3值时,默认其为10,当赋予时则执行赋予的值

例:创建一个日期转换函数,具体要求输入天数可以转换为年月日

def remainder(days):
	years=days // 365		#//意为除取整
	months=(days % 365) // 30	#%意为除取余
	days_new=(days % 365% 30
	return print("{} 年 {} 月 {} 日".format(years,month,days_new))

在这里插入图片描述

2.lambda表达式

lambda表达式会创建一个匿名函数,特点是代码短,运行快,但后续不能重新调出来
例如:

add=lambda a,b,c:(a+b)*c

在这里插入图片描述

3.补充:两个高阶内置函数

filter():筛选函数
filter(x, y)——x为用于筛选的条件,y为需要被筛选的目标

例:筛选A中单词长度大于4的词语

A=['apple', 'banana', 'cat', 'dog']
def choose(word):
	return len(word)>4
word_chosen= list(filter(choose, A))	#filter()前一个参数为筛选条件,后一个为迭代对象
print(word_chosen)

[‘apple’, ‘banana’]

map():执行函数
map(x, y)——x为用于执行的命令,y为需要执行命令的目标

例:将B中的数字全部进行平方计算

B=[1, 2, 3, 4, 5, 6]
def square(number):
	return number**2
result= list(map(square, B))	#map()前一个参数为执行命令,后一个为迭代对象
print(result)

[1, 4, 9, 16, 25, 36]

注意:filter和map产生的结果是一个迭代器,例如直接print(map(square, B))则会输出“<map object at 0x02F761D8>”的结果,因此需要将其转为列表list来输出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值