python3数字类型_python3数据类型之数字

一、python基本数据类型

python基本数据类型有:数字类型Number、字符串类型String、布尔类型Boolean、空值类型None、列表类型List、元组类型Tuple、字典类型Dictionary、集合类型Set。

布尔类型:True和False

空值类型:python中特殊的值,用None表示。空值并不是意味着它的值为0。

二、数字类型

1. 不同的数字类型

数字类型包含:整数int、浮点数float、复数complex。

python3对整数类型没有大小限制。

print(type(5)) #

print(type(3.9)) #

print(type(1 + 2j)) #

2. 不同的数字类型转换

int(x, base=10):将数字或全数字的字符串转化为整数

x:要转化的参数

如果无x参数,则返回0;

如果x参数为浮点数,则取整数部分(注:不会对整数进行四舍五入);

如果x参数为字符串,注意仅可为内容为数字的字符串,否则会报错ValueError;

如果x参数中含有运算符号(+-*/),则仅为运算操作时才可转换,否则报错ValueError。

base:基数,默认为10,有效的基数为0和2-36。

base为0时,表示将二进制字符串转化为整数

eval(source[, globals, locals]):对一个字符串表达式进行求值操作并返回计算结果

source:字符串表达式,表达式中可包含有运算符号(+-*/);

若表达式中包含有字母,且该表达式未被命名时报错NameError;

若表达式中包含有字母,且该表达式被命名则会返回它的值。

float(x):将数字或全数字的字符串转化为浮点数

complex(real, imag=None):转化为复数real+image*1j

若imag未传参数时,默认为0,转化复复数为real+0j

real:实数部分,可为数字或字符串;但real若为字符串时,不可再向imag传入参数,否则会报错,故一般real不要设为字符串。

imag:虚数部分,仅可为数字;

chr(code):将ASCII值转换为其对应的字符

ord(c):将一个字符转化成其对应的ASCII整数值

hex(i):将整数转化为十六进制字符串

oct(i):将整数转化为八进制字符串

# 强制转化为整型

print(int()) # 0

print(int(3.7)) # 3

print(int(-2.925)) # -2

print(int("123")) # 123

print(int("abc")) # 会报错提示ValueError

print(int(5+2)) # 7

print(int("5+2")) # 会报错提示ValueError

print(int('0b100', base=0)) # 4

# 将字符串表达式转化为整型

print(eval("123")) # 123

print(eval("5+2")) # 7

print(eval("a123")) # 报错提示NameError: name 'a123' is not defined

a123 = 1

print(eval("a123")) # 1

# 强制转化为浮点型

print(float()) # 0.0

print(float(5)) # 5.0

print(float("4.3")) # 4.3

print(float(3+4)) # 7.0

# 强制转化为复数型

print(complex(3.5)) # (3.5+0j)

print(complex(3, 5)) # (3+5j)

print(complex("6")) # (6+0j)

print(complex("6", 2)) # 会报错提示TypeError: complex() can't take second arg if first is a string

# 将ASCII值转换为其对应的字符

print(chr(97)) # a

# 将一个字符转化为其对应的ASCII整数值

print(ord("a")) # 97

# 将整数转化为十六进制字符串

print(hex(17)) # 0x11

# 将整数转化为八进制字符串

print(oct(17)) # 0o21

3. 数学运算

3.1. 基本数学运算

abs(x):取绝对值

power(x, y):取x的y次方

max(x1, x2, x3...):取最大值

min(x1, x2, x3...):取最小值

round(number, ndigits=None):取浮点数四舍五入的值

number:传入的数值

ndigits:保留小数点后面第几位数字;默认为None,表示不保留小数点

3.2. math模块的数学运算

导入模块:import math

math.ceil(x):向上取整,取>=x的最小整数;

math.floor(x):向下取整,取<=x的最大整数;

math.sqrt(x):x开根号

# 基本数学运算

print(abs(-9.8)) # 取绝对值:9.8

print(pow(2, 3)) # 取x的y次方:8

print(max(1, 3, 9, 5)) # 取最大值:9

print(min(1, 3, 9, -5)) # 取最小值:-5

print(round(3.689089)) # 四舍五入:4

print(round(3.689089, 2)) # 3.69

# math模块数学运算

import math

print(math.ceil(4.2)) # 向上取整:5

print(math.ceil(-4.2)) # -4

print(math.floor(4.2)) # 向下取整:3

print(math.floor(-4.2)) # -5

print(math.sqrt(4)) # 开方:2.0

4. 随机数

导入模块:import random

random.choice(seq):

从序列的元素中随机选择一个元素。seq:序列类型(即字符串、列表、元组、rang()数)

random.randint(a, b):

随机生成[a, b]范围内的整数,包括a和b。

random.randrange(start, stop=None, step=1, _int=int):

随机生成[start, stop)范围内的,步长为step的整数。取值范围包含start,但不包含stop。start默认为0,setp默认为1。

random.uniform(self, a, b):

随机生成[a, b]范围内的浮点数

random.random():

随机生成[0, 1)范围内的随机浮点数。

random.sample(population, k):

从population(序列或集合)中随机选择k个随机元素,返回值为列表类型。

random.shuffle(x, random=None):

将列表x进行随机排序

import random

# 从序列中随机选择一个元素

print(random.choice("abc")) # 从字符串中随机选择一个字符

print(random.choice([1, "abc", 3])) # 从列表中随机选择一个元素

print(random.choice((1, "abc", 3))) # 从元组中随机选择一个元素

print(random.choice(range(1, 101))) # 生成1到100的随机数

# 取[1, 10]范围内的随机整数

print(random.randint(1, 10))

# 随机生成[0, 10]范围内的偶数

print(random.randrange(0, 11, 2))

# 随机生成[0,11)范围内的任意整数

print(random.randrange(11))

# 取[1, 10]范围内的随机浮点数

print(random.uniform(1, 1))

# 取[0, 1)范围内的随机浮点数

print(random.random())

# 从序列或集合中随机选择几个元素

print(random.sample("abcdefg", 3)) # ['e', 'f', 'd']

print(random.sample([1, 2, 3, 4, 5, 6], 3)) # [1, 4, 6]

print(random.sample((1, 2, 3, 4, 5, 6), 2)) # [4, 6]

# 将列表中值进行随机排序

num = [1, 2, 3, 'a', 'b']

random.shuffle(num) # 添加后num列表中各值位置发生变化

print(num)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值