列举python中可变数据类型_python 可变数据类型 和 不可变数据类型

在 python 中,类型属于对象,变量是没有类型的:

a=[1,2,3]

a="Runoob"

以上代码中,[1,2,3] 是 List 类型,"Runoob" 是 String 类型,而变量 a 是没有类型,它仅仅是一个对象的引用(一个指针),可以是 List 类型对象,也可以指向 String 类型对象。

可更改(mutable)与不可更改(immutable)对象

在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。

不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。

可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。

python 函数的参数传递:

不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。

可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响

python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。

python 传不可变对象实例

#!/usr/bin/python

#-*- coding: UTF-8 -*-def ChangeInt( a ):

a= 10b= 2ChangeInt(b)

print b # 结果是2

实例中有 int 对象 2,指向它的变量是 b,在传递给 ChangeInt 函数时,按传值的方式复制了变量 b,a 和 b 都指向了同一个 Int 对象,在 a=10 时,则新生成一个 int 值对象 10,并让 a 指向它。

传可变对象实例

#!/usr/bin/python

#-*- coding: UTF-8 -*-# 可写函数说明

def changeme( mylist ):"修改传入的列表"mylist.append([1,2,3,4]);

print"函数内取值:", mylistreturn# 调用changeme函数

mylist= [10,20,30];

changeme( mylist );

print"函数外取值:", mylist

实例中传入函数的和在末尾添加新内容的对象用的是同一个引用,故输出结果如下:

函数内取值: [10, 20, 30, [1, 2, 3, 4]]

函数外取值: [10, 20, 30, [1, 2, 3, 4]]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502335.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python怎么用for循环找出最大值_如何获取Python简单for循环索引

如何获取Python简单for循环索引 这篇文章主要介绍了如何获取Python简单for循环索引,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python的for循环相比其他语言而言更加简单,比如经常会有如下这样类…

2018年江苏省计算机小高考,江苏2018年小高考成绩查询系统网站入口:江苏省教育考试院...

【导语】无忧考网从江苏省教育考试院获悉,江苏2018年小高考成绩查询系统网站入口将于4月9日上午正式开通!江苏省教育考试院关于发布江苏省2018年普通高中学业水平测试必修科目考试成绩的通告江苏省2018年普通高中学业水平测试必修科目考试成绩拟定于4月9…

列注释_【EXCEL检查问题】:如何快速检查并删除EXCEL中隐藏的工作表、行、列等信息...

前注:本案例是以EXCEL2016为示范软件,各版本的部分功能和路径可能不同在EXCEL使用过程中,你是否遇到过某一列的公式怎么修改都报错的情况?你是否遇到过一个只有区区几行数据的表格,却占用了好几百KB甚至好几M的空间呢&…

python输入的字符串转换为对应的数字类型_Python合集之Python运算符(四)

在上一节的合集中,我们了解了Python运算符中的位运算符的相关知识,本节我们将进一步了解一下Python运算符中运算符的优先级级基础的输入输出语法的相关知识。1. 运算符优先级Python运算符的运算规则是:优先级高的运算先执行,优先级…

服务器选购seo优化规则,需要做SEO的网站,购买服务器请注意六点

企业为了能在市场中争抢到一席之地都在对网站做各种优化,期望通过互联网,在最大程度上提高知名度,吸引客户。企业搭建网站一般都会考虑网站上线之后的优化问题,而服务器对于网站SEO的优化有很大的影响。网站想要做好SEO优化&#…

python安装tensorflow报错_Anaconda安装tensorflow报错问题解决方法

最近脱离了googlecolab想使用本地的anaconda进行机器学习课题的演练,在安装tensorflow时报错 : UnsatisfiableError: The following specifications were found。下面给出解决方法。发现实际原因是由于anaconda的python环境,当前版本的tensorflow只能适用…

linux unix域socket_python3从零学习-5.8.1、socket—底层网络接口

源代码: Lib/socket.py这个模块提供了访问BSD*套接字*的接口。在所有现代Unix系统、Windows、macOS和其他一些平台上可用。这个Python接口是用Python的面向对象风格对Unix系统调用和套接字库接口的直译:函数 socket() 返回一个 套接字对象 ,其方法是对各…

hp服务器硬盘ultra320,HP服务器上安装和管理HP 磁盘柜MSA500G.pdf

HP服务器上安装和管理HP磁盘柜MSA500G23937207649(Redhat Linux AS3.0 字符环境)名目:一、磁盘柜硬件安装;二、驱动和工具软件安装;三、阵列配置;四、系统监控先给服务器安装操作系统Redhat Linux AS3.0。磁盘柜硬件安装默认的SCS…

