关键词:
整数 (int)Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1
,100
,-8080
,0
,等等。
浮点数(float)
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。浮点数可以用数学写法,如1.23
,3.14
,-9.01
,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9
,或者12.3e8
,0.000012可以写成1.2e-5
,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
字符串(string)
字符串是以单引号‘
或双引号"
括起来的任意文本,比如‘abc‘
,"xyz"
等等。请注意,‘‘
或""
本身只是一种表示方式,不是字符串的一部分,因此,字符串‘abc‘
只有a
,b
,c
这3个字符。如果‘
本身也是一个字符,那就可以用""
括起来,比如"I‘m OK"
包含的字符是I
,‘
,m
,空格,O
,K
这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
使用
布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True
、False
两种值,要么是True
,要么是False
,在Python中,可以直接用True
、False
表示布尔值(请注意大小写),也可以通过布尔运算计算出来:
>>>?TrueTrue>>>?FalseFalse>>>?3?>?2True>>>?3?>?5False
布尔值可以用and
、or
和not
运算。
and
运算是与运算,只有所有都为True
,and
运算结果才是True
:
>>>?True?and?TrueTrue>>>?True?and?FalseFalse>>>?False?and?FalseFalse>>>?5?>?3?and?3?>?1True
or
运算是或运算,只要其中有一个为True
,or
运算结果就是True
:
>>>?True?or?TrueTrue>>>?True?or?FalseTrue>>>?False?or?FalseFalse>>>?5?>?3?or?1?>?3True
not
运算是非运算,它是一个单目运算符,把True
变成False
,False
变成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... 查看详情