• 文章目录

    • 1、序:
    • 2、输入函数input()
    • 3、Python中的运算符
      • 3.1 算术运算符
      • 3.2 赋值运算符(=)
      • 3.3 比较运算符
      • 3.4 布尔运算符
      • 3.5 位运算符中的左右运算符

1、序:

到现在访问量超过2000了,真的非常感谢各位的支持和鼓励,我也会继续和大家分享学习Python的相关知识和经验,也会用心写好每一篇文章,也希望各位看完后能够有所裨益,如我有任何纰漏各位前辈和同学也可以在评论区指出,我也一定会虚心接受并在后续改正,如对文章的编写有所建议也希望各位不吝赐教;好啦,下面开始我们今天的基础语法分享啦,可不要犯困哟。(ps:今天学习下了排版,可能会比之前美观一丢丢)

2、输入函数input()

  • Python入门基础语法知识1中讲到了输出函数print(),为了实现人机交互当然少不了输入函数input()啦;
  • 输入函数input()的作用是:接受来自用户的输入;它的输入值得类型为str类型;通过=将输入的值进行储存,将输入的值储存在=左边的变量名中;
  • 由于input函数输入的是str类型,所以在特定情况需要进行数据类型的转化;
  • 详情见下述代码(下述input函数会比较基础,后续会有内容深入):
# 开发时间:2020/11/2 22:19
name=input('What\'s your name?')   # 将输入的值储存在变量名name中
print(name)

# 由于input函数输入的是str类型,所以在特定情况需要进行数据类型的转化
n1 = int(input('请输入第一个整数:'))  # int(xxxxx)  将input输入的str类型转换成int(整数)
n2 = int(input('请输入第二个整数:'))
print(n1 + n2)
  • 运行结果如下:
E:\Python\python.exe E:/py/CSDN博客/语法3.py
What's your name?Jack
Jack
请输入第一个整数:3
请输入第二个整数:4
7

Process finished with exit code 0

3、Python中的运算符

