标签分类
技术文章
当前位置:主页 > 计算机编程 > python > Python3单行定义多个变量或赋值如何操作

Python3单行定义多个变量或赋值的方法总结

  • 发布时间:
  • 作者:码农之家原创
  • 点击:154

Python3单行定义多个变量或赋值如何操作

这篇文章主要知识点是关于Python3,变量,赋值,Python3单行定义多个变量或赋值如何操作,详解Python3序列赋值、序列解包 的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

Python3.6零基础入门与实战
  • 类型:Python大小:518.9 MB格式:PDF出版:清华大学出版社作者:王启明
立即下载

你甚至可以在一行内将多个值赋值给多个变量

>>> a , b = 45, 54
>>> a
45
>>> b
54

这个技巧用来交换两个数的值非常方便

>>> a, b = b , a
>>> a
54
>>> b
45

要明白这是怎么工作的,你需要学习元组(tuple)这个数据类型。我们是用逗号创建元组。在赋值语句的右边我们创建了一个元组,我们称这为元组封装(tuple packing),赋值语句的左边我们则做的是元组拆封 (tuple unpacking)。

下面是另一个元组拆封的例子:

>>> data = ("shiyanlou", "China", "Python")
>>> name, country, language = data
>>> name
'shiyanlou'
>>> country
'China'
>>> language
'Python'

Python3单行定义多个变量或赋值方法

以上这篇Python3单行定义多个变量或赋值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。

详解Python3序列赋值、序列解包

上节我们提到解决赋值中等号两边参数不一致的方法可以通过切片,但在Python3中我们可以利用特定的语法更加方便的处理这种情况,如下示例。

当带 * 出现在结尾间时

L = [1, 2, 3, 4, 5]
a, *b = L
print(a, b)

示例结果:

1 [2, 3, 4, 5]

我们可以看到a匹配了列表中第一个元素值,而b匹配了后面所有的内容,并且为列表。即当我们利用带 * 符号匹配时,就可以解决赋值时等号两边元素数量不相等的情形,那么这种带 * 的处理方式都有哪些详细的使用场景和用法呢?

当带 * 出现在中间时

L = [1, 2, 3, 4, 5]
a, *b, c = L
print(a, b, c)

示例结果:

1 [2, 3, 4] 5

即a和c获取了开头和结尾的元素值,而中间所有的元素值都是赋值给了b

当带 * 出现在开头时

L = [1, 2, 3, 4, 5]
*a, b = L
print(a, b)

即b获取了列表结尾的元素值,而开头到末尾但不包含末尾的所有元素值赋值给了a

通用化

类似序列赋值,扩展的序列解法的用法也可以扩展到任何序列类型,比如元组,字符串:

S = 'PYTHON'
a,b,*c = S
print(a,b,c)
a,b,*c = list(S)
print(a,b,c)

示例结果

P Y ['T', 'H', 'O', 'N']
P Y ['T', 'H', 'O', 'N']

即我们可以看到字符串的结果和处理列表非常相似,即和对 list(S) 进行扩展序列解包的结果一致。

一些边界情况

在使用扩展序列解包语法,我们也可能遇到一些极端的情况,比如没有剩下的内容用于匹配带 * 的项,此时该项会被赋值为空列表 [] 。

L = [1, 2, 3, 4]
a, b, c, d, *e = L
1 2 3 4 []

而如果在赋值时出现带多个 * 项,或者只有带 * 的项都会引发错误:

L = [1, 2, 3, 4]
*a, b, *c = L

L = [1, 2, 3, 4]
*a = L

*a, b, *c = L
   ^
SyntaxError: two starred expressions in assignment
  *a = L
  ^
SyntaxError: starred assignment target must be in a list or tuple

总结

以上所述是小编给大家介绍的Python3序列赋值、序列解包,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

以上就是本次给大家分享的全部知识点内容总结,大家还可以在下方相关文章里找到儿童python编程入门书籍推、 spring+springmvc+mybatis整合注、 解决axios.interceptors.respon、 等python文章进一步学习,感谢大家的阅读和支持。

上一篇:用sklearn进行对数据标准化、归一化以及将数据还原详解

下一篇:Python登录状态进行接口测试 Python 保持登录状态进行接口测试的方法示例

展开 +

收起 -

学习笔记
网友NO.303054

笨办法学python3这本书好吗

