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可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样 ...
随机推荐
- jdk源码
Java 8 之默认方法(Default Methods) public interface Player { String getName(); default boolean isMale() { ...
- dup()&dup2()
[dup()&dup2()] 都是复制文件描述符指针.dup2可以指定复制到哪一个新索引. 参考:http://hi.baidu.com/flikecn/item/e82e14bef06e8a ...
- [转载]内存的一些magic number和debug crt
原文:http://www.360doc.com/content/13/0105/17/6295074_258392439.shtml 调试过debug版本的vc程序的人一定对0xCCCCCCCC和0 ...
- JS回调函数的应用,原来这么简单!
JS的回调函数很简单,看代码: 在a.js中 var myback = null; function load(obj){ myback = obj; } function save(){ // 后台 ...
- thinkphp 带条件分页查询
thinkphp 带条件分页查询:form表单传值时候,method='get'. 用 get 传值
- MFC基于对话框风格按钮控件添加图片的方法(大神止步)
菜鸟还在研究这个东西,大神就不要看了.一直都在觉得用VC或VS建立的对话框总是全灰色感觉太单调了,如果可以在上面添加一些漂亮的图片就好了,今天终于实现了.其实挺简单的,下面就分几个步骤讲一下: 第一步 ...
- 【leetcode 简单】 第九十四题 左叶子之和
计算给定二叉树的所有左叶子之和. 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 # Definition for a binary ...
- 解决阿里云无法正常使用samba的问题【转】
转自:https://blog.csdn.net/u011949148/article/details/54311288 昨天在阿里云上申请了一个云服务器,系统用的是ubuntu14.04,由于是免费 ...
- [转]关于MyEclipse下的项目无法使用BASE64Encoder问题的解决办法
[链接] http://blog.csdn.net/longlonglongchaoshen/article/details/75087616
- CentOS7 修改网卡名称
vi /etc/sysconfig/grub 增加net.ifnames=0 biosdevname=0 执行:grub2-mkconfig -o /boot/grub2/grub.cfg