目录

链式赋值

多元赋值:

增量/减量/乘量/除量 赋值

解压赋值

非法赋值语句


链式赋值

链式赋值用于同一个对象赋值给多个变量

#例1:将1赋值给x,y,z三个变量
x = y = z = 1
print(x) #1
print(y) #1
print(z) #1

分析:

-》=具有右结合性

-》首先z = 1 表示将 1 赋值给 z,同时z = 1 这个子表达式的值也是 1

-》y = z = 1 表示将 z = 1 的值赋给 y,因此 y 的值也是 1,y = z = 1子表达式的值为1

-》以此类推,a 的值也是 1

多元赋值:

-》多元赋值:等号两边的对象都是元组并且元组的小括号是可选的

-》数据赋值给对应相同个数的变量,个数必须保持一致

#例1:将1,2分别赋值给x,y
#元组的括号可以不写,等同于(x,y) = (1,2)
x, y = 1, 2
print(x) #1
print(y) #2
#例2:交换x,y变量的值
x, y = 1, 2
x, y = y ,x
print(x) #2
print(y) #1

分析:

1、内存开辟2个地址空间用来存储1,2 ,然后将x,y变量分别指向这两个地址(x=1,y=2)

2、首先等号左右分别构造两个元组(x,y) , (y,x)

3、等号右侧的元组(y,x)实际存储的是2,1所在的两个地址空间,即(2,1)

4、x,y=y,x 相当于(x, y) = (y对应的值,x对应的值) ,即(x,y)=(2,1)

增量/减量/乘量/除量 赋值

x = 5
x += 1  #相当于x=x+1
print(x) #6
x -= 2  #相当于x=x-1
print(x) #4
x *= 2   #相当于x=x*2
print(x) #8
x /= 4    #相当于x=x/4
print(x) #2

解压赋值

解压赋值:可迭代序列或者可迭代对象解压后赋值给多个变量

#例1:将元组的值依次赋值给a,b,c,d,e五个变量
m_tuple = (1,2,3,4,5)
a,b,c,d,e = m_tuple
print(a) #1
print(b) #2
print(c) #3
print(d) #4
print(e) #5
#例2:如果只想使用其中几个元素,可以使用其他(未使用过的)变量名去占位
m_tuple = (1,2,3,4,5)
a,_,c,_,e = m_tuple
print(a) #1
print(c) #3
print(e) #5
#例3:将列表数据分别赋值给a,b,c,d四个变量
m_list = [1,(2,3),4,5]
a,b,c,d = m_list
print(a) #1
print(b) #(2,3)
print(c) #4
print(d) #5
#例4:将字符串的字符依次赋值给a,b,c三个变量
m_string = 'wel'
a,b,c = m_string
print(a) #'w'
print(b) #'e'
print(c) #'l'
#例5:在解压序列的时候如果不知道序列有多少个元素,此时就需要使用python的星号表达式
x,*y = 1,2,3,4,5
print(x) #1
print(y) #[2,3,4,5]
#例6:有一个比赛需要计算去掉最高分和最低分后的平均分
num_list = [70, 75, 98, 85, 72, 90]
num_list = sorted(num_list, reverse=True)  #首先排序
n_max, *num_list, n_min = num_list #使用星号表达式,取去除头尾的中间的所有数据
print(sum(num_list)/len(num_list))
#例7:将多个变量组成元组,赋值给单一变量
x = 1,2,3,4,5  #右侧会自动生成元组,然后赋值给X
print(x) #(1,2,3,4,5)

非法赋值语句

z = 1
x=(y=z+1)  #此赋值语句是错误的

分析:

x被赋值 " y = z + 1 ",但y= z+1是个赋值语句,作为一个整体没有返回值, x获取的是一个空值

