5.3 赋值运算符
运算符 | 描述 | 实例 |
= | 赋值运算符 | 把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7 |
# 同时为多个变量赋值(使用等号连接) >>> a = b = 4 >>> a 4 >>> b 4 >>> # 多个变量赋值(使用逗号分隔) >>> num1, f1, str1 = 100, 3.14, "hello" >>> num1 100 >>> f1 3.14 >>> str1 "hello"
5.4 复合赋值运算符
运算符 | **描述 | **实例 |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
%= | 取模赋值运算符 (取余,模余) | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
# 示例:+= >>> a = 100 >>> a += 1 # 相当于执行 a = a + 1 >>> a 101 # 示例:*= >>> a = 100 >>> a *= 2 # 相当于执行 a = a * 2 >>> a 200 # 示例:*=,运算时,符号右侧的表达式先计算出结果,再与左边变量的值运算 >>> a = 100 >>> a *= 1 + 2 # 相当于执行 a = a * (1+2) >>> a 300
5.5 比较运算符
以下假设变量a为10,变量b为20:
运算符 | 描述 | 示例 |
== | 等于:比较对象是否相等(也叫恒等) | (a == b) 返回 False |
!= | 不等于:比较两个对象是否不相等(python2中 <> 代表不等于) | (a != b) 返回True |
> | 大于:返回x是否大于y | (a > b) 返回False |
>= | 大于等于:返回x是否大于等于y | (a >= b) 返回False |
< | 小于:返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True与False等价 | (a < b) 返回True |
<= | 小于等于:返回x是否小于等于y | (a <= b) 返回True |
5.6 逻辑运算符
运算 | 含义 | 逻辑表达式 | 描述 | 实例 |
and | 与 | x and y | 只要有一个运算数是False,结果就是False; 只有所有的运算数都为True时,结果才是True 做取值运算时,取第一个为False的值,如果所有的值 都为True,取最后一个值 |
True and True and False–> 结果为False True and True and True–> 结果为True |
or | 或 | x or y | 只要有一个运算数是True,结果就是True; 只有所有的运算数都为False时,结果才是False 做取值运算时,取第一个为True的值,如果所有的值都 为False,取最后一个值 |
False or False or True–>结 果为True False or False or False–>结 果为False |
not | 非、取反 | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 |
not True --> False |
性能提升
面试题:一下代码的输出结果是什么,为什么会有这样的输出。
a = 34 a > 10 and print('hello world') #输出 a < 10 and print('hello world') #不输出 a >10 or print('你好世界') #不输出 a <10 or print('你好世界') #输出
思考:
逻辑运算的短路问题
当and的前边是False的情况下,那么后边的代码不会执行
or:只要有一方为True,那么结果就是True
逻辑与运算和逻辑或运算取值时为什么是那种规则。
and和or有短路效果
6. 输入输出
6.1 输出
age = 10 print("我今年%d岁" % age) name = "张三" print("我的姓名是%s, 年龄是%d" % (name, age))
6.2 输入
在Python中,获取键盘输入的数据的方法是采用 input 函数
password = input("请输入密码:") print('您刚刚输入的密码是:%s' % password)
注意:
input()的小括号中放入的是提示信息,用来在获取数据之前给用户的一个简单提示
input()在从键盘获取了数据以后,会存放到等号右边的变量中
input()会把用户输入的任何值都作为字符串来对待
7.流程控制语句
7.1 if判断语句
if语句是用来进行判断的,其使用格式如下:
if 要判断的条件: 条件成立时,要做的事情 #示例 if age >= 18: print("我已经成年了")
小总结:
if判断语句的作用:就是当满足一定 条件时才会执行代码块语句,否则就不执行代码块语句。
注意:if下一行代码的缩进为一个tab键,或者4个空格。PyCharm可以按Ctrl + Alt + L 直接格式化代码
7.2 if else
if-else的使用格式
if 条件: 满足条件时的操作 else: 不满足条件时的操作
age = 18 if age >= 18: print("你成年了") else: print("你是未成年人")
age = int(input("请输入年龄:")) if age >= 18: print("你成年了") else: print("未成年人")
7.3 elif
elif的功能
if xxx1: 事情1 elif xxx2: 事情2 elif xxx3: 事情3
说明:
当xxx1满足时,执行事情1,然后整个if结束
当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束
示例:
score = int(input("请输入分数")) if score >= 90: print("优秀") elif score >= 80: print("良好") elif score > 60: print("及格") else: print("不及格")
7.4 for
在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
fo循环的格式
for 临时变量 in 列表或者字符串等可迭代对象: 循环满足条件时执行的代码
for循环的使用
7.4.1 遍历字符串:
for s in "hello": print(s)
7.4.2 range
range 可以生成数字供 for 循环遍历,它可以传递三个参数,分别表示 起始、结束和步长。
打印数字
for i in range(5): print(i)
打印九九乘法表
def f1(a): for i in range(1, a+1): s = '' for j in range(1, i+1): s += ('%d*%d=%d ' % (j, i, i*j)) print(s) f1(9);
结果:
打印菱形
def f1(a): # 获取中位数,即取整除 z = a // 2 # 根据参数a循环 for i in range(a): # 空格的数量:中位数-当前循环数 b = z - i # 如果b<0,则空格数等于绝对值 if b < 0: b = 0 - b k = ' ' # 计算空格数量 k = b * k c = '*' # 参数a减去两边空格的数量就是*号的数量 c = (a - b * 2) * c print(k + c + k) f1(17)
结果:
7.4.3 循环列表
a_list = ['张三', '李四', '王五'] for i in a_list: print(i)