上一篇博客,小波介绍了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法。

一、数据类型是何方神圣?

计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值(数字),还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。

二、整形和浮点型
整形也就是整数类型(int)的,在python3中都是int类型,没有什么long类型的,比如说存年龄、工资、成绩等等这样的数据就可以用int类型,有正整数、负整数和0,浮点型的也就是小数类型(folat)的,带小数点的。如下代码

三、布尔类型
什么是布尔类型,布尔类型就是真和假,只有这两种,True和Fasle,非真即假,除了True和False还有0和1,非0即真,如下代码所示:

四、字符串和字符串操作
上面说了存数字,那要是想存自己的名字呢,那用int类型的就不行了,不能一个人的名字叫数字吧,这样怎么办呢,就有另一种数据类型应运而生,就是字符串,它可以存任意类型的字符串,比如名字,一句话等等。如下代码所示:

字符串还有很多内置的方法,对字符串进行操作,常用的方法如下,下面注释带有是否的,返回的都是一个布尔值:

五:数组

上面说了字符串和整形,那现在要是想存一个班级的人的名字,这个班有200个人,怎么存呢,用字符串的话,那就是names = 'marry lily king .....'这样,但是这样存是可以存,那要是想取到某个人的名字怎么取呢,不能再去里面看一遍吧,那累死人了,为了解决这个问题,又有一种新的数据类型应运而生,那就是列表,这也是我们在以后的开发过程中,最常用的数据类型之一,列表也叫数组,列表定义,使用[]即可;列表里面可以再套列表,一个里面套一个列表,叫二维数组;一个里面套一个列表,里面的列表再套一个列表,这个叫三维数组,套几层就是几维,定义格式如下:

通过下标访问列表中的元素,下标从0开始计数,也就是说,比如说一个列表,有个5元素,那么它第一个元素下标就是0,第二个就是1,以此类推,字符串也有下标,和列表一样 对列表的操作,分以下几种增、删、改、查
增:

改:

查:

删:

列表操作,一些内置的方法:

切片,切片也就是另一种方式获取列表的值,它可以获取多个元素,可以理解为,从第几个元素开始,到第几个元素结束,获取他们之间的值,格式是name:[1:10],比如说要获取name的第一个元素到第五个元素,就可以用name[0:6],切片是不包含后面那个元素的值的,记住顾头不顾尾前面的下标如果是0的话,可以省略不写,这样写,name[:6],切片后面还有可以写一个参数,叫做步长,也就是隔多少个元素,取一次,默认可以不写,也就是隔一个取一次,切片操作也可以对字符串使用,和列表的用法一样,实例如下:

六、元组
元组其实和列表一样,不一样的是,元组的值不能改变,一旦创建,就不能再改变了,比如说,要存数据库的连接信息,这个连接信息在程序运行中是不能被改变的,如果变了那数据库连不上了,就程序就完犊子了,这样的就可以使用元组了,元组呢,也提示别人,看到是元组的话,就说明这个值是不能被改变的,元组的定义方式是用(),小括号;元组只有两个方法,那就是count和index

七、字典
上面说了,整形、浮点型、字符串、列表和元组,下面说个新的数据类型,字典,字典也是我们开发过程中最常用的一种数据类型;想一个问题,现在要存整个北京市的所有人的信息,每个人有姓名、年龄、性别、家庭住址、学历等等,那要是用列表存的话,那就得定义N多个数组,然后存上每个人的信息,那累死人了。。。这时候又有一种新的数据类型出现了,那就是字典,dict,全称是dictionary,它具有极快的查找速度;字典是一种key-value的数据类型,比如说要存每个人的信息,那么每个人的编号就是key,value就是每个人的信息,这样的话,一个字典就能存所有人的信息了。字典的定义使用{},大括号,每个值用“,”隔开,key和value使用“:”分隔。
举个列子,如果用列表存每个人的信息的话,需要用两个列表,一个存人名,一个存信息

给一个名字,如果要查他的对应信息,那就要先从names里面找到它的位置,然后再从infos中找到它的信息,如果这个列表越长,那么它的查询速度越慢。
如果用字典实现的话,只需要一个名字和信息对应的一个表,这样就很快的根据名字找到它对应的信息,无论这个表有多大,查找速度都不会变慢。