Python的赋值操作相关推荐

  1. python 字符串赋值操作(分别使用三 种分隔符),Python学习笔记(3)字符串,python,三...

    三.使用字符串 1.字符串基本操作 所有的标准序列操作都适用于字符串,但是字符串不可变,所以不可以给字符串赋值. 2.设置字符串的格式 替换字段名 在最简单的情况下,只需向format提供要设置其格式 ...

  2. python 字符串赋值操作_python字符串操作

    字符串 简介 字符串序列用于表示和存储文本,python中字符串是不可变的,一旦声明,不能改变 这里的的改变,指的是声明变量后的真实对象.但如果第二次用到变量,赋值,系统会默认为你新生成一个变量.比如 ...

  3. python 列表赋值操作可能存在的潜在问题

    import copyprint("++++++++++++++++++++ 版本1 ++++++++++++++++++++") newItemList = [1,2,3,4,5 ...

  4. python 赋值操作的知识点

    python的赋值操作有几种类型,下面我们分别给大家说下; 1序列赋值: x,y,z = 1,2,3 我们可以看作:x = 1,y = 2,z = 3 2 链接赋值: x = y = 1 print ...

  5. python 有趣的变量_Python进阶之路 3.2有趣的赋值操作

    3.2 有趣的赋值操作 赋值操作是再简单不过了,在前面的章节也多次使用了赋值操作.不过Python语言中的赋值操作要有趣得多.例如,可以同时将多个值赋给多个变量. x,y,z = 1,2,3 prin ...

  6. python变量的赋值操作_Python中关于变量赋值操作的实例分享

    这篇文章主要介绍了Python编程之变量赋值操作,结合实例形式分析了Python赋值.位移.多元赋值操作符等相关操作使用技巧,需要的朋友可以参考下 本文实例讲述了Python编程之变量赋值操作.分享给 ...

  7. python变量赋值如何定义操作

    python变量赋值如何定义操作 变量定义方法很简单: x = 5 这个操作过程就是赋值,意思把整型数字5赋值给了变量x,用等号来连接变量名和值.之后就可以在表达式中使用这个新变量了. x * 3 1 ...

  8. python中怎么赋值,python中的赋值操作

    参考:https://www.cnblogs.com/andywenzhi/p/7453374.html?tdsourcetag=s_pcqq_aiomsg(写的蛮好) python中的赋值操作&qu ...

  9. 在Python函数内部赋值操作是新的变量而不是全局变量

    例1: a=0 def h():a=1#赋值操作,是新的变量. h print(a) 结果: 0 例2: a=0 def g():return 3 def h():a=g() h print(a) 结 ...

最新文章

  1. Visual Studio c++必要的背景知识--链接与编译
  2. 一文概览深度学习中的五大正则化方法和七大优化策略
  3. 【转】常用数据结构及复杂度
  4. 香港科技园公司“牵手”腾讯 共推香港金融科技发展
  5. 40、Power Query-Text.Combine函数进阶
  6. c语言程序设计期末试卷A,《C语言程序设计》期末试卷(A)..doc
  7. Symfony 框架实战教程——第一天:创建项目(转)
  8. cnn神经网络可以用于数据拟合吗_使用Keras搭建卷积神经网络进行手写识别的入门(包含代码解读)...
  9. 2017⇆2019,用了这款减肥App,我胖了30斤...
  10. c语言中sizeof是一个标准库函数,对C语言中的sizeof的介绍分析
  11. map、set和unordered_map、unordered_set对比
  12. 职责链模式在开发中的应用
  13. Shiro入门视频课程——笔记(一)
  14. 美国邮政编码ZIP Code(转载)
  15. [转]企业安全建设二——如何推动安全策略
  16. SAP FICO 固定资产批导
  17. 首款国产全画幅8K50P广播级摄像机
  18. python发微信红包_微信现金红包 python
  19. linux查询文件大小
  20. 用 ffmpeg 合并 m4s 音视频

热门文章

  1. QQ2009 界面技术(DirectUI)
  2. API自动化测试笔记(一)
  3. Visual Studio C/C++ 编译器选项
  4. 支付宝页面第三方登录开发
  5. web前端中——this指向以及this的应用,函数的调用——this代码举例说明——举例:当鼠标划到列表上时,出现div内容,当鼠标移开列表时,div隐藏
  6. html5走势图动态,CSS3+jQuery的互动走势图
  7. windows下G++的安装配置与使用
  8. 初学者基于Android studio制作的简单版魔塔
  9. linux 多种推出(q)
  10. ShardingSphere的ShardingJDBC简单使用与理解