(Datacamp)从零开始学python(7)——Default and flexible arguments&Lambda Fuctions &Error Handling

Default and Flexible Argument

1.default arguments 预设参数
在调用函数的时候,给参数赋值了就用赋的值,没有就使用默认值

2.flexible arguments

  • A *args
    • *args 实质就是将函数传入的参数,存储在元组类型tuple
      的变量args当中

def add_all(*args):
	 """Sum all values in *args together."""
	 # Initialize sum
	 sum_all = 0
 # Accumulate the sum
 for num in args:
 		sum_all += num

	 return sum_all
  • B**kargs **kargs 实质就是将函数的参数和值,存储在字典类型的kargs变量中
    • *args必须位于**kwargs之前,因为positional arguments必须位于keyword arguments之前。
    • 注意一*两**的区别

def print_all(**kwargs):
 	"""Print out key-value pairs in **kwargs."""
 	# Print out the key-value pairs
 	for key, value in kwargs.items():
 			print(key + ": " + value)

Lambda Functions 匿名函数

raise_to_power =lambda x, y: x ** y 
raise_to_power(2, 3)

output: 8

fliter(function,argument):过滤函数
reduce()

Error Handling

 def sqrt(x):
 ...: """Returns the square root of a number."""
 ...: if x < 0:
 ...: raise ValueError('x must be non-negative')
 ...: try:
 ...: return x ** 0.5
 ...: except TypeError:
 ...: print('x must be an int or float')

raise:举出错误方式,如这里就是x<0时,举出valueerror的错误
try:先尝试,如果有异常且是except x描述的x类型 则有一种处理方式, 每个try 至少有一个对应的except

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值