本节导航:
数据类型的查询
Number 数字:int float 数值运算
String 字符串
Boolean 布尔值
List 列表
Tuple 元组
Dictionary 字典
Sets 集合
一、数据类型的查询
当面对未知数据类型的数据时,我们脑子里应该有这么一个问题:我们怎样才能查到未知数据的数据类型呢?
这里就让我来简单的回答下你的困惑,在Python中我们可以通过两种内置函数来查询对象数据类型:type() 和 isinstance() ,在此我截取了这两个函数的部分源代码进行参考:
由注释我们可以发现 type() 与 isinstance() 的区别在于:isinstance() 中返回对象即是类的实例还是是其子类的实例(即 isinstance() 会认为子类是一种父类类型)。
虽然现在我们看不懂它们的源代码到底在说些什么,不过我们只需要知道它具体的用法即可,如果只是简单的确定数据类型,本人倾向于使用 type() ,纯粹是自我感觉 type() 简单方便点,只需要把声明好的变量名称输入在 type() 内即可,而 instance() 还必须在函数内进行数据类型的猜测判断正误才能得到想要的结果。在现阶段中简单判断数据类型使用 type() 足够了。
解决好问题后,让我们一起来了解下常见的Python数据类型吧。
二、Number 数字
Python中数字类型又包括:int(整型)、float(浮点型)和 complex(复数)
int(整型)
在32位机器上,整数的位数为32位,取值范围为 -2**31~2**31-1;
在64位系统上,整数的位数为64位,取值范围为 -2**63~2**63-1;
对于我们来说,这个范围已经挺大了,不用在意范围太多。
在Python 3 版本以后,如果整数发生溢出,Python会自动将整数数据转换为 long 长整数,无论多大都会显示数据类型为 int(整型),所以本人意见是就把长整型给忘了吧,浪费脑细胞记它干嘛。
float(浮点型)
浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。通俗易懂点,我们在这里就把它看成小数吧。之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的。在表示很大或很小的浮点数时必须使用科学计算法表示,把10用e替代。
float 类型存放双精度的浮点数,计算后一般精确到小数点后16位,由于精度受限,进行相等性比较不可靠。(如果需要高精度,可使用 decimal 模块的decimal.Decimal() 函数,这种类型可以准确的表示循环小数,但是处理速度较慢,适合于财政计算。)
注:只要涉及浮点数的运算,其结果必为浮点型。
complex(复数)
像我们这样的屌丝复数什么的与我们有什么关系,这辈子什么的是不会学复数了,还是忘了吧。
数值运算
Python中数值有7种简单运算:加( )、减(-)、乘(*)、除(/)、取模(%)、幂(**)、取整除(//),在这里就列几个例子,具体的在运算符中在进行讲解。
注:这里需要特别注意的是取模(%)运算,当分子小于分母时,结果为分子;当分子小于分母时,结果为余数(分子除以分母所得的数)。分子和分母、除数和被除数,是不是一脸懵逼,是不是发现自己好像...似乎...把小学的数学忘了,那么恭喜你,在这里给你科普下:5/8 (八分之五),5 是分子,8 是分母。分母是除数,分子是被除数。
三、undefinedString 字符串
在 Python 中,字符串是由引号(单引号 ' 或 双引号 " )与引号中的字符一起组合而成的,其中引号只是字符串外在声明的一种表达方式,不是字符串的一部分。
这时候我们心里该有疑虑了,既然书写字符串中单引号( ' )和双引号( " )都可以使用而且结果还相同,那么 Python 中为什么还会提供两种呢?这样不会造成我们选择上的困难吗?
存在即合理,请相信这一点,像我们这样的屌丝怎么能和人家大佬相比,他们脑子都不知道怎么长得,头肯定都秃完了(聪明人的象征)。就拿我们中文写作来举例吧,当写一大段文章中我们经常会引用某人某人说什么什么话,这里的一段话可以看做是一段很长的字符串,当我们引用别人所说的话时经常会用双引号引起来表示引用。同理可得,当字符串中需要使用到单引号或双引号时,这时候它两个同时存在的作用就体现出来了:
当然这只是简单的情况,如果字符串内部既包含 ' 又包含 " 怎么办?这时候我们就需要引入转义字符的概念了。这里容我卖个关子就不具体陈述了,有关内容在以后的字符串专题中进行详细的解读。
四、undefinedBoolean 布尔值
Python中的布尔值用两个常量True和False所表示,一个布尔值要么True,要么False(注:这里的首字母都为大写),常用在条件或循环中作为条件判断。True和False分别对应数字中的1和0,可作为数字计算,但不提倡。
五、undefinedList 列表
列表(list)属于一种有序的集合,可以随时添加和删除其中的元素。列表是 Python 中内置的一种数据类型,也是最常用的 Python 数据类型。列表的命名规则就是一个方括号([]),创建一个列表只要把逗号分隔的不同的数据项使用方括号括起来即可。列表中每个元素都分配有一个数字(从0开始),这个数字即为该元素的位置(或索引)也可以认为是该元素的下标,第一个索引是0,第二个索引是1,反过来最后一个索引是-1,依此类推。
在这里我们就简单声明一个班级名单列表 name 进行演示:
注:列表中的数据项可以为任意数据类型。
这时候我们已经知道如何创建一个正确的字典了,虽然这个创建的这个字典的长度有点惨不容睹,但是它已经属于一个正常的字典了,可以实现索引字典该有的功能.
八、undefinedSets 集合
写到这里终于快结束了,容我先歇口气!在前面我们一口气学完了列表、元组、字典,是不是感觉自己快炸了,方括号、括号、大括号什么的两脸懵逼,不怂不怕,让暴风雨来的更猛烈些吧!!!接下来进入集合的学习吧:
首先需要了解下如何去建立一个新的集合:第一种方法是我们可以通过大括号 {} 内加内容用逗号( , ) 隔开的方式直接创建一个集合;第二种可以使用 set() 方法将已有的列表(或元组)构建成一个无序的集合
啊!特么我的值怎么被吃了?怎么变短了那么多??系统还我的值啊!!!别激动,别激动,冷静下。
冷静下来后仔细观察我们就会发现,被“吃”的值是列表(或元组)中重复的东西,这时候我们似乎发现了集合中一个不可告人的大秘密,它好像具有“去重”的功能,是不是很熟悉?对,你猜对了。这点集合跟字典类似,具有“天生去重”(自动把集合内部重复的部分删除)的功能,我们可以理解集合是一个无序的、不重复的数据组合,但是集合与字典也存在明显的不同,我们可以形象的把集合看成只有 key ,不具备存储 value 的功能。
最后,想学习Python的小伙伴们!请关注 私信回复:“学习”就可以拿到一份我为大家准备的Python学习资料!
,