数据类型:

  什么是数据?

    在计算机科学中,数据是指所有能输入到计算机并被计算机程序处理的符号的介质的总称,是用于输入电子计算机进行处理,具有一定意义的数字字母、符号和模拟量等的统称。现在计算机存储和处理对象十分广泛,表示这些对象的数据也随之变得越来越复杂。

  举个例子:

 在游戏当中你会有你的自己的人物、装备、等级、金钱等等、这些都是数据,但是在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,表示死亡。

  变量的命名标准

  变量的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _’)。

  变量名称的其他部分可以由字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成。
  变量名称是对大小写敏感的 例如 myname和myName不是一个标识符
  有效的变量名称例子 i、_my_name name_23和 abl2_c3
  无效的变量有2things this is spaced 和my-name

五大数据类型基本划分:

按照存储数据个数区分

标量/原子类型(值能存放一个值) 数字,字符串                            
容器类型(存放多个值) 列表,元组,字典

按照可变不可变区分

可变类型指的是在同一块内存地址之上可以将值替换掉(使用id()函数查看变量的内存地址)

可变                      列表,字典
不可变 数字,字符串,元组

按照访问顺序区分

直接访问(不可拆分) 数字
顺序访问(有下标的) 字符串,元组,列表      
key值访问(映射类型) 字典   

数据结构

数据结构的意义:将上述五大数据类型整合到一起。但是掺到一起不是目的。目的是能够组合成一个好的结构,方便自己或者他人进行数据存储或者读取。

Python第一天——入门Python(1)数据定义的更多相关文章

  1. Python第一天——入门Python(2)字符串的简单操作

    数据的操作 字符串的一些常用操作: 1 1 #!/usr/bin/env python 2 # #coding=utf-8 3 # 4 # test='hello world' 5 # print(t ...

  2. Python第一天——入门Python(3)列表

    列表,也是一种序列类型. 如何定义列表? 用" [ ] "(中括号进行定义) 列表的索引操作 例如 # hobby_list=['basketball','football','p ...

  3. Python第一天——入门Python(4)字典的常用操作

    # dic={[1,2,3]:'123'} #可变类型不能当做字典的key,value可以使用任意类型 # dic={(2,3,4):'123'} # print (dic[(2,3,4)]) #元组 ...

  4. python爬虫-基础入门-python爬虫突破封锁

    python爬虫-基础入门-python爬虫突破封锁 >> 相关概念 >> request概念:是从客户端向服务器发出请求,包括用户提交的信息及客户端的一些信息.客户端可通过H ...

  5. Python 第一篇:python简介和入门

    一.python简介 1.python下载地址:https://www.python.org/downloads/ Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆 ...

  6. Python第一天——初识Python

    python是由荷兰人Guido van Rossum 于1989年发明的一种面向对象的的解释型计算机程序设语言,也可以称之为编程语言.例如java.php.c语言等都是编程语言. 那么为什么会有编程 ...

  7. 写给想要入门python或者正在入门python的小朋友们

    写在前面: 最近好像python挺火,虽然我也在天天写python,但是python毕竟是动态语言,就拿常被人吐槽的java来说,python绝大不多数地方是不如java的.python只能是你的一个 ...

  8. Python第一个入门程序

    #!usr/bin/env python3 #在UNIX上,当某程序在控制台中被引用时,该文件的头两个字节先被读入.如果这两个字节是ASCII字符 #!, #shell就会认为该文件将要由解释器执行, ...

  9. python第一课——关于python的一些概念

    day01(上午): 1.学习方法(建议): 1).不要依赖于我的视频,绝对不要晚上将视频全部在过一遍 2).上课不要记笔记,而且不要用纸质的笔记本去整理笔记 3).不要只看不敲,代码方面我们需要做到 ...

随机推荐

  1. object 插入元素,插入HTML页面

    object标签用于定义一个嵌入的对象,包括:图像.音频.Java applets.ActiveX.PDF以及Flash.该标签允许您规定插入HTML文档中的对象的数据和参数,以及可用来显示和操作数据 ...

  2. D3D 光照和材料 小样例

    1.实现一个旋转的圆柱体,体现d3d光照效果 2.程序实现 #pragma once #pragma comment(lib,"winmm.lib") #pragma commen ...

  3. 图解:SQL Server SSIS包和job的部署攻略

    原文:图解:SQL Server SSIS包和job的部署攻略 以下将建立一个SQL Server SSIS包 然后在job中使用这个包,并将job部署到目标机器 1. 首先建立ssis包,使用sql ...

  4. JAVA 异常 throw 与 throws

    最近一直throw和throw new …… 获取头部罢工,要彻底生气清楚这件事,他对这个思想精华收集了很多网友.这里摘录. throws全部异常信息throw则是指抛出的一个详细的异常类型.通常在一 ...

  5. Android项目--tabhost

    所有牵扯到自定义布局的layout中尽量用RelativeLayout 在通讯录中如果像小米手机的UI那就是viewpager,在这里,我们做成静态的.通过tabhost来做. 1.布局 a) 直接用 ...

  6. NodeJs技术

    我的NodeJs技术总结——第一篇   既然是我的技术总结,那就是以我的技术水平为基础的,写浅了大家不要笑话,如果有错误的地方还望指正. 这第一篇就谈谈NodeJs的一些编程细节吧. 1.遍历数组 f ...

  7. DDD(领域驱动设计)理论结合实践

    DDD(领域驱动设计)理论结合实践   写在前面 插一句:本人超爱落网-<平凡的世界>这一期,分享给大家. 阅读目录: 关于DDD 前期分析 框架搭建 代码实现 开源-发布 后记 第一次听 ...

  8. Fitnesse测试用例脚本自动生成设计

    Fitnesse是通过wiki形式来展示.管理和执行测试用例,若要在Fitnesse上设计测试用例,前提是必须熟悉一定的wiki语法,虽然wiki语法简单,但是若要设计成百上千的测试用例还是有很大的工 ...

  9. ORACLE表建立自增列

    create tablespace studentDBdatafile 'E:\datafiles_1.dbf' size 10m; create user Huang_Ying_Boidentifi ...

  10. java中的log

    slf4j slf4j的全称是:  Simple Logging Facade for Java (SLF4J). slf4j的官方网站:http://www.slf4j.org 简介 SLF4J不是 ...