为什么dict查找速度这么快?因为dict的实现原理和查字典是一样的。假设字典包含了1万个汉字,我们要查某一个字,一个办法是把字典从第一页往后翻,直到找到我们想要的字为止,这种方法就是在list中查找元素的方法,list越大,查找越慢。
第二种方法是先在字典的索引表里(比如部首表)查这个字对应的页码,然后直接翻到该页,找到这个字。无论找哪个字,这种查找速度都非常快,不会随着字典大小的增加而变慢,这种就是字典的实现方式。

字典的特性:
字典是无序的,因为它没有下标,用key来当索引,所以是无序的
字典的key必须是唯一的,因为它是通过key来进行索引的,所以key不能重复,天生就去重

增:

改:

删除:

查询:

字典的内置方法:

循环字典:

八、数据运算
算数运算符

操作符 描述 例子
+ 加法 - 对操作符的两侧增加值 a + b = 30
- 减法 - 减去从左侧操作数右侧操作数 a - b = -10
* 乘法 - 相乘的运算符两侧的值 a * b = 200
/ 除 - 由右侧操作数除以左侧操作数 b / a = 2
% 模 - 由右侧操作数和余返回除以左侧操作数 b % a = 0
** 指数- 执行对操作指数(幂)的计算 a**b = 10 的幂 20
// 地板除 - 操作数的除法,其中结果是将小数点后的位数被除去的商 9//2 =  4 而 9.0//2.0 = 4.0

比较运算符

运算符 描述 实例
== 检查两个操作数的值是否相等,如果是则条件变为真 (a == b) 为false
!= 检查两个操作数的值是否相等,如果值不相等,则条件变为真 a != b) 为 true.
> 检查左操作数的值是否大于右操作数的值,如果是,则条件成立 (a > b) 不为 true.
< 检查左操作数的值是否小于右操作数的值,如果是,则条件成立 (a < b) 为 true.
>= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立 (a >= b) 不为 true.
<= 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立 (a <= b) 为 true.

Python赋值运算符

运算符 描述 示例
= 简单的赋值运算符,赋值从右侧操作数左侧操作数 c = a + b将指定的值 a + b 到  c
+= 加法AND赋值操作符,它增加了右操作数左操作数和结果赋给左操作数 c += a 相当于 c = c + a
-= 减AND赋值操作符,它减去右边的操作数从左边操作数,并将结果赋给左操作数 c -= a 相当于 c = c - a
*= 乘法AND赋值操作符,它乘以右边的操作数与左操作数,并将结果赋给左操作数 c *= a 相当于 c = c * a
/= 除法AND赋值操作符,它把左操作数与正确的操作数,并将结果赋给左操作数 c /= a 相当于c = c / a
%= 模量AND赋值操作符,它需要使用两个操作数的模量和分配结果左操作数 c %= a 相当于 c = c % a
**= 指数AND赋值运算符,执行指数(功率)计算操作符和赋值给左操作数 c **= a 相当于 c = c ** a
//= 地板除,并分配一个值,执行地板除对操作和赋值给左操作数 c //= a 相当于 c = c // a

逻辑运算符

运算符 描述 示例
and 所谓逻辑与运算符。如果两个操作数都是真的,那么则条件成立。 (a and b) 为 true.
or 所谓逻辑OR运算符。如果有两个操作数都是非零然后再条件变为真。 (a or b) 为 true.
not 所谓逻辑非运算符。用于反转操作数的逻辑状态。如果一个条件为真,则逻辑非运算符将返回false。 not(a and b) 为 false.

身份运算符

运算符 描述 示例
is is判断两个标识符是否引用自一个对象 x is y,如果id(x)等于id(y) ,返回True
is not is not判断两个标识符是否引用不同的对象 x is not y,如果id(x)不等于id(y),返回True

九、三元运算符
三元运算符就是在赋值变量的时候,可以直接给它加上判断,然后赋值

当然三元运算符也可以用在列表和字典中,这么写的话,就比较简单了,不过如果搞不明白三元运算符的话,还是不用为好

欢迎光临柴狗的博客~~

小波微信:13720094293

转载于:https://www.cnblogs.com/QAyangjianbo/p/9610059.html

