《Python基础知识——数据类型之数值型数据》

Python基础知识——数据类型之数值型数据

  • 一,整数型
    • (一)表达形式(简单记忆为BOX)
      • 1.十进制
      • 2.二进制类型,以0B或0b开头
      • 3.八进制类型,以0O或0o开头
      • 4.十六进制类型,以0X或0x开头
    • (二)进制转化
      • 1.其他进制转十进制
      • 2.十进制转其他进制
  • 二,浮点数类型
    • (一)表达方式
      • 1.十进制
      • 2.科学计数
    • (二)类型转换
  • 三,复数类型
  • 四,数值运算
    • (一)内置操作符
    • (二)内置运算函数
    • (三)运算规则
      • 1.整数间运算,如果数学意义上结果是小数,那么结果类型为浮点数类型。
      • 2.整数与浮点数之间进行混合运算,结果为浮点数类型。
      • 3.整数或浮点数与复数进行混合运算,结果为复数。
      • 4.运算顺序遵循先加减后乘除的顺序,可用小括号改变运算顺序。

一,整数型

(一)表达形式(简单记忆为BOX)

1.十进制

即数学意义上的满十进一数

2.二进制类型,以0B或0b开头

二进制类型由1和0两个数字组成,满2向前进一位,如0B1010,0b100等。

3.八进制类型,以0O或0o开头

八进制单位最大数字为7,满8向前进一位,如0O7,0o12等。

4.十六进制类型,以0X或0x开头

十六进制单位最大数字为15,但由于无法用单一数字表示,因此利用英文字母A~F分别表示 10~15,如0X1F,0x11A等。

(二)进制转化

1.其他进制转十进制

下面讲解一下其他进制数转化为十进制数的方法:
《Python基础知识——数据类型之数值型数据》_第1张图片

在python程序当中,如果想知道其他进制数对应的十进制数,只需直接在程序中输入即可,程序会自动把数字转化为十进制数。

a=0B1010
b=0o1010
c=0x1010
print(a) #10
print(b) #520
print(c) #4112

另外有一个特定的函数int可以把其他形式的数字转化为十进制形式。

int(x[,base=10])

1.当只输入参数x时,参数x的类型必须为十进制数值字符串,浮点数和整数。
2.当输入base参数时,即指定x为何种进制的整数类型,其中base的取值范围为[2,36]和0,这时,x必须以字符串类型输入。

int(78.2) #78
int('89') #89
int('1010',base=2) #10
int('1010',base=8) #520
int('1010',base=16) #4112

2.十进制转其他进制

十进制转其他进制的方法如下:
对一个十进制的数如8,我们先把它除以将要转化的进制数如2,再把得出来的商4继续除以进制数2,如此往复,直到商为0
8/2=4…0
4/2=2…0
2/2=1…0
1/2=0…1
最后把余数自下而上作为高位数到低位数累加即可,即1000+000+00+0=1000
所以十进制数8转化为二进制数为1000
在python程序中,有两个函数可以分别把十进制数转化为其对应的八进制字符串和十六进制字符串。

hex(x) #输入整数x,可以得到该整数的十六进制字符串
oct(x) #输入整数x,可以得到该整数的八进制字符串

hex(100) #0x64
oct(100) #0o144

二,浮点数类型

(一)表达方式

1.十进制

即即数学意义上的满十进一数

2.科学计数

当数字位数过多时,如果按普通的十进制写法就十分麻烦,这时就需要科学计数法帮助简化写法,如:
31415926可以写为3.1415926 * 107,在程序中表达为3.1415926E+7;
0.005可以写作5 * 10-3,程序中表达为5
E-5

(二)类型转换

float(x) 参数x的类型必须为十进制数值字符串,浮点数和整数

三,复数类型

复数类型表示数学意义上的复数,在python语言中,复数虚数部分通过后缀“J”或“j”表示,可以用complex.real和complex.imag分别获取复数的实部和虚部部分,其中实部和虚部的数值都是浮点数类型。

c1=6+2j
c2=7.0+5J
c1.real #6.0
c2.imag #12.0

四,数值运算

(一)内置操作符

python内置有九个操作运算符,可用于数值间的运算。

符号 描述
+ 用于数字间加法运算
- 用于数字间加法运算
* 用于数字间乘法运算
/ 用于数字间除法运算
// 用于数字间加法运算,结果返回整数商
% 用于数字间加法运算,结果返回整数余数
** 用于数字间幂运算
+/- 取数字本身正/负值
5+6 #11
11-5 #6
2*3 #6
6/4 #1.5
6//4 #1
6%4 #2
2**3 #8
+(-6) #6
-(6) #-6

(二)内置运算函数

python内置有六个与运算相关的函数。

函数 描述
abs(x) 取数字x的绝对值
divmod(x,y) 返回x//y与x%y的二元组形式
pow(x,y,mod=None) 返回xy的结果,如果mod存在则返回xy%mod的结果
round(x,ndigits=None) 返回x四舍五入的结果,保留ndigits位小数
max\min(arg1, arg2, *args[, key=func]) 返回输入参数的最大\最小值(arg:字符型参数/数值型参数;参数key要传入一个函数,用来指定取最大值的方法)
sum(iterable,start=0) 对可迭代对象元素求和,如果start存在,则返回start值+可迭代对象元素总和
abs(-9) #9
divmod(6,4) #(1,2)
pow(2,3) #8
pow(2,3,3) #2
round(6.745) #7
round(6.745,2) #6.75
max(-1,3,-5,7,-9) #9
max(-1,3,-5,7,-9,key=abs) #先对每个参数取绝对值,再进行比较,因此结果返回-9
min((1,3,5,4,9))#1
sum((range(4)) #6
sum(range(4),start=1) #7

(三)运算规则

1.整数间运算,如果数学意义上结果是小数,那么结果类型为浮点数类型。

9/3 #3.0
12/5 #2.4

2.整数与浮点数之间进行混合运算,结果为浮点数类型。

12*2.0 #24.0
5+6.0 #11.0

3.整数或浮点数与复数进行混合运算,结果为复数。

6+12+8j #18+8j
8.0*4+9j #32+9j

4.运算顺序遵循先加减后乘除的顺序,可用小括号改变运算顺序。

6+5*8 #46
(6+5)*8 #88

你可能感兴趣的:(python教程,python)