input输入任何内容,最后的结果都是字符串类型,字符串类型,字符串类型!
input("请输入你的名字:")
input括号内部里面的东西只是一个提示,并没有其他的作用
name = input('请输入你的名字:')
print("你的名字是:"+name)
请输入你的名字:小明
你的名字是:小明
name = input("请输入你的姓名:")
password = input("请输入你的密码:")
print(name)
print(password)
请输入你的姓名:小明
请输入你的密码:123456
小川
123456 #注意这串数字是字符串
name = input("请输入你的姓名:")
password = input("请输入你的密码:")
print(name)
print(password)
print(type(name))
print(type(password))
请输入你的姓名:aa
请输入你的密码:123456
aa
123456
<class 'str'> #字符串
<class 'str'> #字符串
无论我们输入的值是数字类型、字符串类型,input的接收值都是字符串类型
print("hello world") # 打印一个值
print("first","second",'third') # 打印多个值
print("100+200="+str(100+200)) #字符串的拼接
print("100+200=",100+200)
hello world
first second third #逗号打印时是以空格分隔
100+200=300
100+200= 300
默认print本身有换行的作用,
那么它还有一个参数叫end参数,
这个参数的默认值为"\n",
可以将end参数的值改成任意其他其他字符
print(1,end="ajolscnlnclnqaonfoascoa")
print(2,end="")
1ajolscnlnclnqaonfoascoa2 #这串字符接到了1和2的中间
print(1,end="") #把end设置为空就是取消换行
print(2,end="")
12
算术运算符
赋值运算符
比较运算符
逻辑运算符
成员运算符
身份运算符
运算符优先级
除法除出来是一个浮点数
假设有两个变量:a=10,b=20
运算符 | 描述 | 实例 |
---|---|---|
+ | 加——>两个数相加 | a + b 输出结果 30 |
- | 减——>得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
* | 乘——>两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
/ | 除——b 除以 a | b / a 输出结果 2.0 |
% | 取模(取余数)——返回除法的余数 | b % a 输出结果 0 |
** | 幂——返回a的b次幂 | a**b为10的20次方,输出结果100000000000000000000 |
// | 取整数——返回商的整数部分(向下取整) | 9 // 2 ——>4 |
() | 小括号 | 提高运算符优先级,比如(1+2)*3 |
a = 10
b = 20
print(a+b)
print(a-b)
print(a*b)
print(b/a)
print(b%a)
print(a**b)
print(b//a)
30
-10
200
2.0
0
100000000000000000000
2
a = 20
b = 10
c = 200
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | 把 = 号右边的结果 赋给 左边的变量 如:num = 1 + 2 * 3,结果num的值为7 |
+= | 加法赋值运算符 | 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 = 20
b = 10
c = 200
# c+=a # 等价于c = c+a
c-=a
# 其他的方法与上面这两个同样
print(c)
a = 10
b = 20
运算符 | 描述 | 实例 |
---|---|---|
== | 比较对象是否相等 | (a == b) 返回 False |
!= | 不等于–比较两个对象是否不相等 | (a != b) 返回 True |
> | 大于–返回x是否大于y | (a > b) 返回 False |
< | 小于–返回x是否小于y | (a < b) 返回True |
>= | 大于或者等于–返回x是否大于等于y | (a >= b) 返回 False |
<= | 小于或者等于–返回x是否小于等于y | (a <= b) 返回 True |
所有的比较运算符返回1表示真,
返回0表示假,这分别与True和False等价
注意:True和False 的首字母为大写
p为真命题,q为假命题,那么p且q为假,p或q为真,非q为真。and 、or、not(全部都是小写字母)
逻辑运算符 | 含义 | 基本格式 | 说明 |
---|---|---|---|
and | 逻辑与运算,等价于数学中的”且“ | a and b | 当a和b两个表达式都为真时,a and b 的结果才为真,否则为假 |
or | 逻辑或运算,等价于数学中的”或“ | a or b | 当 a 和 b两个表达式都为假时,a or b 的结果才是假,否则为真 |
not | 逻辑非运算,等价于数学中的”非“ | not a | 如果 a 为真,那么not a的结果为假;如果 a 为假,那么not a的结果为真,相当于对 a 取反 |
a = 14 > 6 # True
b = 45 > 90 # False
print(a and b) # False
print(a or b) # True
print(not a) # False 相当于对a取反
False
True
False
逻辑运算符的本质
在python中,and和or不一定会计算右边表达式的值,
有时候只计算左边表达式的值就能得到最终结果
对于and运算符,两边的值都为真时最终结果才为真,但是只有其中有一个值为假,那么最终结果就是假,所以python按照下面的规则执行and运算符:
- 如果左边表达式的值为假,那么就不用计算右边表达式的值,因为不管右边表达式的值是什么,都不会影响最终结果,最终结果都是假,此时and会把左边表达式的值作为最终结果
- 如果左边表达式的值为真,那么最终值是不能确定,and会继续计算右边表达式的值,并将右边表达式的值作为最终结果
对于or运算符,情况类似,两边的值都为假的时候最终结果才为假,只要其中有一个值为真,那么最终结果就是真,所以python按照下面的规则执行or运算:
- 如果左边表达式的值为真,那么就不用计算右边表达式的值,因为不管右边表达式的值是什么,都不会影响最终结果,最终结果都是真,此时or会把左边表达式的值作为最终结果
- 如果左边表达式的值为假,那么最终值是不能确定,or会继续计算右边表达式的值,并将右边表达式的值作为最终结果
用于判断对象是某个集合的元素之一,返回结果是bool值类型
看到成员就会想到这个成员在不在这个集体里面,在与不在的表示就是in和not in咯!
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值返回True,否则返回False | a在animals序列中,如果a在animals序列中则返回True |
not in | 如果在指定的序列中没有找到值就返回True,否则返回False | a不在animals序列中,如果a不在animals序列中就返回True |
a = 'dog'
b = 'rabbit'
animals = ["dog","elephant","snake"]
print(a in animals) # True
print(b in animals) # False
print(a not in animals) # False
print(b not in animals) # True
身份运算符用于比较两个对象的存储单元
看到身份就想到身份不一样住的房子(存储单元)也会不一样,那我们就要看它是不是这个房子的主人,是不是也就是is和not is来表示啦!
运算符 | 描述 | 实例 |
---|---|---|
is | is 是判断两个标识符是不是引用自一个对象 | a is b,类似id(a) == id(b),如果引用的是同一个对象则返回True,否则返回False |
is not | is not 是判断两个标识符是不是引用自不同的对象 | a is not b,类似id(a) ! = id(b),如果引用的不是同一个对象则返回结果True,否则返回False |
要注意is和==的区别,两者有根本上的区别
is用于判断两个变量的引用是否为同一个对象,而==用于判断变量引用的对象的值是否相等
is比较的是本质(也就是内存地址)
==比较的是表面(也就是数值)
a=1
b=1.0
print(a == b)
print(a is b)
True
False
查看某个变量或者对象的内存地址 id()
两个相同的内存地址的对象被认为是同一个对象
a=1
b=1.0
print(id(a))
print(id(b))
1647214704
1647997751656
运算符 | 描述 |
---|---|
** | 指数(最高优先级) |
~ + - | 按位翻转,一元加号和减号(最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整数 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 “AND” |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is,is not | 身份运算符 |
in,not in | 成员运算符 |
not or and | 逻辑运算符 |
优先级高的运算符就优先计算或者处理,同级别的就按从左往右的顺序计算(赋值运算符除外,它是从右往左的顺序)
以上三个优先级从高到低总结:加减乘除>比较运算符>not>and>or
如何记not,and,or这三个优先级顺序?
首先抽出not,and,or三个单词首字母,nao,发现nao就是中文闹的谐音,所以我们就可以编口诀:
逻辑运算真闹(nao)心,真真假假分不清
回忆环节
nao—not,and,or
你学废了吗O(∩_∩)O哈哈~
做完练习可参考下方的答案
往下拉有答案
====================
====================
====================
====================
====================
====================
====================
====================
1.用户输入两个数完成两个数的加法运算
法一:
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
print(a+b)
法二:
a = input(“请输入第一个数:”)
b = input(“请输入第二个数:”)
print(int(a)+int(b))
2.使用两个print(),一行输出"我叫xxx"和"年龄xx"
print("我叫小明",end=" ")
print("年龄18")