python解包

python解包

主要讲解python解包在函数中的应用,可以参考知乎链接,文章写的不错。

目录:

  • 迭代器中使用
  • 特殊符号使用
  • 解包在函数中使用

参考:

python有趣的解包用法https://zhuanlan.zhihu.com/p/33896402


迭代器中使用

# list
name, age, date = ['ymz', 23, 'xxxx-xx-xx']

# turtle == const list
name, age ,date = ('ymz', 23, 'xxxx-xx-xx']

# dictionary
name, age, date = {'name':'ymz', 'age':23, 'data':'xxxx-xx-xx'}	# name>>>'ymz'	只赋予value
a,b,c = {'a':1, 'b':2, 'c':3}.items()	# a>>>('a', 1) 将(key, value}以turtle形式返回

# range
a, b, c = range(3)	# a>>>0

# string
a,b,c = 'abc'

# generator
a,b,c = (x + 1 for x in range(3))	# a>>>1

_, *, **的使用

# *用作省略单个元素
first, *new, last = [1, 2, 3, 4]	# *new == [2, 3]

# **用作省略(key, value)含键值对的双元素,只能在函数中使用

# _用作删除不必要元素
name, *_, (*_, year) = ('ymz', 2, 3, (4, 5, 1998))

解包在函数中使用

在函数中我们经常能看到解包的使用,如下:

# 在形参中使用。
# 需要注意的是*前不能指定参数名,*后必须指定参数名。你可以理解为*后必须传递的为键值对,而你的a = 1其实传递的就是键值对
def myfun(a, *b, c):
	return

myfun(1, 2, 3, 4, c = 5)	# b == (2, 3, 4) turtle ; c == 5 int

def myfun2(**kv):
	print(kv)

myfun2(name = "ymz", age = 23, weight = 60)	# kv == {'name': 'ymz', 'age': 23, 'weight': 60}
# 在返回值中使用
def myfun(a, b):
	return a, b

m, n = myfun(1, 2)	# 返回一个元组(1, 2),分别解包给m, n
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值