python有哪几种基本数据类型_菜鸟世界 -python基础---基础数据类型

我们写的所有程序,都是在处理数据,那么python都能处理哪些数据呢,或者说,python把数据划分成哪几种呢?本篇重点讲解数字,字符串,bool这三个基础数据类型。

一、数字类型

我们从小学起就接触数学,对数字并不陌生。python支持四种数字类型,分别为int,long,float,complex,complex接触不到,因此不讲解。

1、 int

int其实就是integer的缩写,integer翻译成中文就是整数的意思,看代码

i_value = 300

print i_value

print type(i_value)

执行结果如下

300

type是一个内置函数,它可以查看一个变量的类型。这里我们清楚的看到,i_value的类型是int。int类型的数值是有范围的,下面的代码将获取这种类型的数值的最大值和最小值

import sys

print sys.maxint

print -1*sys.maxint-2

最大值是9223372036854775807,如果再比这个数大1,它的类型就不再是int了,而是long,这是因为,9223372036854775808已经超出了int的范围,此时,只能将其表示为long类型的数据。

2、long

long是数值范围比int还要大的数据类型,是长整型数据,但你不要以为特别大的数才是long类型的,看下面的代码

l_value = long(300)

print l_value

print type(l_value)

输出结果为

300

你现在一定非常疑惑,同样是300,怎么有时是int类型的数值,有时是long类型的数值呢!对于我们人来说,两次都是300,但对于计算机来说却不不一样,long类型数据之所以可以表示更大范围的数,那是因为对于这类的数值,计算机使用了更大的存储空间来存储,虽然都是300,但占用的存储空间却不一样,因此,类型就不一样,看下面的代码

#coding=utf-8

l_value = long(300)

i_value = 300

print type(l_value)

print type(i_value)

if i_value == l_value:

print u'他们相等'

运行程序,输出结果如下

他们相等

计算机认为他们是两个不同类型的数值,但是,认为他们两个相等,在几乎所有编程语言里,两个连续的等号(==)用于判断 == 两边的东西是不是相等的。long(300),表示把300转换成long类型的数据,实际使用中,并不是需要我们总是用long()这个内置函数来转换,只需要在整数值的后面加一个大写字母L即可表示这个数值是long类型的,例如300L

3、float

浮点数,就是有小数点的数值,例如3.9就是一个float类型的数值。现在思考一个问题,如果一个int类型的数值和一个float类型的数值相加,得到的结果是什么类型的呢?

#coding=utf-8

a = 3

b = 0.9

c = a + b

print type(c)

实际输出结果为,这其实很好理解,因为c等于3.9,当然是float类型的嘛,但是接下来我问你,3/8是什么类型的数值?在交互式解释器里输入type(3/8) ,结果竟然是int,因为在计算 3/8时,所得到结果是0,是计算结果的整数部分。怎么才能得到我们所以为的计算结果,0.375呢?也简单,只需要将其中一个改为float类型数值就可以了,3.0/8 或者 3/8.0,两个数运算,其中一个是float,最终的结果也是float,此时,除法的结果就符合我们的直观理解。

二、 字符串

回想我大学时学习这些概念时,大脑一片混乱,于是就用最简单的方法去理解,字符串就是文字呗。在python里,只要是被两个单引号或者两个双引号括起来的,就是字符串,看例子

#coding=utf-8

str1 = 'python'

#如果字符串里包含了汉字,要在前面加u

str2 = u"汉字"

print type(str1)

print type(str2)

print str1,str2

很轻松的就定义了两个变量,他们的类型都是字符串类型,我在输出时,str1和str2的中间用了半角逗号隔开,这样,他们可以在同一行输出。有朋友可能会这样定义一个字符串类型的变量

str1 = 'pyth'on'

这样是错误的做法,对于python来说,这种写法使得它无法判断哪个单引号是字符串结束的位置,到底是字母h后面的单引号还是字母n后面的单引号?你想在字符串里面加一个单引号,应该用下面的方法

str1 = 'pyth\'on'

str2 = "pyth'on"

\ 这个斜杠是转义字符,我们写成\',python就认为这个单引号不是用来括字符串的。而第二种写法,两边是双引号,中间放一个单引号,不影响双引号起作用,因为起始位置用的是双引号,结束位置也是双引号,中间放一个单引号,不会影响python对字符串结束标志的识别。

三、bool类型

bool类型的数据只有两个值,True和False,也就是真和假。在交互式解释器里输入 3==4 ,会得到什么结果呢

>>> 3 == 4

False

>>>

得到的结果是False,因为3不等于4哦,对概念的理解离不开实际的动手操作,不妨在交互式解释器里写几个表达式来感受一些bool类型数据。示例如下:

1、 3 > 4

2、 "python" == "python"

3、 5 == 5

4、 6 >= 5

5、 3 + 4 == 7

没有bool,我们就无法对程序的逻辑控制,很快,就会讲到if控制语句,届时,你讲明白bool类型数据的作用。

文字内容看十遍,不如动手操作一遍,概念的理解,是需要反馈的,然而你看再多,所得到的反馈也是0。

你可能感兴趣的:(python有哪几种基本数据类型_菜鸟世界 -python基础---基础数据类型)