文章目录
1、表达式
• 表达式由一个或多个操作数通过操作符组合而成。
• 最简单的表达式仅包含一个字面值常量或变量。
2、运算符
2.1 算数运算符
python2 与python3 的区别 :
python2里面只有 地板除 ,要想真除,只能转化为浮点数相除
python3 是真除,结果是多少就是多少。
2.1 赋值运算符
2.3 比较运算符
2.4 逻辑运算符
哪些为假
0, ’ ', 0.0,None, False
(), [],{} 空元组、列表、字典、集合
and
前面的是真,返回后面的值;
前面的是假,返回前面的值
or
前面的是真 ,返回前面的值
前面的是假,返回后面的值
- 三个运算符在存在同一个表达式中,运算优先级一样
>>> result = 3 and print("4") and print("5") and 6
4
>>> print(result) #and左侧为假,短路后面所有的运算
None
>>> result = 3 and print("4") and print("5") or 7
4
>>> print(result) #or左侧为true,短路后面所有的运算
7
- 判断是否以abc开头,也可以用函数.startwith()
>>> str1="efberu"
>>> str1[0:3] == "efb" and "OK" or "error"
'OK'
>>> str1[0:3] == "abc" and "OK" or "error"
'error'
2.5 成员关系运算符
2.6 对象实例测试运算符
>>> a = 500 缓冲池机制【-5,256】,当数字在这个整数池内,赋值时地址直接指向这个数的地址
>>> b = 500
>>> a == b 判断值是否相等
True
>>> a is b 判读引用地址是否一样
>>>False
>>> a = b = 500
>>> a == b
True
>>> a is b
True
>>> id(a) 查看引用地址
140517644890992
>>> id(b)
140517644890992
2.7 位运算符
转换成二进制再比较
& 俩边都是1 才为1,其他的都是0
| 有一个是1就为1
练习:判断水仙花/整数/开平方
1、判断是否为水仙花数
2、判断一个数是否是整数
3、判断一个数开平方后大于10
n = int(input("请输入一个100~999之间的整数:"))
a = n // 100
b = n % 100 // 10
c = n % 10
print(n == a ** 3 + b ** 3 + c ** 3 and "是水仙花数" or "不是水仙花数")
num %1 == 0
num = int(input("请输入一个数:"))
print(num ** 0.5 > 10 and "开平方后大于10" or "开平方后小于等于10")
2.8 运算符优先级
3、流程控制
选择语句if:
练习:儿童弹珠游戏
import random
# 产生12个[0, 1]的int数值
data = [random.choice([0, 1]) for i in range(12)]
# radom.choices("01",k=12)
print("亮灯情况:", data)
# 产生1个 [1-12]之间的随机数
n = random.randint(1, 12)
print(f"打中了第{n}个球")
# 判断data的第n 为是否为0
if data[n - 1] == 0:
print("你赢了")
else:
print("你输了")
循环语句for:
break 结束当前循环,不开启下一次循环
continue 跳出本次循环,后面的不继续运行了。开启下一次循环
练习: 出现次数最多的字符
str1 = "safbeourfbjhdbcsjdh"
# 定义俩个变量去存储出现的字符和次数
tmp_str = ""
max_num = 0
for i in str1:
if str1.count(i) > max_num:
max_num = str1.count(i)
tmp_str = i
print(tmp_str, max_num)
for i in range(3):
if i == 5:
break
else:
print("正常循环完毕,会执行else里面的")