Python从入门到弃坑学习笔记——第三章 数值类型

第 3 章 数值类型

3.1数值类型

简介

每个对象都有类型,这里先介绍数值类型,数值类型是不可变的,后面再介绍字符串、列表、元组、字典、集合。

Python 中最基本的内置数值数据类型:

1. 整型:整数。

例:2345、10、50

2. 浮点型:小数。

3.14(或者科学计数法314e-2)

3. 布尔型:表示真假。

例:True(逻辑值为1)、False(逻辑值为0)

整数详解

Python 中,除 10 进制,还有其他三种进制:

0b 或 0B,二进制   0   1

0o 或 0O,八进制   0   1   2   3   4   5   6   7

0x 或 0X,十六进制 0   1   2   3   4   5   6   7   8   9   a   b   c   d   e   f

这三种进制可以非常方便的进行“位运算”操作。位运算知识后续将会介绍。

整数可以有多大?

Python2 中,int 是 32 位,可以存储从-2147483648 到 2147483647 的整数(约± 21 亿)。Long 类型是 64 位,可以存储: -2^63--2^63-1 之间的数值。

Python3 中,int 可以存储任意大小的整数,long 被取消。我们甚至可以存储下面的

值:googol = 10**100。Python3 中可以做超大数的计算,而不会造成“整数溢出”,这也是 Python 特别适 合科学运算的特点。

浮点数详解

浮点数,又称为 float。

浮点数用 a  b10 形式的科学计数法表示。比如:3.14,表示成:314E-2 或者 314e-2。

这些数字在内存中也是按照科学计数法存储。

布尔值详解

Python2 中没有布尔值,直接用数字 0 表示 False,用数字 1 表示 True。

Python3 中,把 True 和 False 定义成了关键字,但他们的本质还是 1 和 0,甚至可以和数

字相加。

例:

a=True

b=3

print(a+b)

执行后:

4

时间的表示

计算机中时间的表示是从“1970 年 1 月 1 日 00:00:00”开始,以毫秒(1/1000 秒)  进行计算。我们也把 1970 年这个时刻成为“unix 时间点”。

这样,我们就把时间全部用数字来表示了。

Python 中可以通过 time.time() 获得当前时刻,返回的值是以秒为单位,带微秒(1/1000 毫秒)精度的浮点值,例如:1530167364.8566。

例:

import time

b=int(time.time())

print(b)

totalMinutes = b/60 # 浮点数除法运算符,结果是一个浮点数

print(totalMinutes)

totalMinutes = b//60 # 整数除法运算符,结果是一个被向下取整的整数

print(totalMinutes)

totalHours = totalMinutes//60

print(totalHours)

totalDays = totalHours//24

print(totalDays)

totalYears = totalDays//365

print(totalYears)

执行后:

1530168754

25502812.566666666

25502812

425046

17710

48

3.2数据类型转换和四舍五入

1.使用int()实现类型转换:浮点数直接舍去小数部分;布尔值 True 转为 1,False 转为 0;字符串符合整数格式(浮点数格式不行)则直接转成对应整数,否则报错。

2.整数和浮点数混合运算时,表达式结果自动转型成浮点数,比如:2+8.0 的结果是 10.0。

3.round(value)可以返回四舍五入的值,但不会改变原有值,而是产生新的值。

函  数

作   用

int(x)

将x转换成整数类型

float(x)

将x转换成浮点数类型

complex(real [,imag])

创建一个复数

str(x)

将x转换为字符串

repr(x)

将x转换为表达式字符串

eval(str)

计算在字符串中的有效Python表达式,并返回一个对象

chr(x)

将整数x转换为一个字符

ord(x)

将一个字符x转换为它对应的整数值

hex(x)

将一个整数x转换为一个十六进制字符串

oct(x)

将一个整数x转换为一个八进制的字符串

3.3数值类型的格式化

浮点数通过 f,整数通过 d 进行格式化。

1. 使用百分号 % 的旧式格式化

这是C语言风格的格式化,虽然在Python中仍然可用,但在现代的Python代码中并不推荐使用,因为它已经被更新的方法所取代。

例:

number = 1234567.8910

print("%0.2f" % number)  # %0.2f 表示输出一个浮点数,保留两位小数,也可以%.2f

执行后:

1234567.89

2. 使用 str.format() 方法

str.format() 是一种更现代的格式化字符串的方式,它提供了更多的灵活性和功能。

例:

number = 1234567.8910

print("{:.2f}".format(number))

执行后:

1234567.89

3. 使用 f-string

从 Python 3.6 开始,f-string 成为了最简洁和直观的字符串格式化方式。

例:

number = 1234567.8910

print(f"{number:.2f}")

执行后:

1234567.89

3.4数值类型的填充和对齐

使用百分号 % 的旧式格式化、使用 str.format() 方法和使用 f-string,都可以指定填充和对齐方式。每种方法都有其适用场景,但通常推荐使用 f-string,因为它更简洁、易读并且功能强大。

“^  <  >”表示对齐方式:居中、左对齐、右对齐,后面带宽度

“:”表示填充,后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

例:

number = 1234567.8910

# 左对齐,最小宽度为15,不足部分用空格填充,保留两位小数

print("{:<15.2f}".format(number))

# 居中对齐,最小宽度为15,不足部分用*填充,保留两位小数

print("{:*^15.2f}".format(number))

# 右对齐,最小宽度为15,不足部分用空格填充,保留两位小数

print(f"{number:>15.2f}")

执行后:

1234567.89    

**1234567.89***

     1234567.89

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值