Python学习笔记(四):数据类型之 Number


python3 中的数据类型:

python3 中有六种标准的数据类型:

  • Number(数字)

  • String(字符串)

  • List(列表)

  • Tuple(元祖)

  • Set(集合)

  • Dictionary(字典)

Python3 的六个标准数据类型中:

  • 不可变数据 (3 个):Number(数字)、String(字符串)、Tuple(元组);

  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

 

Number 数字类型:

python 中的数字数据类型用于存储数值;

数字数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间;

a = 22          # 定义一个整形变量
print(id(a))    # 输出变量的地址

a = 33          # 修改变量的值,然后重新输出地址
print(id(a))

输出结果:可以发现内存地址是不一样的

 

可以使用 del 语句删除一些数字对象的引用:

a = 22      # 定义一个整形变量
print(a)    # 输出变量的值

del a       # 删除数字对象的引用

print(a)    # 重新输出 a 的值,报错:变量 a 未定义

输出结果:

 

python3 中的数字有四种类型:整数、布尔型、浮点数和复数。

1、int (整数),如 22。在 Python 3 中,整数是没有限制大小的,所以没有 python2 中的 Long。

2、bool (布尔),如 True。在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。

3、float (浮点数),如 1.23、3E-2。

4、complex (复数),如 1 + 2j、 1.1 + 2.2j。复数由实数部分和虚数部分组成,可以用 a+bj,或者 complex(a, b) 表示,复数的实部 a 和虚部 b 都是浮点数。

像大多数语言一样,数值类型的赋值和计算都是很直观的。

内置的 type() 函数可以用来查询变量所指的对象类型。

a = 20      # int 类型
b = 3.14    # float 类型
c = True    # bool 类型
d = 4+3j    # complex 类型

print(type(a))
print(type(b))
print(type(c))
print(type(d))

输出结果:

 

数字类型转换:

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

  • int(x) 将 x 转换为一个整数。如果是一个浮点数转换成整数,会舍去小数的部分,只保留整数部分。

  • float(x) 将 x 转换到一个浮点数。

  • complex(x) 将 x 转换到一个复数,实数部分为 x,虚数部分为 0。

  • complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

 

数值运算:

Python 解释器可以作为一个简单的计算器,您可以在解释器里输入一个表达式,它将输出表达式的值。

注意1:在整数除法中,除法 / 总是返回一个浮点数,如果只想得到整数的结果,丢弃可能的分数部分,可以使用运算符 //;但是 // 得到的并不一定是整数类型的数,它与分母、分子的数据类型有关系:

注意2:不同类型的数进行混合运算时,会将整数转换成浮点数:

 

数学函数:

1、ceil(x):返回数字的上入整数,如 math.ceil(3.14) 返回 4;

2、floor(x):返回数字的下舍整数,如 math.floor(3.85) 返回 3;

使用 ceil() 和 floor(x) 方法需要导入 math 模块:import math

# 导入 math 模块
import math

a = 3.14
b = 3.85
print(math.ceil(a)) # 使用 math 模块中的 ceil 函数
print(math.floor(b)) # 使用 math 模块中的 floor 函数

输出结果:

注意:import 和 from ... import ... 用来导入相应的模块;

  • 将整个模块(somemodule)导入,格式为:import somemodule

  • 从某个模块中导入某个函数(somefunction),格式为:from somemodule import somefunction

  • 从某个模块中导入多个函数,格式为:from somemodule import firstFunc, secondFunc, thirdFunc

  • 将某个模块中的全部函数导入,格式为:from somemodule import *

# 导入 math 模块中的 ceil 函数
from math import ceil

a = 3.14
print(ceil(a)) # 因为已经导入了函数,所以可以直接使用

3、round(x[, n]):返回浮点数 x 的四舍五入值,如给出 n 值,则代表保留小数点的位数。

4、abs(x):返回数字的绝对值,如 abs(-10) 返回 10;如果 x 是一个复数,则返回它的大小;

a = -10
b = -3.14
c = -22.30

print(abs(a))	# 返回绝对值
print(abs(b))
print(abs(c))

输出结果:

5、fabs(x):也用来返回数字的绝对值,和 abs(x) 函数的区别是:

  • abs() 是内置函数,fabs() 在 math 模块中定义;

  • fabs() 函数只对浮点型跟整形数值有效;abs() 还可作用于复数,返回复数的大小;

