python常见变量的定义,引用,修改
来源:互联网 发布:淘宝网店客服中心 编辑:程序博客网 时间:2024/05/23 19:36
概要:针对常见的几种数据类型,本文主要通过图表,举例,和比较的方式来介绍变量的定义,引用,修改。
一,总览
二,知识点详解
(一).不可变数据类型与可变数据类型的比较:
1.不可变数据类型:
●例子:即基本的数据类型,包括整型,浮点型,字符串和元组。
●特点:对不可变类型的变量重新赋值,实际上是重新创建一个不可变类型的对象,并将原来的变量重新指向新创建的对象(如果没有其他变量引用原有对象的话(即引用计数为0),原有对象就会被回收)。
2.可变数据类型:
●例子:列表,字典。
●特点:对于可变数据类型,可以在原地址修改变量的值。具体要看下面的应用例子。
3.numpy中的array类型:
●介绍:科学计算库numpy中的基本数据类型array。
●特点:与C语言的数组,和matlab中的矩阵都有类似的地方。
(二).变量的定义,应用及修改
1. 整型,浮点型
>>> test_int = -10 #定义>>> print(id(test_int)) #查ID49271088>>> test_int = test_int + 10 #修改>>> print(id(test_int)) #查ID1562817568>>> test_int = 20 #再次定义>>> print(id(test_int)) #查ID1562818208>>> temp_int = test_int #引用>>> temp_int = 3000>>> print(test_int)20>>> print(temp_int)3000
2.字符串
>>> test_string = 'antintheway' #定义>>> test_string[0] = 'b' #修改,出错TypeError: 'str' object does not support item assignment>>> test_string.replace( 'ant', 'Hamburger' ) #用replace方法修改'Hamburgerintheway'>>> print(test_string)antintheway
●总结与比较:字符串与元组都可以通过索引值来查询变量值,但不能通过索引来修改值,如果要修改值可以选择通过相应的方法。
3.列表
>>> test_list = [1,2,3,4,5,6] #定义>>> test_list[0] = 100 #修改>>> print(test_list) [100, 2, 3, 4, 5, 6]>>> temp_list = test_list #引用 地址>>> temp_list[0] = 10>>> print(temp_list) #都改变[10, 2, 3, 4, 5, 6] >>> print(test_list)[10, 2, 3, 4, 5, 6]>>> new_list = test_list[:] #引用 值>>> new_list[0] = 200>>> print(new_list) #并不同时改变[200, 2, 3, 4, 5, 6]>>> print(test_list)[10, 2, 3, 4, 5, 6]
●总结与比较:列表可以修改,但是不同的复制方式将会产生不同的结果。如果只复制地址,那么只要变量一改变,指向相同地址的变量都会改变,如果复制值,那么相当于再创建一个新的对象。复制后的变量与原变量不会相互影响。
●字典的特点与列表类似。
●元组的运算速度高于列表。
4.numpy库的基本变量array
>>> from numpy import * #导入库>>> test_array = array([1,2,3,4,5,6,7,8]) #定义>>> test_array[0] = 20 #修改>>> print(test_array) [20 2 3 4 5 6 7 8]>>> temp_array = test_array #引用1>>> temp_array[1] = 30>>> print(test_array)[20 30 3 4 5 6 7 8]>>> print(temp_array)[20 30 3 4 5 6 7 8]>>> new_array = test_array[:] #引用2 与列表比较>>> new_array[2] = 40>>> print(new_array)[20 30 40 4 5 6 7 8]>>> print(test_array)[20 30 40 4 5 6 7 8]>>> cut_array = test_array[0:2] #切片引用修改与索引修改不同>>> cut_array[0] = 60>>> print(test_array)[60 30 40 4 5 6 7 8]>>> copy_array = test_array.copy() #复制整个数组>>> copy_array[0] = 70>>> print(copy_array)[70 30 40 4 5 6 7 8]>>> print(test_array)[60 30 40 4 5 6 7 8]
●总结与比较:数组有切片引用,与列表中复制数据的方法形似,但却不同,需要区分开来。如果想要复制整个数组,可以采用.copy()的方式。
阅读全文
1 0
- python常见变量的定义,引用,修改
- PHP变量的定义、可变变量、变量引用、销毁
- String型变量的定义与引用
- JS的变量定义跨文件引用
- Shell变量的定义与引用
- 结构变量的定义和引用
- Python开发----变量的定义
- python变量、引用、拷贝之间的关系
- Python变量的引用先后顺序
- python变量的拷贝与引用
- 指针变量的定义和引用(最简单的)
- MakeFIle 变量定义及引用 $@,$^,$<
- 定义接口类型的引用变量有什么好处?
- (转)定义接口类型的引用变量有什么好处?
- Shell脚本定义变量和环境变量的引用
- Python对象引用(变量)
- loadrunner自己定义变量并且引用变量
- 关于方法内定义的类引用局部变量需要将变量设置final的问题
- 算法工程师
- MyBatisPlus注入公共Sql问题
- H5房卡牛牛ios进入微信手势侧滑返回问题
- Mysql日志--缓慢指令日志
- vue开发:vue-cli+axios解决跨域问题
- python常见变量的定义,引用,修改
- 微信授权登录,提示-2,用户取消
- PHP5.6版本安装redis扩展
- HTTP method POST is not supported by this URL解决方案
- PCB各层介绍和AltiumDesigner画PCB时的规则设置
- WINDOWS多线程学习笔记
- 第一章 Shiro简介——《跟我学Shiro》
- Unable to preventDefault inside passive event listener
- [BZOJ1079]迷之DP