python 基础:函数参数,函数应用与工具

函数参数

函数参数的匹配方法

  1. 位置匹配 (默认)
  2. 键值匹配
  3. 默认值
# 键值匹配
 def hello(name=n, age=a)print('name:', name)
 	print('age:', age)
hello(name='tom', age=12) 
# name:tom 
# age:12

# 默认值
 def hello(name='tom', age=12)print('name:', name)
 	print('age:', age)
hello()
# name:tom 
# age:12

元祖传参,字典传参

元祖传参:传元祖作为变量

# 元祖 *awgs
def avg(*score):
	return sum(score)/len(score)

# 直接使用
result = avg(88,89,90)
# 传入 *元祖
socre = (88,89,90)
result = avg(*score)

字典传参:传字典作为变量

def display(**emp):
	print(emp)

# 直接使用
display(name='tom',age=12,job='dev')
# 传入 **字典
d ={name:'tom',age:12,job:'dev'}
display(**d)

lambda 表达式

lambda函数可以赋值给变量 不带括号 带括号表示立即执行。

l = lambda :print('hello')
l() # hello

n = lambda x:print('hello', x)
n('tom') # hello tom

# 取偶数应用
num = [1,2,3,4,5,6,7]
res = filter(lambda n:n%2==0,num)
print(list(res)) # [2, 4, 6]

lambda 实例

def hello_english(name):
	print('hello', name)

def hello_japanese(name):
	print('o ha yo', name)

# python字典模拟siwtch
operation = {
	'e': hello_english,
	'c': hello_chinese,
	'j': hello_japanese,
	'r': lambda name: print('привет', name)
}

while True:
	name = input('请输入姓名:\n')
	if name == 'stop':
		break
	language = input('请选择语言版本:\n c=> 中文版\n e=> 英文版\n j=> 日文版\n r=> 俄文版')

	f = lambda name: print('привет')
	if language == 'c':
		hello_chinese(name)
	elif language == 'e':
		hello_english(name)
	elif language == 'j':
		hello_english(name)
	elif language == 'r':
		# f(name) 
		(lambda name : print('привет', name))(name)
		operation.get(language, hello_chinese)(name)

# 可以直接传入函数
def hello(action, name):
	action(name)

hello(hello_english,'Tom')
# 传入lambda函数
hello(lambda name: print('привет', name),'Tom')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值