python3入门之赋值语句介绍
获得更多资料欢迎进入我的网站或者 csdn或者博客园
本节主要介绍赋值语句,以及几种特殊的赋值。下面附有之前的文章;
python3入门之print,import,input介绍
python入门之字典
python入门之字符串
python入门之列表和元组
python入门之软件安装
简要介绍下赋值语句
在 python 中赋值语句总是建立对象的引用值,而不是复制对象。因此,python 变量更像是指针,而不是数据存储区域
Python 没有「变量」,我们平时所说的变量其实只是「标签」,是引用。
执行
values=['a','b','c']
的时候,Python 做的事情是首先创建一个列表对象['a','b','c'],然后给它贴上名为 values 的标签。如果随后又执行
values=['d','e','f']
的话,Python 做的事情是创建另一个列表对象['d','e','f'],然后把刚才那张名为 values 的标签从前面的['a','b','c'] 对象上撕下来,重新贴到 ['d','e','f'] 这个对象上。
直接赋值
语句格式:变量名称 = 对象
>>> name='peace'
>>> age=22
>>> print(name,age)
peace 22
>>>
序列解包
序列解包又称递归解包,将多个值的序列解开放到变量的序列中
>>> value=1,2,3
>>> value
(1, 2, 3)
>>> x,y,z=value
>>> x
1
>>> y
2
>>> z
3
>>>
##交换变量的值可以直接进行
>>> x,y=y,x
>>> x
2
>>> y
1
>>>
当函数返回的树序列时序列解包显得非常有用;比如如下:
#从字典中弹出任意一对儿键值对儿,并赋值给两个变量
>>> studentId={'peace':'201421014960','nick':'2014'}
>>> key,value=studentId.popitem()
>>> key
'nick'
>>> value
'2014'
>>>
连续赋值
同时将一个变量赋值给多个变量;
>>> peace=[1,2,3,4]
>>> x=y=z=peace[2]
>>> x
3
>>> y
3
>>> z
3
>>>
表达式赋值
包括以下表达式赋值:
+=:将右侧的值加到变量上的和,然后再赋值给变量;
-=:将变量减去右侧的值得到的差,再赋值给变量;
/=:用变量除以右侧值得到的商,再赋值给变量;
%=:用变量取右侧值的余数,再赋值给变量;
>>> x=1
>>> x+=2
>>> x
3
>>> x*=2
>>> x
6
>>> x-=3
>>> x
3
>>> x/=3
>>> x
1.0
>>> x*=5
>>> x
5.0
>>> x%=3
>>> x
2.0
>>>
引用和拷贝
浅复制:
主要的浅复制方法:
(1)没有限制条件的分片表达式(L[:])能够复制序列,但此法只能浅层复制。
(2)字典 copy 方法,D.copy() 能够复制字典,但此法只能浅层复制
对于不可变对象和可变对象来说,浅复制都是复制的引用,只是因为复制不变对象和复制不变对象的引用是等效的(因为对象不可变,当改变时会新建对象重新赋值)。所以看起来浅复制只复制不可变对象(整数,实数,字符串等),对于可变对象,浅复制其实是创建了一个对于该对象的引用,也就是说只是给同一个对象贴上了另一个标签而已。
#直接赋值的浅复制
>>> a=[1,2,3]
>>> b=a
>>> b[1]=1
>>> b
[1, 1, 3]
>>> a
[1, 1, 3]
>>>
##L[:]
>>> a=[1,[2,3],3]
>>> b=a[:]
>>> a[0]=2
>>> a[1][1]=8
>>> a
[2, [2, 8], 3]
#b的第二个元素跟着改变了
>>> b
[1, [2, 8], 3]
>>>
深度复制(拷贝)
主要的方法:
有些内置函数,例如 list,能够生成拷贝 list(L)
copy 标准库模块能够生成完整拷贝:deepcopy 本质上是递归 copy
>>> import copy
>>> a=[1,[2,3],3]
>>> b=copy.deepcopy(a)
>>> a[0]=2
>>> a[1][1]=8
>>> a
[2, [2, 8], 3]
>>> b
[1, [2, 3], 3]
>>>
这里对引用和拷贝只是简单的介绍,后面讲到对象会继续深究
相关链接:
python3入门之类
python3入门之函数
python3入门之循环
python3之if语句
python3入门之赋值语句介绍
python3入门之print,import,input介绍
python3入门之set
python3入门之字典
python3入门之字符串
python3入门之列表和元组
python3入门之软件安装
python3爬虫之入门和正则表达式
python3入门之赋值语句介绍的更多相关文章
- python3入门之print,import,input介绍
本节主要介绍print,import和input,t函数,包括他们在python2.7和python3 的区别以及用法.下面附有之前的文章: python3的print函数的变化 python3之 ...
- python3入门之类
在面向对象的语言中,类是最重要的一环,python自然拥有类这个机制.python的类机制,与C++,java的区别不是很大,类的大多数的重要特性都被沿用了,一样可以多态,抽象,封装: python3 ...
- python3入门之集合set
之前介绍python的数据结构时,没有介绍set(集合)现在在这里稍微介绍下: set原理 Python 还 包 含 了 一 个 数 据 类 型-- set ( 集 合 ) . 集 合 是 一 个 无 ...
- python3入门之函数
相信大家学习过其他语言,懂得函数的作用.简单的说函数最好的作用就是可以使程序变得懒惰.python作为后起之秀,当然也会拥有函数这个有用的东西: 创建函数 使用def语句即可创建函数,如创建一个用来生 ...
- python3入门之字典
获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍字典,字典也成映射,时python中唯一内建的映射类型.更多详细请点击readmore.下面附有之前的文章: python入门之字符串 ...
- python3入门之字符串
获得更多资料欢迎进入我的网站或者 csdn或者博客园 经过前面的介绍相信大家也对python有了一个初步的了解:本节主要介绍字符串,不管学习什么编语言字符串一定在其中扮演着重要的地位.本节主要讲解,字 ...
- python3入门之列表和元组
获得更多资料欢迎进入我的网站或者 csdn或者博客园 前面一张主要学习了Python的安装,以及第一个程序helloword的编写,以及简单的输入和输出函数,这章主要介绍序列,列表,元组 序列 这章 ...
- Python3入门之软件安装
获得更多资料欢迎进入我的网站或者 csdn或者博客园 最近将我的Python笔记整理下,希望能对他人有所帮助,这是第一课,安装入门篇: windows下安装Python 1.下载,从这里下载:[下载链 ...
- 全面系统Python3入门+进阶课程 ✌✌
全面系统Python3入门+进阶课程 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 无论是大数据.人工智能还是机器学习,Python都是最热门的首选语言 ,这 ...
随机推荐
- c++ 命令模式(command)
命令模式的有点: 1.能够容易地设计一个命令队列: 2.在需要的情况下,可以比较容易地将命令记入日志. 3.可以容易的实现对请求的撤销和重做. 4.由于加进新的具体命令类不影响其他的类,因此增加新的具 ...
- OpenCV之设计模式
参考资料: http://hahack.com/codes/opencv-and-mvc/ http://blog.csdn.net/yzhang6_10/article/details/508084 ...
- LoadRunner11学习记录七 -- 负载生成器、事务&集合点顺序、HTML&URL录制
1.什么情况下用到负载生成器? 当需要使用多台测试机对同一服务器同时压力测试时,需要配置负载生成器. 2.LoadRunner中事务和集合点的放置顺序问题 1)事务放在集合点前面 这时事务的时间包含了 ...
- Lua与C交换
1.C调用Lua函数 (1) 首先要进行Lua的初始化,这个主要是lua_open和luaL_openlibs函数 (2)然后是解析并编译lua的代码,这个主要是luaL_dofile函数 (3) ...
- mosquitto配置文件/etc/mosquitto/mosquitto.conf配置参数详细说明
mosquitto配置文件/etc/mosquitto/mosquitto.conf配置参数详细说明 摘自:https://blog.csdn.net/weixin_43025071/article/ ...
- jQuery自动截取文字长度,超过部分
<html> <head> <meta charset="utf-8"> <script src="js/jqu ...
- linux的操作
对tomcat的操作 打开终端 cd /java/tomcat#执行bin/startup.sh #启动tomcatbin/shutdown.sh #停止tomcat tail -f logs/cat ...
- 05 Computing GC Content
Problem The GC-content of a DNA string is given by the percentage of symbols in the string that are ...
- [GO]断言
使用if实现断言 package main import "fmt" type Student struct { name string id int } func main() ...
- jQuary总结4: jquery操作字符串
1 jquery操作DOM -1 创建元素 $('<span>这是一个span元素</span>'); //创建了一个jQuery包装的span,此时并没有添加到DOM树上 - ...