python学习笔记之数据类型(二)相关推荐

  1. Python学习笔记简单数据类型之数字

    1.整数: 在Python中可以对整数进行加减乘除以及取模运算,具体代码如下: #整数数据类型学习#加 i = 2 + 3; print(i);#减 i = 3 - 2; print(i);#乘 i ...

  2. Python学习笔记简单数据类型之字符串

    1.字符串: (1).字符串就是一系列字符,串起来形成的一种简单数据类型.在Python中,用引号括起来的都是字符串,包括单引号,双引号,其中字符串可以灵活的运用起来,字符串中可以包括引号和撇号,示例 ...

  3. Python学习笔记---day07数据类型(下)

    Day07数据类型(下) 常见的数据类型: int,整数类型(整形) bool,布尔类型 str,字符串类型 list,列表类型 tuple,元组类型 dict,字典类型 set,集合类型 float ...

  4. Python学习笔记8——数据类型(下)

    文章目录 一.集合(set) 1.1 定义 1.2 集合独有功能 1.2.1 Python Set add()方法 1.2.2 Python Set discard() 方法 1.2.3 Python ...

  5. Python学习笔记--组合数据类型

    组合数据类型 集合 序列 字符串类型 元组类型 列表类型 字典 集合 集合的定义 使用{}或set()函数. 如:A={"python","hello,world&quo ...

  6. python学习笔记(十二)标准库os

    os 模块提供了访问操作系统服务的功能,它所包含的内容比较多. >>> import os >>> dir(os) ['EX_CANTCREAT', 'EX_CON ...

  7. 潭州教育-Python学习笔记@基本数据类型:元祖字典

    Python基本数据还有元祖和字典 元祖(tuple)是Python的基本数据类型,用()表示,元素之间用','隔开,元祖一旦创建,就不能改变 In [45]: s = ('Stone','Stone ...

  8. python学习笔记分享(二十四)python学习笔记分期补充(二)复数,randint与sample,进制转换表,转义字符,二维数组,键,end,pass,迭代器和生成器

    一:复数 Python支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型. complex(x) 将x转换到一个复数,实数部 ...

  9. Python学习笔记之类(二)

    使用类和实例 1.给属性指定默认值,类中的每个属性都必须有初始值,哪怕这个值是0或空字符串.在有些情况下,如设置默认值时,在方法__init__()内指定这种初始值是可行的:如果你对某个属性这样做了, ...

最新文章

  1. 互联网还留给我们这些出路
  2. 2019年黑龙江省计算机等级考试,2019年的下半年黑龙江省计算机等级考试报名工作即将开始...
  3. Struts2/WebWork高危漏洞(远程执行任意代码)
  4. python bottle学习(四)request.quest/query_string/params/body等方法介绍
  5. 雇水军刷分有效吗?虚假评论的影响研究分析
  6. cute editor详细设置
  7. java 异步socket_java Socket读写异步分离
  8. [BZOJ1798][AHOI2009]Seq维护序列 线段树
  9. 甲方在IT信息化中的项目管理
  10. Java 在命令行编译Java源码
  11. f4 OF DATE FIELD IN DYNPRO PROGRAME
  12. navigate实现页面跳转及传参
  13. SVN: can't open file‘\db\txn-current-lock’ 拒绝访问
  14. android随机抽奖代码_基于JavaScript实现抽奖系统
  15. 数据处理与机器学习(大致进行了解学习)
  16. C++简单程序编写和操作步骤
  17. yii2 如何用命名空间方式使用第三方类库
  18. Vector3类详解
  19. css 实现 图片左右滑动查看的效果
  20. 麦芒6会升级鸿蒙吗,恭喜麦芒6!今日起开始升级安卓8.0+EMUI 8.0

热门文章

  1. Ajax→异步的JavaScript和XML、HTTP请求响应、Ajax简介同步异步、XMLHttpRequest类的方法及属性、原生Ajax、Koa实现Ajax、接口文档、浏览器同源策略、反向代理
  2. 通风技术交底书范文_通风与空调工程风管安装安全技术交底
  3. Python入门--常用的内置模块
  4. XSS的基本概念和原理
  5. python机器学习库keras——线性回归、逻辑回归、一般逻辑回归
  6. java构建学生对象布尔类型,Java如何将原始布尔类型转换为布尔对象?
  7. [转载][HASS.IO] 【HASSOS安装】成功安装HASSOS 1.9(避开了大部分坑版)
  8. Autorelease Pool
  9. 【Python 每天进步一点点】昨天把接口自动化测试框架部署在 测试环境 Linux 上,并且加入持续集成 Jenkins...
  10. Python学习---深浅拷贝的学习