第六篇数据类型

author author     2022-10-04     358

关键词:

整数 (int)

Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1100-80800,等等。

浮点数(float)

浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。浮点数可以用数学写法,如1.233.14-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。

整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。

字符串(string)

字符串是以单引号或双引号"括起来的任意文本,比如‘abc‘"xyz"等等。请注意,‘‘""本身只是一种表示方式,不是字符串的一部分,因此,字符串‘abc‘只有abc这3个字符。如果本身也是一个字符,那就可以用""括起来,比如"I‘m OK"包含的字符是Im,空格,OK这6个字符

转义字符


如果字符串内部既包含又包含"怎么办?可以用转义字符来标识,比如:

‘I‘m?"OK"!‘

表示的字符串内容是:

I‘m?"OK"!

转义字符可以转义很多字符,比如 表示换行, 表示制表符,字符本身也要转义,所以\表示的字符就是,可以在Python的交互式命令行用print()打印字符串看看:

>>>?print(‘I‘m?ok.‘)
I‘m?ok.
>>>?print(‘I‘m?learning
Python.‘)
I‘m?learning
Python.
>>>?print(‘\
\‘)

如果字符串里面有很多字符都需要转义,就需要加很多,为了简化,Python还允许用r‘‘表示‘‘内部的字符串默认不转义,可以自己试试:

>>>?print(‘\	\‘)
???????>>>?print(r‘\	\‘)
\	\

如果字符串内部有很多换行,用 写在一行里不好阅读,为了简化,Python允许用‘‘‘...‘‘‘的格式表示多行内容,可以自己试试:

>>>?print(‘‘‘line1...?line2...?line3‘‘‘)
line1
line2
line3

上面是在交互式命令行内输入,注意在输入多行内容时,提示符由>>>变为...,提示你可以接着上一行输入。如果写成程序,就是:

print(‘‘‘line1
line2
line3‘‘‘)

多行字符串‘‘‘...‘‘‘还可以在前面加上r使用


布尔值

布尔值和布尔代数的表示完全一致,一个布尔值只有TrueFalse两种值,要么是True,要么是False,在Python中,可以直接用TrueFalse表示布尔值(请注意大小写),也可以通过布尔运算计算出来:

>>>?TrueTrue>>>?FalseFalse>>>?3?>?2True>>>?3?>?5False

布尔值可以用andornot运算。

and运算是与运算,只有所有都为Trueand运算结果才是True

>>>?True?and?TrueTrue>>>?True?and?FalseFalse>>>?False?and?FalseFalse>>>?5?>?3?and?3?>?1True

or运算是或运算,只要其中有一个为Trueor运算结果就是True

>>>?True?or?TrueTrue>>>?True?or?FalseTrue>>>?False?or?FalseFalse>>>?5?>?3?or?1?>?3True

not运算是非运算,它是一个单目运算符,把True变成FalseFalse变成True

>>>?not?TrueFalse>>>?not?FalseTrue>>>?not?1?>?2True

布尔值经常用在条件判断中,比如:

if?age?>=?18:????print(‘adult‘)else:????print(‘teenager‘)


空值

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型,我们后面会继续讲到。


常量

所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量:

PI?=?3.14159265359

但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你。

最后解释一下整数的除法为什么也是精确的。在Python中,有两种除法,一种除法是/

>>>?10?/?33.3333333333333335

/除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:

>>>?9?/?33.0

还有一种除法是//,称为地板除,两个整数的除法仍然是整数:

>>>?10?//?33

你没有看错,整数的地板除//永远是整数,即使除不尽。要做精确的除法,使用/就可以。

因为//除法只取结果的整数部分,所以Python还提供一个余数运算,可以得到两个整数相除的余数:

>>>?10?%?31

无论整数做//除法还是取余数,结果永远是整数,所以,整数运算结果永远是精确的。



web前端第六篇javascript对象

在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,String、Math、Array、Date、RegExp都是JavaScript中重要的内置对象,在JavaScript程序大多数功能都是基于对象实现的<scriptlanguage=... 查看详情

第六篇elasticsearchexpress删除索引数据

express框架删除elasticsearch索引数据1.在elasticsearch.js文件下添加functiondeleteDocument(id){returnelasticClient.delete({index:indexName,type:"foods",id:id});}exports.deleteDocument=deleteDocument;2.在路由删除数据代码块中添加el 查看详情

elasticsearch入门第六篇:复合数据类型——数组,对象和嵌套

