Python数据定义
数据类型:
什么是数据?
在计算机科学中,数据是指所有能输入到计算机并被计算机程序处理的符号的介质的总称,是用于输入电子计算机进行处理,具有一定意义的数字字母、符号和模拟量等的统称。现在计算机存储和处理对象十分广泛,表示这些对象的数据也随之变得越来越复杂。
举个例子:
在游戏当中你会有你的自己的人物、装备、等级、金钱等等、这些都是数据,但是在Python中这些数据都有自己各自的类型那么他们该如何表示呢?
例如用cs来说
名字:Chares_Lee-------------------->字符串
金钱:7500 ---------------------->数字
装备:AK-47,闪光弹,防弹衣 --------->列表
击杀数:15 ------------------------>数字
等等,还有很多其他类型的数据,处理不同类型的数据就需要定义不同的数据类型
一 基本的数据类型有:
数字(整型、长整型、浮点、布尔、复数)
1.整数:根据字面的意思俩理解就没有小数点的数
2.长整数:就是很长的整数
3.浮点型:就是带小数点的数字
4.布尔型:True与False(1和0)
5.复数: 复数有实数部分和虚数部分组成,一般形式为x+yj,其中x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注意,虚数的大小写字部分的字母j不分大小写
6.产生数字的方法
# age=18
# age1=int(18)
# print (age,type(18))
# print (age1,type(18)) #整数 # salay=3000.00
# salay1=float(3000.00)
# print (salay,type(3000.00)) #浮点型
# print(salay1,type(3000.00))
二 字符串
在python如何定义一串字符为字符串呢?
用 " " 、' ' 、''' '''或者""" """。中间包含的部分称之为字符串
PS:即使里面写入的是数字,那么他的数据类型也是字符串
例如name='Chares_Lee'
在' '里面的就是字符串
使用三引号 ('''或""")
利用三引号 你可以指示一个多行的字符串 你可以在三引号中自由的使用单引号和双引号 例如
''' This is a multi-line string. This is the first line.
This is the second line.
"What is your name?" I asked.
He said "Chares Lee."
'''
注意字符串是不可改变的
产生字符串的方法
# test='hello'
# test1=str('hello')
# print (test,type(test)) #字符串
# print (test1,type(test1))
常见的字符串操作有:
移除空白、分隔、长度、索引、切片、(详情请参考:Python第一天——入门Python(2)字符串的简单操作)
三.列表
[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
定义列表
# l=[1,2,3,4]
# l1=list([1,2,3,4])
# l2=list('1234')
# print (l,type(l))
# print (l1,type(l1))
# print (l2,type(l2)) #列表的定义方法
常见的列表操作有:
增加、插入、删除、查询、切片、索引、长度等(详情请参考:Python第一天——入门Python(3)列表)
四、元组
以'()'圆括号进行定义,与列表极其相似。也是序列类型 可以进行索引,切片,查询,也可以进行遍历
# test=(1,2,3,4) # for i in test: #元组的遍历方法 # print(i)
元组与列表的唯一区别则是不可改变
常见操作
# test=(1,2,3,4,4,4)
# print (test.count(4)) #查看元组中的某个元素的个数 # test=(1,2,3,4)
# print (test.index(4)) #查看元组中某个元素的下标
5 # print (len(test)) #查看元组的长度
6
7 # print (1 in test) #包含
索引、切片、循环、长度、包含
五、字典
字典占用的内存空间将会大于列表,在系统中要保存一个hash列表(用系统内存换取时间)
字典属于key:value 结合(key值是不可变的,value值可以变)并且是无序的
注意:字典是无序排列的
# dic=dict(nama='lhc',age=23)
2 # print (dic) #创建字典
详细操作请参考:Python第一天——入门Python(4)字典的常用操作
集合(工厂函数)
定义:由不同的元素组成的集合,集合中是一组无序排列的可hash值,可作为字典的key,而且集合中的值不可重复。
特性:集合的目的就是将不同的值存放在一起,不同的集合间来做关系运算,无序纠结集合中单个值
集合包括可变集合和不可变集合
hash是什么?
打个比方,比如说有一个文件(不管多大),对这个文件要进行一个hash校验,会得到一个校验值(固定长度)。
hash是一种统称,具体要进行校验的话,是需要调用它下面的算法。(校验就是通过一个算法算出这个文件的一个值)。
特点:
1.只要用的算法是一定,那么得到的值的长度永远是一定的
2.原值(被校验的值)只要改一点,那么在此校验的值将会改变
3.不可逆。不可能通过一串hash值来推导出这个文件内容
算法:MD5 SH512等等
用途:最多的用途就是进文件校验(看文件是否被篡改)。再一个就是tcp/ip协议。只能对不可变的值进行hash校验。如果集合中有可变类型那么回保错。
s={1,'a',[1,2,3],'a'}
print(s) Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/untitled/day9/集合.py", line 4, in <module>
s={1,'a',[1,2,3],'a'}
TypeError: unhashable type: 'list'
e,g
说列表是不可hash类型
在python中,看到不可hash类型就是可变类型,反之,可hash类型就是不可变类型
去重
s={1,'a','a'}
print(s) {'a', 1}
无序
s={1,'a',(1,2,3),}
print(s) {'a', 1, (1, 2, 3)}
可以使用迭代器取值
详细操作请参考http://www.cnblogs.com/charles1ee/p/6553941.html
变量
什么是变量?
通过字面的意思理解为变化的量。具体解释为:保存状态(程序的运行本质是一系列状态的变化,变量的目的就是用来保存状态,变量的值得变化就钩子程序运行的不同结果)
例如:英雄联盟的人物,每个人都有各自的血量,当血量大于零的时候表示life=active活着,当满足血量等于零的时候修改变量为life=inactive,表示死亡。
变量的命名标准
变量的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _’)。
五大数据类型基本划分:
按照存储数据个数区分
标量/原子类型(值能存放一个值) | 数字,字符串 |
容器类型(存放多个值) | 列表,元组,字典 |
按照可变不可变区分
可变类型指的是在同一块内存地址之上可以将值替换掉(使用id()函数查看变量的内存地址)
可变 | 列表,字典 |
不可变 | 数字,字符串,元组 |
按照访问顺序区分
直接访问(不可拆分) | 数字 |
顺序访问(有下标的) | 字符串,元组,列表 |
key值访问(映射类型) | 字典 |
数据结构
数据结构的意义:将上述五大数据类型整合到一起。但是掺到一起不是目的。目的是能够组合成一个好的结构,方便自己或者他人进行数据存储或者读取。
Python数据定义的更多相关文章
- Python第一天——入门Python(1)数据定义
数据类型: 什么是数据? 在计算机科学中,数据是指所有能输入到计算机并被计算机程序处理的符号的介质的总称,是用于输入电子计算机进行处理,具有一定意义的数字字母.符号和模拟量等的统称.现在计算机存储和处 ...
- Python学习记录----数据定义
摘要: 描述Python中数据定义格式,需要注意的东东. 一 数据声明 Python木有一般语言的具体数据类型,像char,int,string这些通通木有.这有点像javascript,但又不同,j ...
- Python数据可视化编程实战——导入数据
1.从csv文件导入数据 原理:with语句打开文件并绑定到对象f.不必担心在操作完资源后去关闭数据文件,with的上下文管理器会帮助处理.然后,csv.reader()方法返回reader对象,通过 ...
- Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识
Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...
- Matplotlib 使用 - 《Python 数据科学手册》学习笔记
一.引入 import matplotlib as mpl import matplotlib.pyplot as plt 二.配置 1.画图接口 Matplotlib 有两种画图接口: (1)一个是 ...
- python数据格式化之pprint
python数据格式化之pprint 2017年06月17日 13:56:33 阅读数:2291 简介 pprint模块 提供了打印出任何Python数据结构类和方法. 模块方法: 1.class p ...
- python 数据序列化(json、pickle、shelve)
本来要查一下json系列化自定义对象的一个问题,然后发现这篇博客(https://www.cnblogs.com/yyds/p/6563608.html)很全面,感谢作者,关于python序列化的知识 ...
- caffe添加python数据层
caffe添加python数据层(ImageData) 在caffe中添加自定义层时,必须要实现这四个函数,在C++中是(LayerSetUp,Reshape,Forward_cpu,Backward ...
- Python 函数定义和使用
# 函数的概念 # 概念 # 写了一段代码实现了某个小功能; 然后把这些代码集中到一块, 起一个名字; 下一次就可以根据这个名字再次使用这个代码块, 这就是函数 # 作用 # 方便代码的重用 # 分解 ...
随机推荐
- c++动态库封装及调用(1、动态库介绍)
1.一个程序从源文件编译生成可执行文件的步骤: 预编译 --> 编译 --> 汇编 --> 链接 (1)预编译,即预处理,主要处理在源代码文件中以“#”开始的预编译指令,如宏展开 ...
- js实现无限级分类
let arr = [ {id:1,name:"php",pid:0}, {id:2,name:"php基础",pid:1}, {id:3,name:" ...
- 通过反编译看Java String及intern内幕--费元星站长
通过反编译看Java String及intern内幕 一.字符串问题 字符串在我们平时的编码工作中其实用的非常多,并且用起来也比较简单,所以很少有人对其做特别深入的研究.倒是面试或者笔试的时候,往 ...
- 使用conlleval.pl对CRF测试结果进行评价的方法
基于CRF做命名实体识别系列 用CRF做命名实体识别(一) 用CRF做命名实体识别(二) 用CRF做命名实体识别(三) 评测 用CRF做完命名实体识别我们测试之后得到的结果就是预测的标签,并不能直接得 ...
- Andorid自定义attr的各种坑
本文来自网易云社区 作者:孙有军 在开发Andorid应用程序中,经常会自定义View来实现各种各样炫酷的效果,在实现这吊炸天效果的同时,我们往往会定义很多attr属性,这样就可以在XML中配置我们想 ...
- ruby 基础教程1-8-1
1.":class, instance_of?, :is_a?"都是Object类的方法,每个对象都可以调用 2.":class"方法用户获取对象归属类的名称 ...
- 负数取余/整除,Python和C语言的不同
总结一句:Python中负数整除,是向负无穷取整,所以导致负数取余不对 在数学公式中,两种语言的表示算法都是一样的,都是: r=a-n*[a/n] 以上,r是余数,a是被除数,n是除数. 唯一不同点, ...
- C 进制 类型说明符 位运算 char类型
一 进制 1. 什么是进制 是一种计数的方式 数值的表示形式 2. 二进制 1> 特点: 只有0和1 逢2进1 2> 书写格式: 0b或者0B开头 3> %d 以带符号的十进制形式输 ...
- lintcode39 恢复旋转排序数组
恢复旋转排序数组 给定一个旋转排序数组,在原地恢复其排序. 您在真实的面试中是否遇到过这个题? Yes 说明 什么是旋转数组? 比如,原始数组为[1,2,3,4], 则其旋转数组可以是[1,2,3 ...
- 【Random】-随机数字-jmeter
参数化 Random 参数化,存储结果的变量名,名字写了,就可以给其它请求使用