Python的序列数据和变量
本篇内容涉及字符串、列表、元组、Python中的报错,以及变量本质,包括引用计数技术
该篇只为抛砖引玉,其内容来自Python学习中总结,另外感谢李老师的教导和Python班同学们的帮助
附上李老师和本人扣扣:2573799357
本人扣扣:1392916221
首先解释:序列数据和变量
1.序列指一组有顺序的数据列表,有序
2.变量本文指变量名
字符串【无意义】
不可变数据类型
· 语法:
'a'单引号和'''a'''三引号
"a"双引号和"""a"""三双引号
a = "Carla:"I can come today,""
#该行为错误代码,在python中有一个有意思的地
# 方,""双引号中为一个字符串,那么双引号中的双引号只是一个英文中语句符使用呢?
#那么改行代号则可以使用3引号就可以正常在代码中使用双引号了
#题外话,在美国的纽约时报和各大报纸中很多语句都经常使用双引号
print(‘-------分割线--------’)
a = '''Carla:"I can come today" ''' #该行为正常代码,卡拉:“我今天能来” 这里显示是双引号
print('--------分割线!-------')
a = """Carla:'I can come today' """ #改行显示为单引号
在Python中没有字符和字符串之分:
1、C语言中单个字符叫char,只能用单引号定义 注 char a = 'a ';
2、C语言中多个字符,字符串str必须用双引号定义
3、Python中没有字符和字符串之分
字符串为什么没有意义,只显示给人们
列表【有意义】——list
列表是一个可变数据类型 -> 功能性强
列表是一个有顺序的序列,而且支持【任意数据类型】在其中存储
1、列表有意义,可以在列表中进行数据操作
>>> a = [1,2,3,4,5] #a
>>> a #显示a
[1,2,3,4,5]
>>> a[0] = 3 #a的0下标修改为3
>>> a
[3, 2, 3, 4, 5]
2、列表的语法:[] #英文模式下的中括号
3、支持索引和切片,索引和切片的操作和字符串的操作一样,注意逗号分隔的数据!
4、列表中可以创建空列表
那么问题来了,空列表是真的还是假的
a = ' ' #真假?——字符串
#答案为假
a = [] #真假? ——列表
#答案为假
a = [' ',' ',' '] #那么这个,是真还是假?
#答案为真
解释:如何确定a的真假,那么确定的是【列表】还是【字符串】?
列表为假的依据:列表为空则为假
这个列表是空的吗?(机器是不会思考的)
先看最外层
代码测试:
if a: #使用if条件判断语句测试
print('') #如果为真则打印123
#打印结果为123,答案为真
5、列表其中的数据支持修改
元组【有意义】——tuple
不可变的数据
语法:() #英文模式下的括号,可在Python中创建元组
1、元组也可以保存任意数据类型
2、元组和列表都支持索引和切片
3、元组不支持数据修改
4、创建单个元组后面要加逗号,否则为整数,可使用type函数查看数据类型
文字游戏:元组不可变,那么元组中的列表可变吗?
答案是不可以!!!
解释:元组中列表的元素是可变的!!!!但是元组中的列表是不能变的
a = (1,2,3,[1,2,3],'abc')
>>>a
(1,2,3,[1,2,3],'abc')
>>>a[3][1] = 'a' #a的第三个索引中的第1个索引修改为a,下标从零开始
>>>a
(1,2,3,[1,a,3],'abc') #元组中的列表元素是可以修改的!!!
Python中的报错:
TypeError:'tuple' object does not support item assignment
TypeError:错误类型
类型错误,对这个数据类型不属于他的操作
'tuple' object does not support item assignment:错误的原因
TypeError:
unsupported operand type(s) for +: 'int' and 'str'
不支持这样的操作,int和str类型不支持一起
SyntaxError:invalid syntax 语法错误,如a++
变量命名规范
请一定遵循命名规范!
1、数字和特殊符号不能开头
2、可采用驼峰和地中海命名
地中海:make_dinner 或 驼峰:makeDinner
变量引用计数:
创建变量:
内存: #占用两块(实际不止两块)
存储 变量名需要内存
实际数据需要内存【同一个数据内存共享】
共享:a = 1 b = 1 c =1,abc中的1,实际数据共用一个内存地址
优点:节约内存
Python本身就在使用一些基础变量
如:0-9 和 a-z
如果创建新的基础数据类型,那么不好去新开辟一块内存,而是直接和已有的共享
独立:彼此互不影响(C/Java语言的变量创建)
缺点:浪费内存、容易造成内存碎片
当引用计数为0的时候释放内存
Python的序列数据和变量的更多相关文章
- (八)python的简单数据类型和变量
什么是数据类型? 程序的本质就是驱使计算机去处理各种状态的变化,这些状态分为很多种. 例如英雄联盟游戏,一个人物角色有名字,钱,等级,装备等特性,大家第一时间会想到这么表示 名字:德玛西亚------ ...
- 流畅的python之序列
python对开发者友好的根源在于:1.序列的泛型操作2.内置的元组和映身类型3.用缩进来架构的源码4.无需变量声明的强类型 序列数据共用的一套丰富的操作:迭代.切片.排序和拼接.内置序列类型:1.容 ...
- 孤荷凌寒自学python第三十七天python的文件与内存变量之间的序列化与反序列化
孤荷凌寒自学python第三十七天python的文件与内存变量之间的序列化与反序列化 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.什么是序列化与反序列化 序列化是指将内存中的数据进行指 ...
- 第三篇:python基础之数据类型与变量
阅读目录 一.变量 二.数据类型 2.1 什么是数据类型及数据类型分类 2.2 标准数据类型: 2.2.1 数字 2.2.1.1 整型: 2.2.1.2 长整型long: 2.2.1.3 布尔bool ...
- python学习之 -- 数据序列化
json / pickle 数据序列化 序列化定义:把变量从内存中变成可存储或传输的过程称为序列化.反序列化:把变量内容从序列化的对象重新读到内存里称为反序列胡. 序列化模块之--pickle使用注意 ...
- 第二篇.1、python基础之数据类型与变量
一.变量 1 什么是变量之声明变量 #变量名=变量值 age=18 gender1='male' gender2='female' 2 为什么要有变量 变量作用:“变”=>变化,“量”=> ...
- Python基础一. 简介、变量、对象及引用
一.Python简介 Python是一门计算机编程语言,它是由荷兰人Guido van Rossum在1989年圣诞节期间为了打发无聊的圣诞节而编写的,作为ABC语言的继承 特性: 面向对象.解释型. ...
- Python/Numpy大数据编程经验
Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点. ...
- Python基础-类变量和实例变量
Python基础-类变量和实例变量 写在前面 如非特别说明,下文均基于Python3 大纲: 1. 类变量和实例变量 在Python Tutorial中对于类变量和实例变量是这样描述的: Genera ...
随机推荐
- Python学习手册(第4版)PDF高清完整版免费下载|百度云盘
Python学习手册(第4版)PDF高清完整版免费下载|百度云盘 提取码:z6il 内容简介 Google和YouTube由于Python的高可适应性.易于维护以及适合于快速开发而采用它.如果你想要编 ...
- 使用matlab进行傅里叶分析和滤波
傅里叶分析 公式法 下例 是将振幅为1的5Hz正弦波和振幅为0.5的10Hz正弦波相加之后进行傅里叶分析. clear all N=512; dt=0.02; n=0:N-1; t=n*dt; x=s ...
- Spring学习之——手写Mini版Spring源码
前言 Sping的生态圈已经非常大了,很多时候对Spring的理解都是在会用的阶段,想要理解其设计思想却无从下手.前些天看了某某学院的关于Spring学习的相关视频,有几篇讲到手写Spring源码,感 ...
- Django学习路24_乘法和除法
urls 中 url(r'getnum',views.getnum) views.py 中添加对应的函数 def getnum(request): num = 5 context_num = { 'n ...
- PHP natcasesort() 函数
定义和用法 natcasesort() 函数用"自然排序"算法对数组进行排序.键值保留它们原始的键名. 在自然排序算法中,数字 2 小于 数字 10.在计算机排序算法中,10 小于 ...
- PHP debug_print_backtrace() 函数
定义和用法 debug_print_backtrace() 函数打印 backtrace. 该函数显示由 debug_print_backtrace() 函数代码生成的数据. 语法 debug_pri ...
- P4274 [NOI2004]小H的小屋 dp 贪心
LINK:小H的小屋 尽管有论文 但是 其证明非常的不严谨 结尾甚至还是大胆猜测等字样... 先说贪心:容易发现m|n的时候此时均分两个地方就是最优的. 关于这个证明显然m在均分的时候的分点一定是n的 ...
- bzoj 4278 [ONTAK2015]Tasowanie
给出两个字符串 A B 让我们对其二路归并 求出能够归并出的最小字典序. 考虑后缀数组 不难发现我们将B直接连在A上会出现问题 问题是 A串剩下的和B串完全相同了 那么此时比大小就会用到B的部分 这是 ...
- 使用VMware虚拟机建立Ubuntu与主机win7的文件共享与传输
1.要想在虚拟机与主机之间建立共享文件夹必须先安装VMware Tools.方法见https://www.cnblogs.com/lsc666js/p/13403919.html. 2.在VMware ...
- 基于asp.net core 从零搭建自己的业务框架(三)
前言 根据业务处理部分,单体马上就能得知错误与否,快速做出处理,而分布式系统,会因为各种原因,无法如同单体一样立刻处理,所以这个时候需要 处理异常 的,做 补偿.转移.人工干预. 当然也可以直接在消费 ...