Types, operators, and expressions

基本数据类型

Python 中的变量不需要声明类型,类型由赋值决定。

  • 整数 (int): 任意大小的整数,如 10, -5。
  • 浮点数 (float): 小数,如 3.14, 1.2e-5 (科学计数法)。
  • 复数 (complex): 形如 a + bj,如 3+4j。实部 .real, 虚部 .imag。
  • 字符串 (str): 单引号或双引号括起来,如 'abc', "Hello"。
  • 布尔值 (bool): 只有 True 和 False (注意首字母大写)。

类型转换函数

常见强制类型转换的结果,特别是浮点转整数(截断)和进制转换。

函数说明示例 (Input →\to Output)
int(x)转为整数 (截断小数)int(3.9) →\to 3
float(x)转为浮点数float(5) →\to 5.0
str(x)转为字符串str(123) →\to '123'
bool(x)非0非空即为真bool(0) →\to False, bool(2) →\to True
bin(x)转为二进制字符串bin(10) →\to '0b1010'

算术运算符

常规运算 (+, -, *, +=, -=) 不再赘述,重点掌握以下特殊运算:

运算符名称示例与说明
/真除法5 / 2 →\to 2.5 (结果总是 float)
//整除 (地板除)5 // 2 →\to 2, -5 // 2 →\to -3 (向下取整)
%取模 (求余)5 % 2 →\to 1, 10 % 3 →\to 1
**幂运算2 ** 3 →\to 8, 9 ** 0.5 →\to 3.0 (开方)

Warning — 负数的地板除与取模

Python 的 // 是向下取整。

  • -5 // 2 结果是 -3 (而不是 -2)。
  • 取模公式:a % b = a - (a // b) * b。

逻辑与比较运算符

  • 比较: == (等于), != (不等于), <=, >=, <, >
  • 逻辑: and, or, not
  • 成员: in, not in (例如 'a' in 'apple' 返回 True)
  • 身份: is, is not (判断对象内存地址是否相同)

Note — is 和 == 的区别

  • == 判断值 (Value) 是否相等。
  • is 判断引用 (Reference) 是否指向同一个对象 (即 ID 是否相同)。 例如:
a = [1, 2]
b = [1, 2]
print(a == b)  # True (内容一样)
print(a is b)  # False (是两个不同的列表对象)

位运算

针对二进制位的操作 (将数字视为二进制处理)。

符号描述计算示例 (设 a=5(101), b=3(011))
&按位与5 & 3 →\to 1 (001)
|按位或5 | 3 →\to 7 (111)
^按位异或5 ^ 3 →\to 6 (110) (相同为0,不同为1)
<<左移5 << 1 →\to 10 (1010) (相当于乘 2)
>>右移5 >> 1 →\to 2 (010) (相当于整除 2)

range() 函数详解

range 用于生成整数序列,常用于 for 循环。注意:左闭右开区间(包含开始,不包含结束)。

  • range(stop): 从 0 开始,到 stop 结束(不含 stop)。 示例: range(3) →\to 0, 1, 2
  • range(start, stop): 从 start 开始,到 stop 结束(不含 stop)。 示例: range(2, 5) →\to 2, 3, 4
  • range(start, stop, step): 步长为 step。 示例: range(1, 10, 2) →\to 1, 3, 5, 7, 9 倒序: range(5, 0, -1) →\to 5, 4, 3, 2, 1