首页 > 编程语言 >Python中可变类型与不可变类型参数的区别

Python中可变类型与不可变类型参数的区别

时间:2023-03-03 21:23:24浏览次数:48  
标签:Python 不可 参数 可变 类型 数字型 赋值

Python中的数据分为数字型与非数字型:

数字型的有:int  bool  float  complex  long(2.x)

非数字型有:string tuple list dict

而这些数据又分为可变类型与不可变类型:

不可变类型:数字型  tuple  string

可变类型:list  dict

【可变类型指的是来类型的数据可以在内存中进行修改】

例如:

对于不可变类型a,如果要对其进行修改,只会在内存中重新分配一个,再将其的引用赋值给a

而对于可变类型b,如果使用赋值运算符对其修改的话,会同不可变类型a一样,但是用b所自带的append方法对其修改时,只会在原有的内存空间中追加一个1,并不会重新再分配一个

 运行结果:

 

而对于可变类型与不可变类型的参数,有两点需要注意:

1.无论传递的参数是可变类型还是不可变类型,只要在函数内部针对参数使用赋值语句,会在函数内部修改局部变量的引用,不会影响到外部变量的引用。即针对参数使用赋值语句,不会影响调用函数时传递的实参变量

 

 运行结果为:

 

 从而证明函数内部的赋值,并没有影响实参的变化

2.若传递的参数是可变类型,在函数内部,使用方法修改了数据的内容,则会影响到外部的实参

 

 运行结果为:

 

 

标签:Python,不可,参数,可变,类型,数字型,赋值
From: https://www.cnblogs.com/wangjiong/p/17174670.html

相关文章

  • 基本内置类型(验证)
    字符型被分为:char,signedchar,unsignedchar三种类型,需要注意的是char类型和signedchar类型不同。尽管字符型有三种,但是表现形式却只有两种:有符号和无符号的。类型char实......
  • python txt转MP3
    1.安装依赖pipinstallpyttsx3pipinstalllibrosapipinstallpydub 2.代码程序#encoding=utf8#-*-coding:utf-8-*-'''python将一段文字转为mp3音频文件......
  • python-经典100题
    python经典100题也可能不止100题题1编写一个程序,查找所有此类数字,它们可以被7整除,但不能是5的倍数(在20和32之间(均包括在内))。获得的数字应以逗号分隔的顺序打印在一行上。......
  • Column count doesn't match value count at row 1存储的数据与数据库表的字段类型定
    一、造成这个原因可能是一个关于创建json数据类型的mysql表格插入的一个报错提示:26行为错误示范;27是正确书写规范。 ......
  • 测试框架的(概述、构成以及常用框架类型)
    测试框架大致可以分类四大类模块:(基础模块)、(管理模块)、(运行模块)、(统计模块)基础模块:1.底层核心驱动库:用户操作程序的第三方库,例如selenium2.可重用的组件:可重......
  • python之路81 路飞项目、为开源代码贡献代码、pycharm使用git、登录注册功能分析、手
    为开源项目贡献代码#github,gitee看到好的开源项目,发现有bug,为他增加新功能---》你加入了代码---》想合并进开源项目,如何做#步骤:1先fork开源项目--》复制这......
  • python-迭代器
    python迭代器判断对象是否可以迭代fromcollectionsimportIterableprint('检测对象是否可迭代:')print(isinstance([1,2,3],Iterable))检测对象是否可迭代:True......
  • hello world--开启python之路
    方式一1.创建.py文件,cmd打开2.进入文件所在目录3.执行命令pythonhello.py ,结果就被输出来了 方式二  解释器运行1.cmd打开2.输入python3.print('hello')4.退......
  • jenkins容器内安装python3
    一、容器内安装python3方案docker自带的python是2.7的,我们工作需要python3Debian系统使用apt-get命令安装1、进入jenkins容器命令:dockerexec-ituroot容器ID......
  • linux上文件复制的python代码实现3.py
    每次都需要打开代码修改要复制的文件路径台麻烦,所以改用位置参数#文件的复制3.pyimportsysdefcopy(source,destination): file_read1=open(source,mode="rb") file_......