博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python基础(三): 数值和布尔
阅读量:7049 次
发布时间:2019-06-28

本文共 3027 字,大约阅读时间需要 10 分钟。

一、数值

1. 表现形式

  • 整数: int
    • 二进制: 0b + 二进制数(0, 1), 例如: 0b1010
    • 八进制: 0o + 八进制数(0-7), 例如: 0o21457
    • 十进制: 十进制数(0-9), 例如: 94832
    • 十六进制: 0x + 十六进制数(0-9, a-f), 例如: 0xa5b3
  • 浮点数: float
    • 有整数部分和小数部分组成, 例如: 10.312
    • 可以使用科学计数法表示, 例如: 1.682e02 => 1.682 * 10^2
  • 复数: complex
    • 由实部和虚部组成
    • a + bj, 可以由函数 complex(a, b) 表示
    • a和b都是浮点数
  • 注意:
    • Python3的整形, 可以自动调整大小, 当做long类型使用, Python3中没有long类型, Python2中有long类型
    • 数值型分正负

2. 进制转换

  • 进制概念: 进位的制度, x进制, 逢x进1
  • 常用进制:
    • 二进制: 逢2进1
    • 八进制: 逢8进1
    • 十进制: 逢10进1
    • 十六进制: 逢16进1
  • 进制转换
    • 二进制 -> 十进制: 0b1011 -> 1 * 2 ^ 3 + 0 * 2 ^ 2 + 1 * 2 ^1 + 1 * 2 ^ 0
    • 八进制 -> 十进制: 0o7562 -> 7 * 8 ^ 3 + 5 * 8 ^ 2 + 6 * 8 ^1 + 2 * 8 ^ 0
    • 十六进制 -> 十进制: 0xf5a -> 15 * 16 ^ 2 + 5 * 16 ^ 1 + 10 * 16 ^ 0
    • 十进制 -> x进制: 整除倒取余
    十进制 -> 二进制num = 18print(bin(num)), 打印: 0b10010十进制 -> 八进制num = 18print(oct(num)), 打印: 0o22十进制 -> 十六进制num = 18print(hex(num)), 打印: 0x12复制代码
    • 二进制 -> 八进制: 整合三位为一位, 不足三位, 前面补0
    num = 0b10 01010 -> 010 -> 2010 -> 20b010 010 == 0o22复制代码
    • 八进制 -> 二进制: 一位分为三位
    num = 0o222 -> 0102 -> 0100o22 == 0b010010复制代码
    • 二进制 -> 十六进制: 整合四位为一位, 不足四位, 前面补0
    num = 0b101 1010101 -> 0101 -> 51010 -> 100b01011010 == 0x5a复制代码
    • 十六进制 -> 二进制: 一位分为四位
    num = 0x5a5 -> 0101a -> 10100o22 == 0b0101 1010 -> 0b1011010复制代码

3. 常用操作

  • 适用于几乎所有Python运算符
    • 整数和浮点数进行运算, 结果是浮点数
    • 条件判断时, 非零即真
  • 数学函数
    • Python中拥有内置函数, 即: 可以直接调用的函数
    abs(x): 绝对值函数, 获取数值的绝对值max(x, y, ...): 最大值函数, 获取多个数值中的最大值min(x, y, ...): 最小值函数, 获取多个数值中的最小值round(x, n): 四舍五入函数, n为小数点后位数num = round(3.57)print(num), 打印: 4// 保留一位小数num1 = round(3.57, 1)print(num1), 打印: 3.6pow(x, y): x的y次幂复制代码
    • 非内置函数使用前注意:
      • 导入对应模块: 例如: import math
      • 使用函数时: 模块名.函数名(参数), 例如: math.fabs(-10)
    math标准库, 使用时需要使用import导入import math调用math标准库中的函数时, 需要使用 库名.函数名(参数) 的形式ceil(num): 向上取整函数print(math.ceil(3.5))        // 打印: 4floor(num): 向下取整函数print(math.ceil(3.5))        // 打印: 3sqrt(num): 开平方函数print(math.sqrt(4))          // 打印: 2log(x, base): 求对数函数print(math.log(10000, 10))   // 打印: 4复制代码
  • 随机函数
    • 获取随机数的函数, 需要使用 random 标准库
    # 使用random函数, 需要先导入 random 标准库import random# random(): 获取 [0, 1) 范围内的小数random.random()# choice(seq): 从一个序列中, 随机挑选一个数值list = [1, 3, 5, 6, 7, 8]random.choice(list)# uniform(x, y): 获取 [x, y] 范围内的随机小数random.uniform(1, 3)# randint(x, y): 获取[x, y] 范围内的随机整数random.randint(3, 10)# randrange(start, stop=None, step=1): 给定区间内的一随机整数, [start, stop)randrange(1, 20)     # 获取 [1, 20) 范围内的随机整数randrange(1, 20, 5)  # 获取 [1, 20) 范围内, 步长为5的随机整数, 即范围: 1, 6, 11, 16复制代码
  • 三角函数
    • 使用三角函数, 需要导入 math 标准库
    import math# sin(x): 正弦, x是一个弧度, 即 角度 / 180 * π, 以下函数的x意思相同math.six(math.pi / 4)   # pi是math库中的数学常量, π# cos(x): 余弦# tan(x): 正切# asin(x): 反正弦# acos(x): 反余弦# atan(x): 反正切# degrees(x): 弧度 -> 角度# radians(x): 角度 -> 弧度复制代码
  • 数学常量
    • 数学中的常量, 比如 π, 一个固定的值
    • 注意: 由于Python中只有变量, 没有常量, 所以我们使用常量时, 就默认这个值不会变

二、布尔bool

1. bool

  • bool类型的值只有两个: True 和 False

2. bool是int类型的子类

  • Python中有一个函数issubclass(x, y), 用来判断x是否是y的子类, 返回值是bool类型
result = issubclass(bool, int)打印: True, 即bool使int的子类, 拥有int特性复制代码

3. 应用场景

  • 当做int类型进行运算
num1 = True + 2print(num1)      打印: 3, 所以True参与运算时, 会被当做整数 1num2 = False + 2print(num2)      打印: 2, 所以False参与运算时, 会被当做整数 0复制代码
  • 比较表达式的运算结果

    • 一个比较表达式, 其结果是一个bool类型, 即真或者假, 也就是相等或不相等
  • 可以用于 if判断条件 和 while循环条件

转载地址:http://brpol.baihongyu.com/

你可能感兴趣的文章
iOS CALayer anchorPoint 的应用场景
查看>>
如何變聰明?訓練自己變成結構化思維型的人!- TechMoon 科技月球
查看>>
超好用的VueJs调试工具——vue-devtools
查看>>
到底怎么才算“懂”python的twisted框架?
查看>>
Flutter 基础布局Widgets之Expanded详解
查看>>
spring cloud微服务分布式云架构- Eureka服务器搭建及配置
查看>>
对当前JAVA流行框架的一些小感悟
查看>>
双十一流量洪峰 支撑阿里核心业务的云数据库揭秘
查看>>
adb命令集合
查看>>
命令终端快捷键
查看>>
WinForm程序设计-进度条控件(progressBar)
查看>>
我的友情链接
查看>>
Redis
查看>>
The Most Common Java Keytool Keystore Commands
查看>>
拒绝IE8-,CSS3 transform rotate旋转动画效果(支持IE9+/chrome/firefox)
查看>>
我的友情链接
查看>>
网站排障分析常用的命令
查看>>
利用inotifywait监控主机文件和目录
查看>>
f_bfree和f_bavail的区别
查看>>
用sendEmail来发送nagios报警邮件
查看>>