3.1 算术运算符

  • 算数运算符简单的为:加减乘除幂,由于加减乘除幂没太多值得注意的,所以不展开论述(我觉得主要是除法的除数不能为零);
  • 除法的商的数据类型是float类型(就算除数和被除数都是整数且没有余数),输出结果也是浮点数;
  • 取余运算(%),简言之也就是取余数,其公式为:余数=被除数-除数*商;
  • 整除(//),整除的结果是小于等于(<=)商的最小整数,如:5//2=2 (小于5/2的商2.5) 5//-2=-3 (小于5/-2的商-2.5),一正一负向下取整;
  • 详情见下述代码:
# 开发时间:2020/11/2 22:19
# 算术运算符
print(1 + 1, '\t', 3 - 2, '\t', 3 * 2, '\t', 4 / 2,type(4/2))  # 为了避免文章页面过长,就将加减乘除放在一起
print(3 % 2, '\t', 15 % -6)  # 取余运算 余数=被除数-除数*商
print(3 // 2, '\t', 3 // -2)  # 取整运算 一正一负往下取整

  • 运行结果如下:
E:\Python\python.exe E:/py/CSDN博客/语法3.py
2 	 1 	 6 	 2.0 <class 'float'>
1 	 -3
1 	 -2

Process finished with exit code 0

3.2 赋值运算符(=)

  • 支持链式赋值:a=b=c=1,他们三个的value都是一样的,所以不会开新的储存空间,他们的id值是相同
  • 支持参数赋值:就是在=前面加上算数运算符,如:+=、-=、/=、*=;
  • 支持系列解包赋值:a,b,c,d=1,2,3,4 ,解包赋值的优点是:可以在不需要中间变量的情况下就可以将两个数的值进行交换,如:a,b=b,a 就可以将a、b两数的值进行交换,系列解包赋值需要注意的是等号左边的变量数和右边的值的个数需要相等,否则会报错
  • 具体见如下代码:
# 开发时间:2020/11/2 22:19
# 赋值运算
a = 2
b = 2
c = d = e = 1  # 链式赋值
print(a, b, id(a), id(b))  # d、e的值都是2,所以将他们储存到一个储存空间,相当于两个变量指向该储存空间
print(c, d, e, id(c), id(d), id(e))

# 参数赋值
a += 12  # 相当于a=a+12
print(a)
a -= 3  # 相当于a=a-3
print(a)
a *= 4  # 相当于a=a*4
print(a)
a /= 2  # 相当于a=a/2
print(a)
a %= 6  # 相当于a=a%2
print(a)
a //= 2  # 相当于a=a//2
print(a)
a **= 4  # 相当于a=a**4
print(a)

# 系列解包赋值
a, b, c = 1, 2, 3
print(a, '\t', b, '\t', c)
print('交换之前:', a, '\t', b)
a, b = b, a  # 将a的值赋给b,将b的值赋给a,  赋值运算是从右到左实现的
print('交换之后:', a, '\t', b)

运行结果如下:

E:\Python\python.exe E:/py/CSDN博客/语法3.py
2 2 8791240414912 8791240414912
1 1 1 8791240414880 8791240414880 8791240414880
14
11
44
22.0
4.0
2.0
16.0
1 	 2 	 3
交换之前: 1 	 2
交换之后: 2 	 1

Process finished with exit code 0

3.3 比较运算符

  • 比较运算符是对变量或表达式的结果进行大小、真假等进行比较;
  • 比较大小:<(小于)、>(大于)、<=(小于等于)、>=(大于等于) ,进行比较大小的运算符返回的结果是布尔类型;
  • 比较对象的value值:==;
  • 比较对象的id值:is 、 is not;
  • 具体见如下代码:
# 开发时间:2020/11/2 22:19
# 比较运算符
a = 'hello'
b = 'Python'
c = 'hello'
print(1 < 2)  # True
print(1 > 2)  # False
print(1 <= 2)  # True
print(1 >= 2)  # False
print('--------------------------------')
print(a == b)  # False  比较a和b的value值
print(a is b)  # False  比较a和b的id值
print(a == c)  # True   比较a和c的value值,hello=hello
print(a is c)  # True   比较a和c的id值, 由于a和c的value值相等,所以没开新的储存空间,所以他们的id一样
print(a is not b)  # True   a和b的id值不同,所以是True

运行结果如下:

E:\Python\python.exe E:/py/CSDN博客/语法3.py
False
False
True
True
True

Process finished with exit code 0

3.4 布尔运算符

  • 布尔运算是对于布尔值之间的运算,布尔运算符有:and、or、in、not in、not;
  • and:只有当and两边的布尔值都是True的时候才是True,其余均是False;
  • or:只有当or两边的布尔值都是False的时候才是False,其余均为True;
  • in:判断某某是否在判断的对象中,返回的值为布尔值,存在为True,反之为False;
  • not in:判断某某不在判断的对象中,返回值也是布尔值,不存在为True,反之False;
  • not:取反,也就是not True的返回值就是False;
  • 详情见下述代码(后续会和多个知识串联,下述为基础):
# 开发时间:2020/11/2 22:19
# 布尔运算符
m1 = 'improve yourselves'
print(True and True)   # True  只有and两侧的布尔值都是True的时候返回值结果才是True,其余均为False
print(True and False)  # False
print(False or False)  # False 只有or两侧的布尔值都是False的时候返回值结果才是False,其余均为True
print(True or False)   # True
print('your' in m1)    # True    your在m1中存在
print('your' not in m1)  # False   your在m1中存在,所以not in 结果为False
print(not False)  # True   取反,False取反为True
print(not True)   # False  取反,True取反为False

运行结果如下:

E:\Python\python.exe E:/py/CSDN博客/语法3.py
True
False
False
True
True
False
True

Process finished with exit code 0

3.5 位运算符中的左右运算符

  • 左移运算符<<: a<<b 相当于直接调用:int(a * 2**b);
  • 右移运算符>>: a>>b 相当于直接调用:int(a / 2**b);【需要注意幂运算的优先级在乘除之前】
  • 详情见下述代码:
# 左移运算符 <<   右移运算符 >>
print(3 << 1)  # <<1 表示左移一位,相当于乘以2^1  
print(3 << 4)  # <<4 表示左移四位,相当于乘以2^4
print(8 >> 1)  # >>1 表示右移一位,相当于除以2^1
print(8 >> 3)  # >>3 表示右移三位,相当于除以2^3

运行结果如下:

E:\Python\python.exe E:/py/CSDN博客/语法3.py
6
48
4
1

Process finished with exit code 0

好啦,文章到这里就结束了,再次感谢各位前辈和同学的支持和鼓励,下次见啦
ღ( ´・ᴗ・` )笔芯

原文链接:https://blog.csdn.net/qq_45227014/article/details/109455987

最后修改日期:2020年11月6日