数据类型

概述

  • Python3 支持:整型(int)、浮点型(float)、复数(complex)
  • Python2,那么还包含长整型(long)。

详解

整型:

  • 整型就是常说的整数,或正或负的整数,没有小数点。它的长度是没有限制的,所以 Python3 没有其他语言的长整型(long)。当需要的时候,python3.0的整数类型会自动提供额外的精度,所以不会溢出。
a = 17
a = 1_7 # 会忽略下划线,见下文
b = - 17
b = -17
c = 0x11 # 17 十六进制
d =  0o101 # 65 八进制
  • python中可以处理任意大小的整数,而且支持二进制、八进制、十进制、十六进制的表示法. 可以使用前缀 0x,0o 和 0b 分别表示 16、8、2 进制的表示方式。
a = 97 # 10 进制

a = 0b01100001 # 2 进制
a = 0B01100001 # 2 进制

a = 0x61 # 16 进制
a = 0X61 # 16 进制

a = 0o301 # 8 进制
a = 0O301 # 8 进制

浮点型

  • 就是小数。由整数部分和小数部分组成。
  • 浮点数除了数学写法(如123.456)之外还支持科学计数法(如1.23456e2)。
  • 之所以把浮点数叫做小数,是因为按照科学计数法表示时,小数点位置可变。
x = 1.10
y = 1.0
y2 = 1. # 1.0
z = -11.01
z2 = .1

#科学计数法
e = 3.5e5 # 350000.0 e后面跟着的表示是10的幂次
f = 1E6 # 1000000.0
  • float(‘inf’) 的结果 inf 正无穷,float(“-inf”) 负无穷。float(“nan”) 代表缺失值。

复数型

  • 复数型:
  • 形如3+5j,跟数学上的复数表示一样,唯一不同的是虚部的i换成了j
  • 或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。

实例:

python37 对应comtypes python中17.0/3**2_c++

基本运算

整型和浮点型均支持下表中运算

python37 对应comtypes python中17.0/3**2_进制_02

数学函数

除了上面的基本运算外,还可以借助数学模块 math 实现更多的运算。

首先要先引入数学模块 math。如下所示:

import math

引入之后就可以使用了,以 math 模块中求平方根函数 sqrt(x) 为例。使用方式如下所示:

import math
math.sqrt(1024)

math 模块中除了求平方根函数,还有很多可以使用的函数。如下表所示:

python37 对应comtypes python中17.0/3**2_python37 对应comtypes_03

随机函数

在安全领域有时会用到随机数,random 模块对随机数的生成提供了支持。

首先还是要引入 random 模块。如下所示:

import random

下面简单介绍两个函数:

random(x)函数

随机生成一个 0 到 1 范围内的实数。使用如下所示:

import random
random.random()

uniform(x, y)函数

随机生成一个 x 到 y 范围内的实数。使用如下所示:

import random
random.uniform(1,10)

其他

数字下划线

Python 3.6 开始支持新的数字下划线功能,对于很大的数字以提高可读性。

123_456_789 # 123456789 可以在较大的数字用下划线连接
123_456.888 # 123456.888
f'{10000000000:_}' # 10_000_000_000
'{:_}'.format(10000000000) # 10_000_000_000

科学计数法

如果中间有字母 e 在其中,那么 e 后边的数学就代表 10 多少次方乘以前面的数字:

# 用科学计数法赋值
n = 1e4
n # 10000.0
m = 2e-2
m # 0.02