用户交互与运算符
2.1 用户交互
计算机发明有什么意义?
是为了奴役计算机 ATM自动取款机 取代柜员
2.1.1 输入 input
会被存成字符串类型
input括号里面的内容是提示信息
input的作用是接受值
name = input('请输入你的名字:')
password = input('请输入你的密码:')
print(name)
print(password)
请输入你的名字:初雪
请输入你的密码:123456
左手
123456
注意:无论我们输入的值是数值类型,还是字符串类型,列表类型,input接收的值都是字符串类型
2.1.2 输出 print
print('hello world')
print('fisrt, second, qwsa') # 一次性输出多个值
print('100+200=',100+200)
hello world
fisrt, second, qwsa
100+200= 300
print('aaa')
print('bbb')
print('ccc')
print('aaa',end='')
print('bbb',end='&')
print('ccc',end='@')
aaa
bbb
ccc
aaabbb&ccc@
print本身有换行的作用,end参数’\n’,end参数的值可以改为任意其他字符
2.2运算符
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 成员运算符
- 身份运算符
- 运算符优先级
2.2.1 算术运算符
a = 10 b = 20
- 拼接
str5 = 'hello'
str6 = 'world'
print(str5+str6)
helloworld
- 如果是数字和字符串做加法运算==》报错
str7 = 2
str8 = 'world'
print(str7+str8)
helloworld
Traceback (most recent call last):
File "D:/untitled/demo/python_day/数值类型.py", line 89, in <module>
print(str7+str8)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
- 数字和字符串乘法运算,会将这个字符串重复多次
str9 = 'world'
print(str9*5)
worldworldworldworldworld
2.2.2 赋值运算符
a = 20
b = 10
c = 200
c = a + b
print(c)
c += a #c = c + a
print(c)
c *= a #c = c * a
print(c)
c /= a # c = c / a 除法,除出来的是一个浮点数
print(c)
c %= a #c = c % a 取模 相当于 取余
print(c)
c //= a # c = c // a 取整
print(c)
2.2.3 比较运算符
返回1表示真,返回0表示假
True和False的首字母为大写
a = 20 , b = 20
a = 20
b = 20
print(a == b)
print(a != b)
print(a > b)
print(a <b)
print(a >= b)
print(a <= b)
True
False
False
False
True
True
2.2.4 逻辑运算符
p为真命题, q为假命题, 那么p且q为假, p或q 为真, 非q 为真 and, or , not
a = 14 > 6 # True
b = 45.6 > 90 # False
print(a and b) # False (and是并且的意思) 当a 和 b 两个表达式 都为真的时候,那么结果为真, 否则为假
print(a or b) # True (or是或者的意思) 当a 和 b 两个表达式都为假的时候,结果就是假,如果有一个为真,结构就是真
print(not a) # False (not是非的意思) 相当于是取反
print(not b) # True
False
True
False
True
逻辑运算符的本质
在python中,and和or不一定会计算右边表达式的值,有时候只计算左边表达式的值就能得到最终结果
对于and: 两者都要满足,才可以为真
如果左边表达式的值为假,那么右边表达式的值就没有必要计算,最终结果就为假,此时就会把and左边的值作为最终结果
如果左边表达式的值为真,那么最终值是不能确定的,and会继续计算右边表达式的值,并且将右边表达式的值作为最终结果
对于or:有一个为真,结果就是真
如果左边表达式的值为真,那么就不用计算右边的值,最终结果就是真,此时会把左边表达式的值作为最终结果哦
如果左边表达式的值为假,那么最终值是不能确定的,or会继续计算右边表达式的值,并且将右边表达式的值作为最终结果
2.2.5 成员运算符(in, not in)
是python独有的运算符,用于判断对象是否是某个集合的元素之一,并且他的运行速度非常快,他返回的结果是布尔值
a = 'dog'
b = 'pig'
c = ['dog','cat','snake']
print(a in c) # in (包含的意思) True
print(b in c) # False
print(b not in c) # not in (不包含的意思) True
True
False
True
2.2.6 身份运算符(is, is not )
注意:
is用于判断两个变量的应用是否为同一对象
==用于判断变量引用的对象值是否相等
is比较的是本质(也就是内存地址),==比较的是表面
id()内置函数==》查看某个变量或者对象的内存地址
两个相同内存地址的对象被认为是同一对象
a = 1
b = 2
c = 2
# 查询内存地址的方法: id()
print(id(a))
print(id(b))
print(id(c))
print(b is c)
140718689621776
140718689621808
140718689621808
True
2.2.7 运算符的优先级
优先级最高的运算符优先计算或者处理,同级别的按照从左往右的顺序进行计算(赋值运算符除外,他是从右往左的顺序)
- 算术运算符优先级 大于 比较运算符
- 比较运算符优先级 大于 逻辑运算符
- 逻辑运算符内部三个优先级: not 》 and 》 or
以上优先级从高到低总结:加减乘除》比较》not, and, or