在我们学习任何一门语言的时候,我们都恨不得有一本书或者有一节视频就能让我们学会所有内容,或者购买的书籍里能包含练习题,带着练习学习的话会更好的理解内容,Python编程语言的话题热度目前来看一直居高不下,很多没有编程语言基础的也开始学起来。 此时的我们面临很大的一个问题,我没有编程语言基础,也没有接触过Python,那么此时我们需要一本适合自己的书籍。 那么今天我们就来介绍一本书《“笨办法”学Python 3》,这不仅仅是一本书,随书附赠5个多小时充满激情的视频,这是一套完整的Python语言视频课程!纯正的美式发音,中文字幕,边看边练两不误。 笨办法学Python 3讲的是什么? 本书的目的是让你起步编程。虽然说是用“Hard Way”(笨办法)学习写程序,但其实并非如此。所谓的“笨办法”指的是本文的教学方式,也就是所谓的“指令式”教学。在这个过程中,我会让你完成一系列习题,而你则通过反复练习来学到技能,这些习题也是专为反复练习而设计的。对于一无所知的初学者来说,在能理解更复杂的话题之前,这种教授方式效果是很好的。你可以在各种场合看到这种教授方式,从武术到音乐不一而足,甚至在学习基本的算术和阅读技能时也会看到这种教学方式。 本书通过练习和记忆的方式……

网友NO.490536

python3爬虫获取html内容及各属性值的方法

今天用到BeautifulSoup解析爬下来的网页数据 首先导入包from bs4 import BeautifulSoup 然后可以利用urllib请求数据 记得要导包 import urllib.request 然后调用urlopen,读取数据 f=urllib.request.urlopen(‘http://jingyan.baidu.com/article/455a9950bc94b8a166277898.html‘) response=f.read() 这里我们就不请求数据了,直接用本地的html代码,如下 注意:”'xxx”'是多行注释 #python3from bs4 import BeautifulSouphtml='''htmlhead title class='ceshi'super 哈哈 star/title/headbody 天下第一帅 p class='sister' 是不是 /p/body/html'''#用BeautifulSoup解析数据 python3 必须传入参数二'html.parser' 得到一个对象,接下来获取对象的相关属性html=BeautifulSoup(html,'html.parser')# 读取title内容print(html.title)# 读取title属性attrs=html.title.attrsprint(attrs)# 获取属性attrs['class'] ----['ceshi'] 这是一个list 通过下标可以获取值print(attrs['class'][0])# 读取bodyprint(html.body)读取数据还可以通过BeautifulSoup的select方法html.select()#按标签名查找 soup.select('title')soup.select('body')# 按类名查找soup.select('.sister')# 按id名查找# p标签中id为link的标签soup.select('p #link')#取标签里面的值soup.p.string#取标签里属性值 通过href获取html['href'] 以上这篇python3爬虫获取html内容及各属性值的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。……

网友NO.627673

Python3.7中安装openCV库的方法

1.首先自己直接在cmd中输入 pip3 install openCV是不可行的,即需要自己下载安装包本地安装 2.openCV库 下载地址http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv 3.opencv_python‑3.4.2‑cp37‑cp37m‑win_amd64.whl(cp37指的是python的版本,win_amd64是指python是64位的,也有可能有人64位的系统装了32位的python,这时候就需要装win32的版本) 4.下载完成后,在cmd中输入pip3 install 文件路径\opencv_python‑3.4.2‑cp37‑cp37m‑win_amd64.whl 5.如果出现错误opencv_python‑3.4.2‑cp37‑cp37m‑win_amd64.whl is not a supported wheel on this platform. 在cmd中可以通过下面的代码查询自己的python所能支持的版本,然后再选择适合自己的版本 #AMD_64import pip._internalprint(pip._internal.pep425tags.get_supported())#Win32import pipprint(pip.pep425tags.get_supported())[('cp37', 'cp37m', 'win_amd64'), ('cp37', 'none', 'win_amd64'), ('py3', 'none', 'win_amd64'), ('cp37', 'none', 'any'), ('cp3', 'none', 'any'), ('py37', 'none', 'any'), ('py3', 'none', 'any'), ('py36', 'none', 'any'), ('py35', 'none', 'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')] 总结 以上所述是小编给大家介绍的Python3.7中安装openCV库的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持!……

<
1
>

Copyright 2018-2019 xz577.com 码农之家

版权责任说明