Python day03——数学运算、浮点数、布尔类型与布尔表达式

版权声明:本文为小嘉丶学长原创文章,未经博主允许不得转载。 https://blog.csdn.net/fj_Author/article/details/78933500

数学运算

在Python之中支持以下几种数学运算

No 运算符 描述
1 * 乘法运算
2 + 加法运算
3 - 减法运算
4 / 除法运算
5 // 除法运算(求商)
6 % 取模运算(求余)
7 ** 幂运算

注:

在Python3之中,//号的用法而python2之中的除法相同;

除法运算在Python2之中,除法是采用取整的方式,即1/2=0,而在python3之中1/2=0.5,1//2=0;

float also accepts the strings “nan” and “inf” with an optional prefix “+” or “-” for Not a Number (NaN) and positive or negative infinity.

浮点数还包括两个字符串表示的

字符串 描述
nan 不是一个数
inf 表示无穷大

例:

>>> type(float('nan'))
<class 'float'>
>>> type(float('inf'))
<class 'float'>
>>> type(float('a'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: could not convert string to float: 'a'

浮点数误差累积问题

浮点数的表示是有误差的。0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1

浮点数误差类型问题

类型转换

内建函数 描述
abs(x) 求x的绝对值
int(x) 把x转换为整型
float(x) 把x转换为浮点型
complex(re, im) 通过re(实数部分),im(虚数部分,默认为零)构造一个复数类型

既然提到了复数类型,负数可以通过z.real获得实数部分,z.imag获得虚数部分。

例如

z = 1 + 2j
>>> z.imag
2.0
>>> z.real
1.0

在复数的运算里面,有一个概念叫做共轭复数,通过c.conjugate()方法,可以等到C的共轭复数。

共轭复数:对于复数z=a+bj ,称复数z’=a-bj为z的共轭复数。至于共轭复数的特性,自己参考数学相关知识点。

布尔类型

在python之中布尔类型只有两个值,True和False;注这里的大写。实际上True和False就是1和0,分别表示真和假。

由于它们实际上就是0和1,所以它们可以参加数学运算(但不推荐)。

在Python之中以下几种情况都被认为是False:

  • None和False
  • 任何数值类型的0:0, 0.0, 0j, Decimal(0), Fraction(0, 1)
  • 空的序列或集合:empty sequences and collections: ”, (), [], {}, set(), range(0)

逻辑操作

Operation Result
x or y if x is false, then y, else x
x and y if x is false, then x, else y
not x if x is false, then True, else False

比较操作

Operation Meaning
< strictly less than
<= less than or equal
> strictly greater than
>= greater than or equal
== equal
!= not equal
is object identity
is not negated object identity

作业

1、回答1//2 , (-1)//2 , 1//(-2),(-1)//(-2)的结果

2、回答-5%2,5%-2, -5%-2的结果

猜你喜欢

转载自blog.csdn.net/fj_Author/article/details/78933500