作业链接
1.import函数
用于允许访问程序其他模块(或库、包)中定义的函数、类和变量
如,想要使用math模块中的数学函数,需要先导入这个模块:
import math
2.浮点数和小数
浮点数和小数是有区别的,初学者可以把浮点数直接理解为小数,但实际上小数通常指的是数学中的精确值,而浮点数的精度受存储资源的限制,导致了一些精度的损失。
print(0.1+0.1+0.1==0.3) #返回值是false
3.基本数据类型
(1)整数int
用于表示没有小数部分的数
(2)浮点数float
用于表示小数和分数(默认对应C语言中的双精度浮点型)
(3)字符串string(str)
用于表示文本数据,可以是单引号、双引号或三引号包围的字符序列,如
"hello"
"""multi-line string"""
(4)列表List
这是一个有序集合,可以包含不同类型的元素,元素可以增删查改,如
[1,'a',3.5]
(5)元组Tuple
类似于列表,但是不可改变的,即一旦创建就不能修改,例如
(1,'a',3.5)
(6)集合Set
用于存储无序且不重复的元素集合,如
{1,2,3}
(7)字典Dictionary
用于存储键值对,是无序的映射类型。例如,
{'name':'John',age:30}
(8)复数Complex Numbers
用于表示复数,即实数和虚数的和,例如2+3j
(9)布尔型Boolean
表示逻辑值,有两个固定的值Ture和False
4.Python内置的常量
(1)Ture表示布尔真值
(2)False表示布尔假值
(3)None表示空值,类似于其他语言中的null
5.math库中的一些常用数学常量
pi:圆周率π的值
e:自然对数的底数e的值
tau:圆周长与直径的比例,等于2π
inf:表示正无穷大的浮点数(负无穷大用-math.inf表示)
6.运算符
(1)算术运算符
`+`(加法):a + b 结果是 a 加 b。
`-`(减法):a - b 结果是 a 减 b。
`*`(乘法):a * b 结果是 a 乘以 b。
`/`(除法):a / b 结果是 a 除以 b,结果为浮点型。
`//`(整除):a // b 结果是 a 除以 b 的整数部分。
`%`(取模):a % b 结果是 a 除以 b 的余数,在python中,余数与除数的符号相同,如,-4%3=2(-4 除以 3 的商是 -2,余数是 2。这意味着 -4 可以表示为 3×−2+2)
# 整数取余
result = 10 % 3 # 结果是 1,因为10除以3得3余1
result = -10 % 3 # 结果是 2,因为-10除以3得-4余2
result = 10 % -3 # 结果是 -2,因为10除以-3得-4余-2
result = -10 % -3 # 结果是 -1,因为-10除以-3得3余-1
# 浮点数取余
result = 10.5 % 3 # 结果是 1.5,因为10.5除以3得3.5余1.5
`**`(幂):a ** b 结果是 a 的 b 次幂。
(2) 比较运算符
`==`(等于):a == b 如果 a 等于 b,则结果为 True。
`!=`(不等于):a != b 如果 a 不等于 b,则结果为 True。
`<`(小于):a < b 如果 a 小于 b,则结果为 True。
`>`(大于):a > b 如果 a 大于 b,则结果为 True。
`<=`(小于等于):a <= b 如果 a 小于或等于 b,则结果为 True。
`>=`(大于等于):a >= b 如果 a 大于或等于 b,则结果为 True。
(3) 赋值运算符
`=`(赋值):a = b 将 b 的值赋给 a。
`+=`(加法赋值):a += b 等同于 a = a + b。
`-=`(减法赋值):a -= b 等同于 a = a - b。
`*=`(乘法赋值):a *= b 等同于 a = a * b。
`/=`(除法赋值):a /= b 等同于 a = a / b。
`//=`(整除赋值):a //= b 等同于 a = a // b。
`%=`(取模赋值):a %= b 等同于 a = a % b。
`**=`(幂赋值):a **= b 等同于 a = a ** b。
(4) 逻辑运算符
`and`(逻辑与):a and b 如果 a 和 b 都为 True,则结果为 True。
`or`(逻辑或):a or b 如果 a 或 b 为 True,则结果为 True。
`not`(逻辑非):not a 如果 a 为 False,则结果为 True。
(5) 身份运算符
`is`(身份判断):a is b 如果 a 和 b 是同一个对象,则结果为 True。
`is not`(非身份判断):a is not b 如果 a 和 b 不是同一个对象,则结果为 True。
(6) 成员运算符
`in`(成员判断):a in b 如果 a 是 b 的成员,则结果为 True。
`not in`(非成员判断):a not in b 如果 a 不是 b 的成员,则结果为 True。
(7) 位运算符
`&`(按位与):a & b 对 a 和 b 的每个位执行按位与操作。
`|`(按位或):a | b 对 a 和 b 的每个位执行按位或操作。
`^`(按位异或):a ^ b 对 a 和 b 的每个位执行按位异或操作。
`~`(按位取反):~ a 对 a 的每个位执行按位取反操作。
`<<`(左移):a << b 将 a 的位向左移动 b 位。
`>>`(右移):a >> b 将 a 的位向右移动 a 位。
需要注意的是math.fmod也是用来计算余数的函数,math.fmod函数总是返回一个浮点数,并且结果与除数的符号无关,而是与被除数的符号相同。
import math
result = math.fmod(10, 3) # 结果是 1.0
result = math.fmod(-10, 3) # 结果是 -1.0
result = math.fmod(10, -3) # 结果是 1.0
result = math.fmod(-10, -3) # 结果是 -1.0
7.优先级
优先级列表:
(1)括号
(2)幂运算(**)
(3)正负号(+x, -x, ~x)
(4)乘除、取模(*, /, //, %)
(5) 加减(+, -)
(6)位移(<<, >>)
(7) 按位与(&)
(8)按位异或(^)
(9) 按位或(|)
(10)比较运算符(==, !=, <, <=, >, >=)
(11) 身份运算符(is, is not)
(12)成员运算符(in, not in)
(13) 逻辑运算符(not, and, or)
注意:连用幂运算符是从右往左运算的
8.逻辑运算
(此图来源bilibili的datawhale视频内容,侵删)
短路运算
(1)and运算符的短路:
如果and运算符左边的表达式为False,则整个表达式的结果立即确定为False,而不去计算右边的表达式。这被称为“短路”。
只有当左边的表达式为True时,才会计算右边的表达式。
(2)or运算符的短路:
如果or运算符左边的表达式为True,则整个表达式的结果立即确定为True,而不去计算右边的表达式。
只有当左边的表达式为False时,才会计算右边的表达式。
注意:python逐行运行,当有1/0这样的代码出现,程序崩溃,后面也不会运行。
8.type函数的用法
# 获取一个整数类型的对象
print(type(42)) # 输出: <class 'int'>
# 获取一个字符串类型的对象
print(type("hello")) # 输出: <class 'str'>
# 获取一个列表类型的对象
print(type([1, 2, 3])) # 输出: <class 'list'>
9.isinstance函数的用法
isinstance()函数用于检查一个对象是否是一个特定类或者类型(包括父类)的实例。这个函数返回一个布尔值,如果对象是该类或类型的实例,则返回True,否则返回False。如,
# 检查dog是否是Animal类的实例
print(isinstance(dog, Animal)) # 输出: True