1. 散列类型
Python中常用的散列类型包括字典(dict)和集合(set),其特点是内容无序且元素唯一。字典是由键值对组成,键必须是可哈希的,而值则可以是任何类型。集合只包含值,且值必须是可哈希的。
可哈希对象的特点是不可变的且具有唯一性,如字符串、元组、数字等。
下面代码示例展示了如何创建字典和集合:
# 创建字典
dict_example = {'apple': 2, 'orange': 3, 'banana': 1}
print(dict_example) # 输出:{'apple': 2, 'orange': 3, 'banana': 1}
# 创建集合
set_example = set([1, 2, 3, 2, 1])
print(set_example) # 输出:{1, 2, 3}
2. 运算符
Python中的运算符包括算术运算符、比较运算符、逻辑运算符、位运算符等。
2.1 算术运算符
算术运算符包括加(+)、减(-)、乘(*)、除(/)、求模(%)等。其中,求模运算符会返回两个数相除的余数。
# 算术运算符示例
a, b = 10, 3
print('a + b =', a + b) # 输出:a + b = 13
print('a - b =', a - b) # 输出:a - b = 7
print('a * b =', a * b) # 输出:a * b = 30
print('a / b =', a / b) # 输出:a / b = 3.33333
print('a % b =', a % b) # 输出:a % b = 1
2.2 比较运算符
比较运算符包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)等。
# 比较运算符示例
x, y = 5, 8
print('x == y ?', x == y) # 输出:x == y ? False
print('x != y ?', x != y) # 输出:x != y ? True
print('x > y ?', x > y) # 输出:x > y ? False
print('x < y ?', x < y) # 输出:x < y ? True
print('x >= y ?', x >= y) # 输出:x >= y ? False
print('x <= y ?', x <= y) # 输出:x <= y ? True
2.3 逻辑运算符
逻辑运算符包括与(and)、或(or)、非(not)等。其中,与运算符和或运算符均具有短路特性,即如果第一个操作数已经能够决定整个表达式的值,那么就不会再对第二个操作数进行计算了。
# 逻辑运算符示例
a, b, c = True, False, True
print('a and b ?', a and b) # 输出:a and b ? False
print('a or b ?', a or b) # 输出:a or b ? True
print('not a ?', not a) # 输出:not a ? False
# 短路特性示例
print('a and b and c ?', a and b and c) # 输出:a and b and c ? False
print('a or b or c ?', a or b or c) # 输出:a or b or c ? True
2.4 位运算符
位运算符包括按位与(&)、按位或(|)、按位取反(~)、按位异或(^)、左移位(<<)和右移位(>>)等。其中,左移位和右移位运算符会将一个数的二进制位向左或向右移动指定的位数,其他运算符的含义和其他语言一致。
# 位运算符示例
a, b = 60, 13
print('a & b =', a & b) # 输出:a & b = 12
print('a | b =', a | b) # 输出:a | b = 61
print('~a =', ~a) # 输出:~a = -61
print('a ^ b =', a ^ b) # 输出:a ^ b = 49
print('a << 2 =', a << 2) # 输出:a << 2 = 240
print('a >> 2 =', a >> 2) # 输出:a >> 2 = 15
3. 总结
Python中的散列类型包括字典和集合,其特点是内容无序且元素唯一。可哈希对象必须是不可变的且具有唯一性。Python中常用的运算符包括算术运算符、比较运算符、逻辑运算符、位运算符等。其中,短路特性是与运算符和或运算符的重要特点。
正确的使用散列类型和运算符能够大大提升代码的效率和简洁程度,这对于初学者和职业程序员都非常重要。