1. 运算符
1.1 算数运算符
- 算术运算符
- 赋值运算符
- 比较运算符(关系运算符)
- 逻辑运算符
- 条件运算符(三元运算符)
1.2 算数运算符
- 加法运算符 表现形式 +
- 减法运算符 表现形式 -
- 乘法运算符 表现形式 *
- 除法运算符 表现形式 /
- // 整除,只会保留计算后的整数位,总会返回一个整型
- % 取模,求两个数相除的余数
- ** 幂运算,求一个值的几次幂
1.3 赋值运算符
赋值运算符的特殊写法 x = x + 3 其实是和 x += 3 是一样的
- += (x+= 3 相当于 x = x + 3 )
- -= (x -= 3 相当于 x= x - 3 )
- = (x *= 3 相当于 x = x 3 )
- **= (x **= 3 相当于 x = x ** 3 )
- /= (x /= 3 相当于 x = x/ 3 )
- //= (x //= 3 相当于 x = x // 3 )
- %= (x %= 3 相当于 x= x % 3 )
1.4 比较运算符
- 比较运算符用来比较两个值之间的关系,总会返回一个布尔值.如果关系成立,返回True,否则返回False
- > 比较左侧值是否大于右侧值
- >= 比较左侧的值是否大于或等于右侧的值
- < 比较左侧值是否小于右侧值
- <= 比较左侧的值是否小于或等于右侧的值
- 特殊的比较方式
== 比较两个对象的值是否相等
!= 比较两个对象的值是否不相等
is 比较两个对象是否是同一个对象,比较的是对象的id
is not 比较两个对象是否不是同一个对象,比较的是对象的id
1.5 逻辑运算符
and逻辑与
- and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
- 与运算是找False的,如果第一个值为False,则不再看第二个值
and运算,以下假设变量 a 为 10, b为 20:
a = 10
b = 20
print(a and b)
# 输出结果为20
a = 10
b = 0
c = 5
d = a and b and c
print(d)
# 输出结果为0
or逻辑或
- 或运算两个值中只要有一个True,就会返回True
- 或运算是找True的
or运算,同样假设变量 a 为 10, b为 20:
a = 10
b = 20
print(a or b)
# 输出结果为10
not 逻辑非
- not可以对符号右侧的值进行非运算对于布尔值,非运算会对其进行取反操作,True变False,False变True
a = 10
b = 20
print(not (a and b))
# 输出结果为False
a = 10
b = 0
print(not (a and b))
# 输出结果为True
1.6条件运算符(三元运算符)
条件运算符在执行时,会先对条件表达式进行求值判断,如果判断结果为True,则执行语句1,并返回执行结果。如果判断结果为False,则执行语句2,并返回执行结果。
语法: 语句1 if 条件表达式 else 语句2
a = 10
b = 20
c = a if a > b else b
print(c)
# 返回结果20
1.7运算符优先级
2. 字符串判断方法
函数 | 含义 |
---|---|
字符串.isalnum() | 所有字符都是数字或者字母,为真返回 Ture,否则返回 False。 |
字符串.isalpha() | 所有字符都是字母,为真返回 Ture,否则返回 False。 |
字符串.isdigit() | 所有字符都是数字,为真返回 Ture,否则返回 False。 |
字符串.islower() | 所有字符都是小写,为真返回 Ture,否则返回 False。 |
字符串.isupper() | 所有字符都是大写,为真返回 Ture,否则返回 False。 |
字符串.istitle() | 所有单词都是首字母大写,为真返回 Ture,否则返回 False。 |
字符串.isspace() | 所有字符都是空白字符,为真返回 Ture,否则返回 False。 |
3. 练习
# a,b = 6, 8 我想让a=8 b=6我该怎么办?用2种方式实现
a,b = 6,8
c = b
b = a
a = c
print(a,b)
# 完成字符串的逆序以及统计
# 设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
# 打印出字符串长度
# 使用切片逆序打印出字符串
while True:
passwd = input("请输入用户名密码:")
b = len(passwd)
print("输入的密码长度:%s" % b)
if b > 31:
print("输入的密码过长,请重新输入")
continue
else:
ll = list(passwd)
ll.reverse()
st = "".join(ll)
print("输入正确,逆序为:%s" %st)
break
# 要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入
# 用户名长度6-20,用户名必须以字母开头
# 密码长度至少6位,不能为纯数字,不能有空格
while True:
user = input("请输入用户名:")
passwd = input("请输入密码:")
ll = list(user)
one = ll[0]
if len(user) > 20 or len(user) < 6:
print("请输入6-20为用户名")
continue
elif one.isalpha() == False:
print("首字符必须是字母")
continue
elif len(passwd) < 6:
print("密码小于6位,重新输入")
continue
elif passwd.isdigit() == True:
print("密码不允许全部为数字")
continue
for space in passwd:
if space.isspace() == True:
print("密码中不能有空格")
break
else:
print("登录成功")
break