freetype字体位图转距离场_那些火遍ins的字体小技巧,不看你就亏了

转载自版式设计很简单(ID:format_design)今天分享一个台湾设计师施博瀚的学习教程,看了以后,你会惊呼,原来这个是用AI做出来的?Ps.软件截图跟我们有所差别,以文字说明为主。www.instagram.com/bohanshih快速…

已知三角形三点坐标求角度_细心研磨椭圆焦点三角形,这肯定是最全的解释。...

点击上方蓝字关注我因为月考赶上运动会,继国庆之后,感觉又放了一个小长假。原本身体是很愿意的,可是,刚讲的解析几何突然被中断了,思想上还真是有点矛盾。因为,想了想两天后该讲些什么,脑中却一…

社会计算机比赛,哈尔滨工业大学社会计算与信息检索研究中心 – 理解语言,认知社会 » IR-Lab参加计算机学院“光熙杯”篮球赛...

IR-Lab参加计算机学院“光熙杯”篮球赛2014年04月18日迎首战师生一心,IR队旗开得胜 5月11日是“光熙杯”篮球赛的第二个比赛日,IR队迎来了小组赛的首场比赛,对阵空间计算队。比赛开始阶段,双方均略显紧张,然而随着比赛…

12v小型电机型号大全_电机型号参数大全

电动机型号是便于使用、设计、制造等部门进行业务联系和简化技术文件中产品名称、规格、型式等叙述而引用的一种代号。下面为大家介绍电动机型号含义等信息。一、电动机型号组成及含义由电机类型代号、电机特点代号、设计序号和励磁方式代号等四个小节顺序组成。1、类型代号是表…

easycode不推荐使用_为什么?mysql不推荐使用uuid或者雪花id作为主键?

前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?本篇博客我们就来分析这个问题,探讨一下内部的…

ajax动态获取url参数值,获取URL参数的方法

一、URL:统一资源定位符1、URL组成完整的URL由这几个部分构成:scheme://host:port/path?query#fragment名词解释:scheme:通信协议.常用的http,https,ftp,maito等.host:主机(带端口号). 主机名或IP 地址。port:端口号,可选,省略时使用默认端口…

netpref 使用_使用PerfView监测.NET程序性能(转发)

原文:前言:在日常项目开发中,我们时不时会遇到程序【占用了很高CPU的】情况,可能是程序里某些未经优化的代码或者Bug,或者是程序运行压力太大。无论是什么原因,我们总希望能看到到底是【哪个方法占用了如此…

2008文件服务器迁移,Windows2008及早期服务器DHCP的数据迁移方法

此过程分为导出源DHCP服务器数据库和导入到2008目标服务器两个阶段。2000和2003的导出步骤有差异,导入到2008的步骤相同。以下分别描述。从Windows 2003 DHCP服务器上导出DHCP数据库:1.使用管理员登录,打开一个“CMD”命令行窗口.2.运行此命令…

ubuntu 虚拟机 串口 socket_上篇 | 虚拟机Ubuntu向开发板AMR传送文件

让技术支撑梦想点击上方蓝字可以关注我们哦首先把Ubuntu向开发板发送文件的流程做一下笔记,下一篇笔记就记录开发板如何接受文件....上一篇笔记:Makefile文件的编写规则及实例有很多小伙伴看不懂术语,所以这次小浩用口语方式表达这次笔记&…

win7 mysql 密码_笔记本win7系统下mysql忘记密码的最佳解决方法

MySQL是一个关系型数据库管理系统,在笔记本win7系统下编程的时候就需要用到MySQL数据库,不过有时候一段时间没用的话,可能会忘记数据库的登录密码了,当忘记密码就无法进入mysql,要如何解决呢,下面给大家带来…

无限流量手机怎样改服务器,无限流量手机服务器

无限流量手机服务器 内容精选换一换云手机作为一种新型服务,依靠华为云的服务器底座、创新技术及周边服务的天然优势,让移动应用不但可以在物理手机运行,还可以在云端智能运行。相比常见的手机模拟方案,云手机在性能、兼容性、稳定…

python3怎么做爬虫_Python爬虫入门教程 53-100 Python3爬虫获取三亚天气做旅游参照...

爬取背景 这套课程虽然叫爬虫入门类课程,但是里面涉及到的点是非常多,十分检验你的基础掌握的牢固程度,代码中的很多地方都是可以细细品味的。 为什么要写这么一个小东东呢,因为我生活在大河北,那雾霾醇厚的很&#xf…