6.【Python编程】数字Number相关知识及基本操作

6.【Python编程】数字Number相关知识及基本操作

备注: 本教程主要使用Python3.6在jupyter notebook上编程实现。Python环境配置参考《【Python学习】Windows10开始你的Anaconda安装与Python环境管理》或者《【Python学习】纯终端命令开始你的Anaconda安装与Python环境管理》

6.1 创建Number对象

  • Python 数字数据类型用于存储数值。
  • 数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间
  • Python 支持三种不同的数值类型:
    1. 整型(int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。布尔(bool)是整型的子类型。

    2. 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)

    3. 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

num1 = 2021 # 整型
num2 = 3.1415926 # 浮点型
num3 = 2+3j # 复数
num4 = complex(2,3)
print(num1)
print(type(num1))
print(num2)
print(type(num2))
print(num3)
print(type(num3))
print(num4)
print(type(num4))
2021
<class 'int'>
3.1415926
<class 'float'>
(2+3j)
<class 'complex'>
(2+3j)
<class 'complex'>
  • 十六进制和八进制
    十六进制数的每一位可以取值0~9、A(十)、B(十一)、C(十二)、D(十三)、E(十四)、F(十五)
    八进制数的每一位可以取值0~7
    关于进制的概念可以查阅计算机基础相关课程资料
num5 = 0xA0F1 # 十六进制
num6 = 0o7654 # 八进制数
print(num5)
print(type(num5))
print(num6)
print(type(num6))
41201
<class 'int'>
4012
<class 'int'>

6.2 Python数字类型转换

数字的数据类型转换是常见的现象,例如,针对列表的下标的操作,需要保证下标为整型。转换用到的函数如下:

  • int(x): 将x转换为一个整数。
  • float(x): 将x转换到一个浮点数。
  • complex(x): 将x转换到一个复数,实数部分为 x,虚数部分为 0。
  • complex(x, y): 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。
# 将浮点数转换为整数
x = 3.000
print(x)
print(type(x))
y = int(x)
print(y)
print(type(y))
3.0
<class 'float'>
3
<class 'int'>
# 将整数转换为浮点数
x = 3
print(x)
print(type(x))
y = float(x)
print(y)
print(type(y))
3
<class 'int'>
3.0
<class 'float'>

6.3 Python的数字运算

Python可以执行常见的数学运算

运算符描述
=用于给变量进行赋值
+加 - 两个对象相加
-减 - 得到负数或是一个数减去另一个数
*乘 - 两个数相乘或是返回一个被重复若干次的字符串
/除 - x 除以 y
%取模 - 返回除法的余数
**幂 - 返回x的y次幂,与其他编程语言不同,python并没有使用^来实现幂函数,在Python中^为按位异或运算符
//取整除 - 向下取接近商的整数

备注: 不同类型的数混合运算时会将整数转换为浮点数

a = 4.10
b = 2.0
print("a=",a)
print("b=",b)
print("a+b=", a+b)
print("a-b=", a-b)
print("a*b=", a*b)
print ("a/b=", a/b)
print (r"a%b=", a%b)
print("a**b=", a**b)
print("a//b=", a//b)
a= 4.1
b= 2.0
a+b= 6.1
a-b= 2.0999999999999996
a*b= 8.2
a/b= 2.05
a%b= 0.09999999999999964
a**b= 16.81
a//b= 2.0

6.4 常见的逻辑运算

运算符描述
&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1
^按位异或运算符:当两对应的二进位相异时,结果为1
~按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1,~x类似于 -x-1
<<左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0
>>右移动运算符:把">>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数
a = 18 # 二进制的0001 0010
b = 11 # 二进制的0000 1011
print("a&b=", a&b) # 0001 0010 & 0000 1011=0000 0010=2
print("a|b=", a|b) # 0001 0010 | 0000 1011=0001 1011=16+8+2+1=27
print("a^b=", a^b) # 0001 0010 ^ 0000 1011=0001 1001=16+8+1=25
print("~a=",~a) # ~ a = -a-1 = -19
print("a<<2=",a<<2) # 0001 0010 <<2 = 0100 1000=72
print("a>>2=",a>>2) # 0001 0010 >>2 = 0000 0100=4

a&b= 2
a|b= 27
a^b= 25
~a= -19
a<<2= 72
a>>2= 4

6.5 常见的数学函数

python的大部分基本数学函数被封装在模块math当中,调用时需要先导入该模块。

import math
  • 返回数字的绝对值
    fabs() 函数类似于 abs() 函数,但是他有两点区别:abs() 是内置函数。 fabs() 函数在 math 模块中定义。fabs() 函数只对浮点型跟整型数值有效。 abs() 还可以运用在复数中。
# 返回数字的绝对值
x = -3.1415926
print("x的绝对值为:", abs(x))
print("x的绝对值为:", math.fabs(x))
x的绝对值为: 3.1415926
x的绝对值为: 3.1415926
  • 基本初等数学函数
# 以e为底的指数函数
print("e=",math.e)
print("e^2=",math.exp(2)) # e^2
print("e^2=",math.e**2) # e^2

# 以e为底的对数函数
print("log(e)=",math.log(math.e)) # log(e)

# 以10为底的对数函数
print("log10(100)=",math.log10(100)) # log10(100)

# 幂函数
print("3^2=",3**2)
print("3^2=",pow(3,2))

# 开方
print("sqrt(4)=",math.sqrt(4))
print("sqrt(4)=",4**0.5)
print("sqrt(4)=",pow(4,0.5))

# 取整
# 返回数字的上入整数
print("3.14的上入整数=", math.ceil(3.14))
# 返回数字的下舍整数
print("3.14的下舍整数=", math.floor(3.14))
# 返回浮点数 x 的四舍五入值
print("3.14四舍五入=", math.round(3.14))
e= 2.718281828459045
e^2= 7.38905609893065
e^2= 7.3890560989306495
log(e)= 1.0
log10(100)= 2.0
3^2= 9
3^2= 9
sqrt(4)= 2.0
sqrt(4)= 2.0
sqrt(4)= 2.0
3.14的上入整数= 4
3.14的下舍整数= 3
  • 三角函数
print("pi=",math.pi)
# 以下三个基本三角函数的输入为弧度值,弧度值的概念详见高中必修课本,转换关系为:180度=1pi
print("pi转换为角度,为:",math.degrees(math.pi))
print("180度转换为弧度,为:",math.radians(180))

print("sin(pi)=",math.sin(math.pi)) # sin(pi)=0
print("cos(pi)=",math.cos(math.pi)) # cos(pi)=-1
print("tan(0)=",math.tan(0)) # tan(0)=0
pi= 3.141592653589793
pi转换为角度,为: 180.0
180度转换为弧度,为: 3.141592653589793
sin(pi)= 1.2246467991473532e-16
cos(pi)= -1.0
tan(0)= 0.0
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YirongChen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值