人生苦短,我选Python
前文传送门
小白学 Python(1):开篇
小白学 Python(2):基础数据类型(上)
小白学 Python(3):基础数据类型(下)
小白学 Python(4):变量基础操作
前言前面我们讲了变量的基础操作,本文我们接着讲运算符。
运算符根据用途可以分为以下这么几类:
算术运算符
比较运算符
赋值运算符
逻辑运算符
成员运算符
身份运算符
本篇我们先介绍前两个,算术运算符和比较运算符。
算数运算符算术运算符顾名思义就是我们做数字计算的时候用到的运算符,当然,加减乘除肯定都有,除此之外呢,还有程序中常见的取摸、取幂和取整除。详细如下表:
运算符 描述+ 加
- 减
* 乘
/ 除
% 取模 - 返回除法的余数
** 幂 - 返回x的y次幂
// 取整除 - 向下取接近除数的整数
我们来看几个简单的例子:
a = 5 b = 10 c = a + b print("1. c 的值为:", c) c = a - b print("2. c 的值为:", c) c = a * b print("3. c 的值为:", c) c = a / b print("4. c 的值为:", c) c = a % b print("5. c 的值为:", c) c = a ** b print("6. c 的值为:", c) # 改变 a 和 b 的值 a = 10 b = 5 c = a // b print("7. c 的值为:", c)计算结果如下:
1. c 的值为: 15 2. c 的值为: -5 3. c 的值为: 50 4. c 的值为: 0.5 5. c 的值为: 5 6. c 的值为: 9765625 7. c 的值为: 2上面的栗子都整形的计算,如果是不同类型的数据运算,会发生隐式类型转换。
类型转换的规则由低等向高等转换。
bool(布尔) < int(整形) < float(浮点型) < complex(复数)
我们再看几个栗子:
a = 1 b = 1.5 c = a + b print("8. c 的值为:", c, ",c 的类型为:", type(c)) d = True e = c + d print("9. e 的值为:", e, ",e 的类型为:", type(e)) f = 2 + 4j g = e + f print("10. g 的值为:", g, ",g 的类型为:", type(g))计算结果如下:
8. c 的值为: 2.5 ,c 的类型为: <class 'float'> 9. e 的值为: 3.5 ,e 的类型为: <class 'float'> 10. g 的值为: (5.5+4j) ,g 的类型为: <class 'complex'>注意: 在算术运算时,True代表1,False代表0
运算内置函数内置的意思就是安装好就有,无需额外安装,就比如我们每次买回来的新手机都有一堆内置的软件:)
Python 提供的内置函数如下图:
我们这里选取一些和计算相关的常用的内置函数做一些简单的讲解和演示(个人觉得演示更加的重要):
函数 含义abs(x) 返回一个数的绝对值。实参可以是整数或浮点数。如果实参是一个复数,返回它的模。
complex([real[, imag]]) 返回值为 real + imag*1j 的复数,或将字符串或数字转换为复数。
divmod(a, b) 它将两个(非复数)数字作为实参,并在执行整数除法时返回一对商和余数。
float([x]) 返回从数字或字符串 x 生成的浮点数。
pow(x, y[, z]) 返回 x 的 y 次幂;如果 z 存在,则对 z 取余(比直接 pow(x, y) % z 计算更高效)。两个参数形式的 pow(x, y) 等价于幂运算符: x**y。
round(number[, ndigits]) 返回 number 舍入到小数点后 ndigits 位精度的值。 如果 ndigits 被省略或为 None,则返回最接近输入值的整数。
sum(iterable[, start]) 从 start 开始自左向右对 iterable 中的项求和并返回总计值。 start 默认为 0。 iterable 的项通常为数字,开始值则不允许为字符串。
bin(x) 将一个整数转变为一个前缀为“0b”的二进制字符串。
oct(x) 将一个整数转变为一个前缀为“0o”的八进制字符串。
hex(x) 将整数转换为以“0x”为前缀的小写十六进制字符串。
chr(i) 返回 Unicode 码位为整数 i 的字符的字符串格式。
ord(c) 对表示单个 Unicode 字符的字符串,返回代表它 Unicode 码点的整数。
bool([x]) 返回一个布尔值,True 或者 False。