Python入门3(赋值)
微信公众号关注我,更多python知识告诉你!
【一:*,-1的作用】
给大家两个例子:
a,b,c,d='spam'
print(a)
print(b)
print(c)
print(d)
a,*b='spam'
print(a)
print(b)

上面这个例子是*号作用的最就简单的例子,要区别于C语言中的指针。第六行语句,a赋的是s,b赋的是pam
seq='computer'
*a,b=seq
print(a)
print(b)
c,d=seq[:-1],seq[-1]
print(a)
print(b)

上面是-1作用的例子,大家可以自己体会
注意:如果有多个带星号的名称,或者如果值少了而没有带星号的名称,以及如果带星号的名称自身没有编写到一个列表中,都将会引发错误
【二:序列赋值】
a=1
b=2
a,b=b,a
print(a)
print(b)

在这里,右侧的原组会自动记住先前的变量值
【三:for循环】
L=[1,2,3,4]
M=[1,2,3,4]
while L:
front,L=L[0],L[1:]
print(front,L) while M:
front,*M=M
print(front,M)

由例子可以看出,上下两段代码的结果是一样的,这就是*的作用
for all in [(1,2,3,4),(5,6,7,8)]:
a,b,c=all[0],all[1:3],all[3]
print(a,b,c)

【四:append】
a=b=[]
b.append(42)
print(a,b) a=[]
b=[]
b.append(42)
print(a,b)

第一段代码,因为a和b引用相同的对象,通过b在原处附加值上去,而我们通过a也会看到相同的效果。第二段代码则有不同的效果。只有append有这个功能
【五:强赋值语句】
强赋值语句类似与C语言中的x+=x,y+=y,但要注意的是Python中没有x++这样的运算符
s='spam'
s+='SPAM'
print(s)

当强赋值语句用于字符串时,增强形式会改为执行合并运算
强赋值语句的优点:
1、左侧只需计算一次,在x+=x中,x可以是复杂的对象表达式。在增强形式中,则只需计算一次。然而,在完整形式x=x+y中,x出现两次,必须执行两次。因此,增强赋值语句通常执行更快。
2.当我们使用增强赋值语句时,Python会自动调用较快的方法
a=[1,2,3]
b=[1,2,3]
a.extend([4,5])
b=b+[4,5]
print(a)
print(b)

在上面这个例子中,上下两段代码的结果是一样的,但是.extend方法更快一点。然后我们再来看下面这个例子
a=[1,2,3]
a+=[4,5]
print(a)
这个例子调用的就是更快速的.extend方法,虽然表面上看不出,但Python内部就是调用更高效的方法的
注意:
L=[1,2]
M=L
L=L+[3,4]
print(M,L) L=[1,2]
M=L
L+=[3,4]
print(M,L)

以上两个例子的差异大家自己体会一下
+=能对列表做原处修改
M=L=[1,2]
L.append(3)
print(M,L) M=L=[1,2]
L=L+[3]
print(M,L)

再次感受一下append的作用
Python入门3(赋值)的更多相关文章
- python入门简介
Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...
- Python运算符,python入门到精通[五]
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运算符.赋值运 ...
- Python基本语法[二],python入门到精通[四]
在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...
- 老鸟的Python入门教程
转自老鸟的Python入门教程 重要说明 这不是给编程新手准备的教程,如果您入行编程不久,或者还没有使用过1到2门编程语言,请移步!这是有一定编程经验的人准备的.最好是熟知Java或C,懂得命令行,S ...
- Python自动化运维之1、Python入门
Python简介 python是吉多·范罗苏姆发明的一种面向对象的脚本语言,可能有些人不知道面向对象和脚本具体是什么意思,但是对于一个初学者来说,现在并不需要明白.大家都知道,当下全栈工程师的概念很火 ...
- Python 入门基础学习
Python入门学习 我们使用python3.0版本 首选来入门 带你进入Hello World >>> print ("Hello World")Hell ...
- 笔记|《简明Python教程》:编程小白的第一本python入门书
<简明Python教程>这本书是初级的Python入门教材,初级内容基本覆盖,对高级内容没有做深入纠结.适合刚接触Python的新手,行文比较简洁轻松,读起来也比较顺畅. 下面是我根据各个 ...
- python入门基础
Python 入门 变量 什么是变量?变量就是变化的量,核心是"变"和"量"两个字,变就是变化,量就是衡量状态. 为什么需要变量?程序执行的本质就是一系列状态的 ...
- python入门(10)使用List和tuple
python入门(10)使用List和tuple list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可 ...
- python入门(8)数据类型和变量
python入门(8)数据类型和变量 数据类型 在Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样 ...
随机推荐
- 2016/1/2 Python中的多线程(1):线程初探
---恢复内容开始--- 新年第一篇,继续Python. 先来简单介绍线程和进程. 计算机刚开始发展的时候,程序都是从头到尾独占式地使用所有的内存和硬件资源,每个计算机只能同时跑一个程序.后来引进了一 ...
- 谁说码农不懂浪漫?js写的'老婆生日快乐'特效
一直被老婆抱怨不懂浪漫,老婆的生日又来了,老婆指着闺蜜空间上贴的老公做的胡萝卜心形浪漫晚餐告诉我:必须送她一份用心的礼物.我绞尽脑汁想出这么一法子,还是得用我们码农的独特方式,经过一天多的努力,终于做 ...
- bzoj1190 [HNOI2007]梦幻岛宝珠
传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=1190 [题解] 首先,我们把所有物品都分解成$a\times 2^b$的形式,然后把物品按 ...
- 多进程+协程 处理IO问题
from multiprocessing import Pool import gevent,os import time def recursion(n): if n == 1 or n ==2: ...
- [转]Git忽略提交规则 - .gitignore配置运维总结
在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交.简单来说一个场景:在你使用git add .的时候,遇到 ...
- Windows执行命令与下载文件总结
1.前言 在渗透或是病毒分析总是会遇到很多千奇百怪的下载文件和执行命令的方法. 2.实现方式 2.1.Powershell win2003.winXP不支持 $client = new-object ...
- 企业日志大数据分析系统ELK+KAFKA实现【转】
背景: 最近线上上了ELK,但是只用了一台Redis在中间作为消息队列,以减轻前端es集群的压力,Redis的集群解决方案暂时没有接触过,并且Redis作为消息队列并不是它的强项:所以最近将Redis ...
- C基础 旋转数组查找题目
前言 - 引言 题目: 一类有序数组旋转查值问题. 例如: 有序数组 [ , , , , , , , , ] 旋转后为 [ , , , , , , , , ] 如何从中找出一个值索引, not fou ...
- 二十一、springboot之定制URL匹配规则(项目中遇到的问题:get方式传参,带有小数点,被忽略)
一.问题描述: get方式传参,在传送价格,积分时(带有小数点),debug后台微服务接受到的参数,却不带小数点,如:price是0.55,后台接受后却是0 二.解决 在WebConfiguratio ...
- js实现图片懒加载
大型购物网站都会采用图片懒加载技术来优化网站首页打开速度,以提高用户体验,那么具体是怎么实现的呢,我们一探究竟. html结构(div包裹一层用来显示背景图片,等待图片加载完成后,显示真实图片) &l ...