例子:
print(1 + 1) # 2print(2 - 1) # 1print(3 * 4) # 12print(3 / 4) # 0.75print(3 // 4) # 0print(3 % 4) # 3print(2 ** 3) # 8
比较运算符例子:
print(2 > 1) # Trueprint(2 >= 4) # Falseprint(1 < 2) # Trueprint(5 <= 2) # Falseprint(3 == 4) # Falseprint(3 != 5) # True
逻辑运算符例子:
print((3 > 2) and (3 < 5)) # Trueprint((1 > 3) or (9 < 2)) # Falseprint(not (2 > 1)) # False
位运算符例子:
print(bin(4)) # 0b100print(bin(5)) # 0b101print(bin(~4), ~4) # -0b101 -5print(bin(4 & 5), 4 & 5) # 0b100 4print(bin(4 | 5), 4 | 5) # 0b101 5print(bin(4 ^ 5), 4 ^ 5) # 0b1 1print(bin(4 << 2), 4 << 2) # 0b10000 16print(bin(4 >> 2), 4 >> 2) # 0b1 1
三元运算符例子:
x, y = 4, 5if x < y: small = xelse: small = yprint(small) # 4
或
x, y = 4, 5small = x if x < y else yprint(small) # 4
其他运算符例子:
letters = ['A', 'B', 'C']if 'A' in letters: print('A' + ' exists')if 'h' not in letters: print('h' + ' not exists')# A exists# h not exists
比较的变量指向不可变类型
a = "hello"b = "hello"print(a is b, a == b) # True Trueprint(a is not b, a != b) # False False
比较的变量指向可变类型
a = ["hello"]b = ["hello"]print(a is b, a == b) # False Trueprint(a is not b, a != b) # True False
注意:is,is not比较的是两个变量的内存地址==,!=比较的是两个变量的值比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。 变量和赋值
在使用变量之前,需要对其先赋值。变量名可以包括字母、数字、下划线、但变量名不能以数字开头。Python 变量名是大小写敏感的,foo != Foo。
pop()函数,用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
数据类型和转换【例子】使 1/3 保留 4 位,用 getcontext().prec 来调整精度。
decimal.getcontext().prec = 4c = Decimal(1) / Decimal(3)print(c)# 0.3333
【例子】bool 作用在容器类型变量:X 只要不是空的变量,bool(X) 就是 True,其余就是 False。
确定bool(X) 的值是 True 还是 False,就看 X 是不是空,空的话就是 False,不空的话就是 True。
对于数值变量,0, 0.0 都可认为是空的。对于容器变量,里面没元素就是空的。 if-elif-else语句
例子:
temp = input('请输入成绩:')source = int(temp)if 100 >= source >= 90: print('A')elif 90 > source >= 80: print('B')elif 80 > source >= 60: print('C')elif 60 > source >= 0: print('D')else: print('输入错误!')
assert关键词assert这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。 while循环
while 布尔表达式:
代码块
例子:
count = 0while count < 3: temp = input("猜一猜小姐姐想的是哪个数字?") guess = int(temp) if guess > 8: print("大了,大了") else: if guess == 8: print("你太了解小姐姐的心思了!") print("哼,猜对也没有奖励!") count = 3 else: print("小了,小了") count = count + 1print("游戏结束,不玩儿啦!")
while-else循环while 布尔表达式:
代码块
else:
代码块
当while循环正常执行完的情况下,执行else输出,如果while循环中执行了跳出循环的语句,比如 break,将不执行else代码块的内容。 for循环
for循环是迭代循环,在Python中相当于一个通用的序列迭代器,可以遍历任何有序序列,如str、list、tuple等,也可以遍历任何可迭代对象,如dict。
for 迭代变量 in 可迭代对象:
代码块
for- else循环当for循环正常执行完的情况下,执行else输出,如果for循环中执行了跳出循环的语句,比如 break,将不执行else代码块的内容,与while - else语句一样。 range函数
range([start,] stop[, step=1])
这个BIF(Built-in functions)有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。step=1 表示第三个参数的默认值是1。range 这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列,该序列包含start的值但不包含stop的值
例子:
for i in range(2, 9): # 不包含9 print(i)# 2# 3# 4# 5# 6# 7# 8for i in range(1, 10, 2): print(i)# 1# 3# 5# 7# 9
enumerate函数enumerate(sequence,[start=0])
sequence:一个序列、迭代器或其他支持迭代对象。start:下标起始位置。返回 enumerate(枚举) 对象
例子:
seasons = ['Spring', 'Summer', 'Fall', 'Winter']lst = list(enumerate(seasons))print(lst)# [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]lst = list(enumerate(seasons, start=1)) # 下标从 1 开始print(lst)# [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]