关于python语言的浮点数类型_Python基本数据类型

计算机的本质就是计算,在其内部是0和1的比特位的变化,对外表现就是数据的变化。那么,计算机都能处理什么数据呢?本质上,数据都是以字节(Byte)存储的,表现上看,它们就是整数、浮点数和字符串等。Python的基本数据类型也不外乎于此。

python-data-type.jpg

整数和浮点数就跟数学中的一样,而字符串就是各种字符的组合。

数值类型:整数(int)、浮点数(float)

int和float是Python中为整数和浮点数保留的关键字。

整数和浮点数(也就是小数)和我们在小学时学的一样:

Python中的整数: int

包括正整数、零和负整数: 3, 0, -20等等。日常生活中,我们接触的整数都是十进制的,而在计算机中二进制和十六进制也是很常见的。

二进制整数用0b作为前缀,因为是二进制,所以只包含0和1两个字符,比如:0b101, 0b1000。如果包含01以外的字符就是错误的:

In [40]: b = 0b1003

File "", line 1

b = 0b1003

^

SyntaxError: invalid syntax

十六进制整数用0x作为前缀,包含0-9a-f共6个字符,比如:0x23ab, 0xfd39803a。同样的十六进制只能包含它规定的16个字符,不过,a-f这6个字母不区分大小写,也就是说A-F也是合法的十六进制字符。

二进制法定01两个字符,十六进制法定0-9a-f共16个字符,就跟十进制有0-9共10个字符是一样的。

In [46]: a = 32

In [47]: a

Out[47]: 32

In [48]: b = 0x20

In [49]: b

Out[49]: 32

In [50]: c = 0b100000

In [51]: c

Out[51]: 32

另外,布尔类型(Boolean)作为一种整数的子类型表示程序中的“是非”,它的值有且仅有两个:True和False。它是以后编程中条件判断、比较运算的重要概念,我们将在后面专门来讲一讲布尔类型。

Python中的浮点数: float

浮点数就是数学中的小数,也是做数值计算中常用的类型,Python中的写法跟数学中一样,比如:0.235,3.1415926,-6.5等等。不过数值很大或很小时,浮点数就会变为科学计数法:9.8e+16, 2e-10。

In [68]: a = 0.000000002

In [69]: a

Out[69]: 2e-09

In [70]: b = 76000000000000000.0

In [71]: b

Out[71]: 7.6e+16

数值运算:Python作为解释器

讲到数值类型就不得不说说数值计算,毕竟数就是拿来算的嘛。

Python跟数学一样,支持整数和浮点数之间的四则运算加减乘除:+,-,*,/,也是用小括号()来分组。比如:

In [72]: 3 + 4

Out[72]: 7

In [73]: 9-10

Out[73]: -1

In [74]: 39 + 18/3

Out[74]: 45.0

In [75]: 3 + 18*3

Out[75]: 57

In [76]: (50 - 30) / 2

Out[76]: 10.0

In [77]: 19 / 2

Out[77]: 9.5

同样也支持数学中求商数和余数的计算,比如:

a ÷ b = q…r

(13 ÷ 3 = 4…1)

其中,a为被除数,b为除数,q为商数,r为余数

Python中求商数(floor division)的运算符是//,

而计算余数(也叫模除、取模操作、取模运算)的运算符是%,模除在编程中有广泛的应用,比如奇偶数的判断。

In [81]: 19 // 3 # 求商数

Out[81]: 6

In [82]: 19 % 3 # 模除

Out[82]: 1

In [83]: 6 * 3 + 1 # 商数 × 除数 + 余数

Out[83]: 19

还有Python中计算乘方的运算符是:**

In [84]: 8 ** 2

Out[84]: 64

In [85]: 8 ** 3

Out[85]: 512

ft-types.jpg

字符串: str

在我们人类的语言中,数值对应着计算,文字对应着记录。在Python语言中字符串也是用来记录的,它由一串字符(包括ASCII、中文字符等)组成。

字符串的写法有多种形式:

单引号: '单引号引起来的可以内嵌"双引号"的字符串'

双引号: "双引号引起来的可以内嵌'单引号'的字符串"

三引号: '''连续的三个单引号引起来的''',"""连续三个双引号引起来的"""

特别的是,三引号字符串可以分成多行来写,多行之间的空白(包括换行符、空格、Tab键)都是字符串的一部分。

同时可以使用反斜杠\进行字符转义:

In [86]: '猿人学Python'

Out[86]: '猿人学Python'

In [87]: '猿人\'学\'Python'

Out[87]: "猿人'学'Python"

In [88]: "猿人'学'Python"

Out[88]: "猿人'学'Python"

In [89]: "猿人\"学\"Python"

Out[89]: '猿人"学"Python'

In [90]: '''hi!

...: hello'''

Out[90]: 'hi!\nhello'

反斜杠\会把它后面的字符转义出特殊字符,比如\n就转义为换行符。如果想取消这种转义,可以使用原始字符串的方式,即在字符串前面加r即可:

In [91]: print('C:\good\named-files') # 该字符串中 \n 是一个字符,表示换行符

C:\good

amed-files

In [92]: print(r'C:\good\named-files') # 该字符串中 \n 是原始的两个字符:`\`和`n`,因为前面加了 r。

C:\good\named-files

空值: None

Python定义了一个特殊的None来表示空值,它不同于False,0,但它的逻辑值为假。可以看以下代码加深理解:

In [93]: None + 1

---------------------------------------------------------------------------

TypeError Traceback (most recent call last)

in

----> 1 None + 1

TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'

In [94]: None == False

Out[94]: False

In [95]: None == 0

Out[95]: False

In [96]: type(None)

Out[96]: NoneType

In [97]: type(0)

Out[97]: int

In [98]: type(False)

Out[98]: bool

In [99]: if None:

...: print('i am True')

...: else:

...: print('i am False')

...:

i am False

如果你定义的函数没有返回值,Python会自动返回None。

总结

这一节我们学到了Python可以当做计算机来进行整数、浮点数这些基本类型的加减乘除、求商、其余等运算,还有字符串的表示。

练习

(1) 打开Python shell(或Ipython),进行整数和浮点数的四则运算,包括:加减乘除、括号的使用,以及整数的乘方、求商、模除。

(2) 熟悉字符串的几种表示方式,结合自己搜索理解编程中的“转义”。

yrx_banner_pic.jpg

我的公众号:猿人学 Python 上会分享更多心得体会,敬请关注。

***版权申明:若没有特殊说明,文章皆是猿人学 yuanrenxue.com 原创,没有猿人学授权,请勿以任何形式转载。***

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值