6、exp(x):返回 e 的 x 次幂,e 是数学中的一个自然常数,是一个无限不循环的小数,其值约为 2.71828;

7、log(x):返回 x 的自然对数,x > 0;

8、log10(x):返回以 10 为基数的 x 对数;

9、max(x1, x2, ...):返回给定参数的最大值,参数可以为序列;

10、min(x1, x2, ...):返回给定参数的最小值,参数可以为序列;

# 获取最大值
print(max(8, 3.14, 9.85, 5))
# 获取最小值
print(min(8, 3.14, 9.85, 5))

# 参数可以是序列
list = [8, 3.14, 9.85, 5]
print(max(list))
print(min(list))

输出结果:

11、modf(x):返回 x 的整数部分和小数部分,两部分的数值符号与 x 相同,整数部分以浮点型表示;

# 导入 math 模块
import math

# 输出 3.14 的整数部分和小数部分
print(math.modf(3.14))

输出结果:

12、math 模块的 pow(x, y) 函数:返回 x 的 y 次方的值;

还有一个内置 pow(x, y[, z]) 函数:也是返回 x 的 y 次方的值;参数 z 为可选项,如果 z 存在,则再对结果进行取余;其结果等效于 math.pow(x, y) % z。

# 导入 math 模块
import math

# 返回 2 的 3 次方
print(math.pow(2, 3))	# math 模块的 pow() 函数
print(pow(2, 3, 3))		# 内置函数 pow()

输出结果:

13、sqrt(x):返回数字 x 的平方根;如果 math.sqrt(9) 返回 3;

 

随机数函数:

随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

Python 包含以下常用随机数函数:

1、choice(seq):从序列(列表、元祖、字符串)的元素中随机挑选一个元素,比如 random.choice(range(10)),表示从 0 到 9 中随机挑选一个整数;

# 导入 random 模块
import random

# 从 range(10) 中返回一个随机数,即从 0 到 9 中随机挑选一个整数
print(random.choice(range(10)))
# 从 [1, 3, 4, 8, 6] 中返回一个随机元素
print(random.choice([1, 3, 4, 8, 6]))
# 从字符串 "howareyou" 中返回一个随机字符
print(random.choice("howareyou"))

输出结果:

2、randrange([start, ] stop [, step]):从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1;

start:指定范围内的开始值,包含在范围内;(可省略,默认从 0 开始)

stop:指定范围内的结束值,不包含在范围内;(不可省略)

step:指定递增基数;(可省略,默认为 1)

 

# 导入 random 模块
import random

# 从 0-9 中随机选取一个整数
# 参数 start 省略,默认为 0;参数 stop 为 10;参数 step 省略,默认为 1;
print(random.randrange(10))

# 从 1-99 中随机选取一个奇数(start 包含,stop 不包含)
print(random.randrange(1, 100, 2))

输出结果:

3、random():随机生成下一个实数,他在 [0, 1) 范围内;

# 导入 random 模块
import random

# 获取第一个随机数
print(random.random())

# 获取第二个随机数
print(random.random())

 输出结果:

 4、uniform(x, y):随机生成下一个实数,他在 [x, y] 范围内;即 x 为随机数的最小值,y 为随机数的最大值;

# 导入 random 模块
import random

# 在 [5, 10] 中随机获取一个实数
print(random.uniform(5, 10))

输出结果:

5、seed([x]):改变随机数生成器的种子 seed。如果你不了解其原理,就不用特别去设定 seed,python 会帮我们选择 seed;

6、shuffle(list):将序列的所有元素随机排序;

# 导入 random 模块
import random

list = [22, 11, 8, 35, 3.14]   # 定义一个列表

# 将列表中的字符随机排序
random.shuffle(list)
print(list)

输出结果:

 

三角函数:

Python 包括以下三角函数:由于该类函数不是很常用,所有我就没有去测试;

函数描述
[acos(x)]返回 x 的反余弦弧度值。
[asin(x)]返回 x 的反正弦弧度值。
[atan(x)]返回 x 的反正切弧度值。
[atan2(y, x)]返回给定的 X 及 Y 坐标值的反正切值。
[cos(x)]返回 x 的弧度的余弦值。
[hypot(x, y)]返回欧几里德范数 sqrt(xx + yy)。
[sin(x)]返回的 x 弧度的正弦值。
[tan(x)]返回 x 弧度的正切值。
[degrees(x)]将弧度转换为角度,如 degrees(math.pi/2) , 返回 90.0
[radians(x)]将角度转换为弧度
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值