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]
>>> 

这里对引用和拷贝只是简单的介绍,后面讲到对象会继续深究

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-29 21:42:33

python3入门之赋值语句介绍的相关文章

Python3 基础 —— 模块 Module 介绍

1.模块的作用 在交互模式下输出的变量和函数定义,一旦终端重启后,这些定义就都不存在了,为了持久保存这些变量.函数等的定义,Python中引入了模块(Module)的概念.一个Python模块其实就是一个脚本文件,具有后缀".py",例如 hello.py 就是一个模块文件名,和普通文件一样可以被永久保存在本地存储磁盘中. 2.模块的内容 Python模块中存放的是一些程序代码,例如,变量定义.函数定义或是代码语句.下面是hello.py模块的内容,其中有一个变量 a,一个函数 fun

数据库入门理论知识介绍

数据库入门理论知识介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 1.目前90%以上的公司面临的运维的瓶颈都在后端 最常见的2大瓶颈就是: 1>.数据库(极难扩展): 2>.存储: 所以说做互联网的运维工程师要是把以上两点问题解决就可以轻松的搞定整个架构 2.什么是数据库: 查百度上有长篇大论了一下数据库特点,我们可以简单的理解: 数据库就是一个存放数据的仓库,这个仓库按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数

day17(JDBC入门&jdbcUtils工具介绍)

day17 JDBC整体思维导图 JDBC入门 导jar包:驱动! 加载驱动类:Class.forName("类名"); 给出url.username.password,其中url背下来! 使用DriverManager类来得到Connection对象! ? ? ? 1 什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java

全网最热Python3入门+进阶 更快上手实际开发

详情请咨询  QQ  709639943 01.Python Flask 构建微电影视频网站 02.Python3 全网最热的Python3入门+进阶 比自学更快上手实际开发 03.Python3.6 强力Django+杀手级Xadmin打造上线标准的在线教育平台 04.python_进阶强化 05.Java秒杀系统方案优化 高性能高并发实战 06.企业级刚需Nginx入门,全面掌握Nginx配置+快速搭建高可用架构 07.快速上手Linux 玩转典型应用 08.全面系统讲解CSS 工作应用+面

Python3入门机器学习 经典算法与应用

详情请交流  QQ  709639943 00.Python3入门机器学习 经典算法与应用 00.老司机学python篇:第一季(基础速过.机器学习入门) 00.Python 从入门到精通 78节.2000多分钟.36小时的高质量.精品.1080P高清视频教程!包括标准库.socket网络编程.多线程.多进程和协程. 00.Django实战之用户认证系统 00.Django实战之企业级博客 00.深入浅出Netty源码剖析 00.NIO+Netty5各种RPC架构实战演练 00.JMeter 深

Python3入门机器学习--经典算法与应用|Python3机器学习

Python3入门机器学习--经典算法与应用网盘地址:https://pan.baidu.com/s/1JU3xUckrJ6mIFmbPZ2SE-g 密码: b4i8备用地址(腾讯微云):https://share.weiyun.com/1a5b40b998601d64fb5211c21fb71212 密码:3kt4wq 使用scikit-learn内置的大量数据集,结合实际项目,让你不仅懂算法更会用算法:使用机器学习算法进行图像去噪,让你认识一个不一样的机器学习世界:分类任务使用世界著名的MN

NLP汉语自然语言处理入门基础知识介绍

NLP汉语自然语言处理入门基础知识介绍 自然语言处理定义: 自然语言处理是一门计算机科学.人工智能以及语言学的交叉学科.虽然语言只是人工智能的一部分(人工智能还包括计算机视觉等),但它是非常独特的一部分.这个星球上有许多生物拥有超过人类的视觉系统,但只有人类才拥有这么高级的语言. 自然语言处理的目标是让计算机处理或说"理解"自然语言,以完成有意义的任务,比如订机票购物或QA等.完全理解和表达语言是极其困难的,完美的语言理解等效于实现人工智能. 自然语言处理涉及的几个层次: 作为输入一共

全面系统Python3入门+进阶课程 ??

全面系统Python3入门+进阶课程 Python语言本身就是一门简单的语言,入门非常容易. 机器学习中用到的Python(语法)相对就更简单了. 本文从机器学习的视角来看需要具备的Python基础. 我们的目标是-- 没有蛀牙... 针对一个程序员(如Java程序员),在1个小时内学会足够机器学习中使用到的Python语法. 1. Python简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Guido van

Python3入门机器学习经典算法与应用学习 资源

 Python3入门机器学习经典算法与应用学习 资源 datasets可以用来加载真实数据进行模型训练的测试 import sklearn.datasetsdatasets.load_iris() # 用于加载鸢尾花数据集datasets.load_digits() # 用于加载手写识别的数据集datasets.load_boston() #  用于加载波士顿房价的数据集fetch_mldata用于加载MNIST数据集from sklearn.datasets import fetch_mlda