这是ElasticSearch2.4版本系列的第六篇:ElasticSearch入门第一篇:Windows下安装ElasticSearchElasticSearch入门第二篇:集群配置ElasticSearch入门第三篇:索引ElasticSearch入门第四篇:使用C#添加和更新文档ElasticSearch入门第五篇:使用C#查询文档... 查看详情

深入理解dom节点类型第六篇——特性节点attribute

×目录[1]特征[2]属性[3]方法前面的话  元素的特性在DOM中以Attr类型表示,从技术角度讲,特性是存在于元素的attributes属性中的节点。尽管特性是节点,但却不是DOM节点树的一部分。本文将详细介绍该部分内容 特征  ... 查看详情

第六篇:数据预处理-数据标准化

 前言    在进行缺失,异常处理之后,往往要对数据进行变换。    变换有多种情况,主要是以下两种:    -规范化:对数据进行一定比例的缩放,让它实质落入某个具体区间。 ... 查看详情

[数据结构--手撕排序算法第六篇]快速排序

...​​​​四、快速排序的特性总结​​前言手撕排序算法第六篇:快速排序!从本篇文章开始,我会介绍并分析常见的几种排序,例如像插入排序,冒泡排序,希尔排 查看详情

第六篇:元数据管理之“灵魂”三问

元数据管理作为企业数据治理的基础工作,贯穿数据产生、加工和使用的全生命周期,是有效管理和使用数据的基础和前提,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。本文... 查看详情

第六篇:元数据管理之“灵魂”三问

元数据管理作为企业数据治理的基础工作,贯穿数据产生、加工和使用的全生命周期,是有效管理和使用数据的基础和前提,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。本文... 查看详情

coreanimation文档翻译(第六篇)

?高级动画技巧配置属性动画或者关键帧动画的方式是多种多样的。需要同时执行多个动画或者顺序执行多个动画的APP,可以通过高级的方式同步这些动画的timing或者将这些动画绑定在一起。我们也可以使用其他类型的动画对象... 查看详情

第六篇函数对象函数嵌套名称空间与作用域装饰器(代码片段)

一、函数对象函数是第一类对象,即函数可以当作数据传递#1可以被引用#2可以当作参数传递#3返回值可以是函数#4可以当作容器类型的元素利用该特性,优雅的取代多分支的ifdeffoo():print(‘foo‘)defbar():print(‘bar‘)dic=‘foo‘:foo,‘... 查看详情

第六篇:面向对象

第六篇:面向对象  PYTHON-面向对象类绑定方法PYTHON-面向对象继承派生PYTHON-面向对象-练习-王者荣耀对砍游戏  查看详情

jsp第六篇自定义标签之传统标签

为什么要使用自定义标签?JSTL标签库只提供了简单的输出等功能,没有实现任何的HTML代码封装,并且某些复杂类型转换,或者逻辑处理的时候,JSTL标签库完成不了,需要自定义标签!编写自定义标签的步骤:编写一个实现Tag接... 查看详情

c++从入门到入土第六篇:c/c++内存管理

C/C++内存管理文章目录C/C++内存管理先看一道题目C语言中动态内存管理方式malloc/calloc/realloc和freeC++内存管理方式new/delete操作内置类型new和delete操作自定义类型operatornew与operatordelete函数malloc/free和new/delete的区别... 查看详情

第六篇vggnet——模型精讲

文章目录 查看详情

第六篇:jmeter断言

前言在jmeter中断言用于验证服务器返回的数据是否满足我们的要求。jmeter提供了以下断言类型:下面我们主要对响应断言、XPathAssertion、[email protected]-JSONPathAssertion进行分享,这几个断言类型也是日常压测过程中最常用的,对... 查看详情

电子海图开发第六篇--电子海图文件结构(共一百篇)

 ISO/IEC8211 是一个基于交换格式的文件。ISO/IEC8211 文件的基本组成是逻辑记录(LR)。一个ISO/IEC8211 文件的第一个LR称为“数据描述记录”(DDR),它包含了文件中实际数据的描述和逻辑结构;后续的所有逻辑记录(L... 查看详情

[dart学习]第六篇:流程控制语句(代码片段)

经过前面的基础知识了解学习,我们今天可以进入语句模块啦。dart主要有以下流程控制语句:if-elsefor循环while和do-while循环break和continueswitch-caseassert当然,你还可以使用try-catch或throw(一)if-elsedart的if(或者elseif)的条件表达式必... 查看详情

第六篇:springboot整合jpa

什么是Jpa?  Jpa(JavaPersistenceAPI)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,Top... 查看详情