持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天,点击查看活动详情
大家好,我是木大木大,因为疫情和环境原因啊,在家开始了自学python的路子,从此深坑加一人。后面我会每天持续更新一些学习python的过程,当然一开始就是一些基础啦,希望大家多多支持,莫嫌弃啦~
一 用户交互与运算符
Ctrl+d 向下复制
Ctrl+alt+L 格式化代码(规整好代码)
1.1 用户交互
计算机的发明有什么意义
人往计算机中输入input数据
计算机打印print出结果
1.1.1 输入 input
用户使用input输入的任何内容都会被存为字符串类型
input("请输入你的名字:") # input括号里面的文字只是在你输入的位置前面增加一个友好的提示,并没有实际意义
name = input("请输入你的名字:")
password = input("请输入你的密码:")
print("你的名字是:"+name)
print("你的密码是:"+password)
print(type(name))
print(type(password))
请输入你的名字:木大
请输入你的密码:123
你的名字是:木大
你的密码是:123
<class 'str'>
<class 'str'>
注意:无论我们输入的值是数字类型还是字符串类型,input的接收值都是字符串类型
1.1.2 输出 print
print("hello world","first","second")
print("100+200=",100+200)
hello world first second
100+200= 300
print默认有换行的作用
有一个end参数的默认值就是\n
print("11")
print("22")
11
22
print("11",end="")
print("22")
1122
print("11",end="@")
print("22")
11@22
1.2 运算符
算术运算符
赋值运算符
比较运算符
逻辑运算符
成员运算符
身份运算符
运算符的优先级
1.2.1 算术运算符
a = 10 b = 20
| 运算符 | 描述 | 实例 |
|---|---|---|
| + | 加——两个数相加 | a + b 输出结果 30 |
| - | 减——得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
| * | 乘——两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
| / | 除——x 除以 y | b / a 输出结果 2 |
| % | 取模——返回除法的余数 | b % a 输出结果 0 |
| ** | 幂——返回x的y次幂 | a**b为10的20次方,输出结果100000000000000000000 |
| // | 取整数——返回商的整数部分(向下取整) | 9 // 2 ——>4 |
| () | 小括号 | 提高运算符优先级,比如(1+2)*3 |
print(10+20) # 30
print(20-10) # 10
print(10*20) # 200
print(10**2) # 100
print(20/10) # 2.0
print(20%10) # 0
print(20//10) # 2
print(10/3) # 3.3333333333333335
print(10%3) # 1
print(10//3) # 3
1.2.2 赋值运算符
a = 20
b = 10
c = 200
| 运算符 | 描述 | 实例 |
|---|---|---|
| = | 简单的赋值运算符 | 把 = 号右边的结果 赋给 左边的变量 如:num = 1 + 2 * 3,结果num的值为? |
| += | 加法赋值运算符 | 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 # 等价于c = c-a
print(c)
1.2.3 比较运算符
返回出来的都是bool类型
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 |
a = 10
b = 20
print(a == b)
print(a != b)
print(a > b)
print(a < b)
print(a >= b)
print(a <= b)
False
True
False
True
False
True
所有的比较运算符返回True(1)表示真,返回False(0)表示假
注意:True和False的首字母为大写
1.2.4 逻辑运算符
p为真命题,q为假命题,那么p且q为假,p或q为真,非q为真
and or not(全部是小写字母)
a = 10 b = 20
| 逻辑运算符 | 含义 | 基本格式 | 说明 |
|---|---|---|---|
| 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
print(not b) # True
逻辑运算符的本质
对于and运算符,两边的值都为真时最终结果才为真,但是只要有一个值为假,那么最终结果就是假,所以python按照下面的规则执行and运算:
-
如果左边表达式的值为假,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,都不会影响最终结果,最终结果都是假,此时and会把左边表达式的值作为最终结果
-
如果左边表达式的值为真,那么最终值是不能确定的,and会继续计算右边表达式的值,并且将右边表达式的值作为最终结果
对于or运算符,情况类似,两边的值都为假时最终结果才是假,只要其中有一个值为真,那么最终结果就是真,所以python按照下面的规则执行or运算:
-
如果左边表达式的值为真,那么就不用计算右边表达式的值了,因为不管右边表达式的值是什么,都不会影响最终结果,最终结果都为真,此时 or会把左边表达式的值作为最终结果
-
如果左边表达式的值为假,那么最终值是不能确定的,or会继续计算右边表达式的值,并且将右边表达式的值作为最终结果
1.2.5 成员运算符(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
1.2.6 身份运算符(is,is not)
| 运算符 | 描述 | 实例 |
|---|---|---|
| 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比较的结果是False,因为他们是不同的人
==比较的结果是True,因为他们都叫张三
is比较的是本质(也就是内存地址)
==比较的是表面(也就是值)
id() 可以查看某个变量或者是对象的内存地址
a = 5
b = 5.0
c = 5
print(id(a)) # 140726186084144
print(id(b)) # 3031667514064
print(id(c)) # 140726186084144
print(a == b) # True
print(a is b) # False
print(a is c) # True
1.2.7 运算符的优先级
| 运算符说明 | Python运算符 | 优先级 | 结合性 |
|---|---|---|---|
| 小括号 | ( ) | 19 | 无 |
| 乘方 | ** | 16 | 右 |
| 符号运算符 | +(正号)、-(负号) | 14 | 右 |
| 乘除 | *、/、//、% | 13 | 左 |
| 加减 | +、- | 12 | 左 |
| 比较运算符 | ==、!=、>、>=、<、<= | 7 | 左 |
| is 运算符 | is、is not | 6 | 左 |
| 逻辑非 | not | 4 | 右 |
| 逻辑与 | and | 3 | 左 |
| 逻辑或 | or | 2 | 左 |
算术运算符优先级大于比较运算符
比较运算符优先级大于逻辑运算符
逻辑运算符内部三个优先级:not>and>or
今天的分享就到这里啦,感谢大家的阅读喔~