目录
众所周知,我们在Python中想输入数据赋给变量时,需要用到input()函数,例如:
name = input()
在上面的代码中,“name”为变量,“=”为赋值运算符,“input()函数”为输入函数。
在默认情况下,无论我们在终端输入的是什么,整数也好字符串也好,它最终返回的类型均为字符串类型。因此,如果想要让我们的变量赋到整数型数据or浮点型数据,我们需要在源头进行转换:
- age = int(input())
- weight = float(input())
当然,如果想在终端输入时有问题引导,我们可以在input()中用引号进行输入补充,例如:
- a = input('How do you do?')
-
- >> How do you do?
之后,我们可以在问号后面,继续输入内容
在使用sys.stdin.readline()前,我们需要先导入Python的内置模块sys。同input()有着同样输入功能的是sys.stdin.readline(),它同input()一样默认返回字符串,因此,同样适用强制类型转换的方法。与input()不同的点在于,sys.stdin.readline()会将标准输入全部获取,包括末尾的'\n' ,因此我们可以将它与strip()一起使用,在某些时候以此来将末尾不必要的换行符去掉:
- import sys
-
-
- a = sys.stdin.readline().strip('\n')
值得一提的是,既然sys.stdin.readline()和input()有着相同的功能那我们为什么还要多花时间去写更长且自带麻烦 '\n' 的sys.stdin.readline()呢?在一些情况下(说不准)sys.stdin.readline()输入的速度比input()更快,尤其是在输入量比较大的时候,sys.stdin.readline的输入速度比input要快很多。
更多输入的相关内容,可移步http://t.csdn.cn/OdpNv
http://t.csdn.cn/OdpNv
常见的就是 +,-,*,/ 四种运算符,值得注意的是变量在除'/'后的类型变换:
- a = 10
- print(type(a))
- a /= 3
- print(type(a))
-
- >> <class 'int'>
- >> <class 'float'>
除此之外还有幂运算' ** ', 整除运算' // ', 取余运算' % '
需要注意的点是在整除运算中,除数和被除数在一正一负的前提下,需要向下取整:
- print(10 // 3)
- print(16 // -5)
- print(-7 // 2)
-
-
- >> 3
- >> -4
- >> -4
在取余运算中 ,遇到一正一负进行计算的情况下,如果手动计算,则需按照 余数 = 被除数 - 除数 * 商 公式进行,
- print(9 % 4)
- print(9 % -4)
-
- >> 1
- >> -3
执行顺序:右 → 左
支持链式赋值 → a = b = c = 10
支持参数赋值 → +=、-=、*=、/=,//=,%=
支持系列解包赋值 → a, b, c = 3, 6, 9
支持交换变量值 → a, b = b, a
对变量或者表达式的结果进行大小or真假等的比较,常见的比较运算符有:
>,<,>=,<=,!=,==,is,is not
比较运算符的结果为bool类型
- a, b = 4, 59
- print('a > b吗?', a > b)
- print('a <= b吗?', a <= b)
- print('a == b吗?', a == b)
-
- >> a > b吗? False
- >> a <= b吗? True
- >> a == b吗? False
常见的布尔运算符有:
and,or,not,in,not in
- a, b = 1, 2
- print(a == 1 and b == 2)
- print(a > 2 and b == 2)
- print(a <= 1 or b >= 2)
- print(a > 1 or b == 2)
- f1 = True
- f2 = False
- print(not f1)
- print(not f2)
-
- >> True
- >> False
- >> True
- >> True
- >> False
- >> True
作用:将数据转成二进制进行计算
位与 &:对应数位都是1,结果才为1,否则为0
位或 |:对应数位都是0,结果才为0,否则为1
左移位运算符 <<:高位溢出则舍弃,低位补0
右移位运算符 >>:低位溢出则舍弃,高位补0
- print(4 & 8)
- print(4 << 1)
- print(4 >> 1)
- print(4 | 8)
- print(4 << 2)
- print(4 >> 2)
-
- >> 0
- >> 8
- >> 2
- >> 12
- >> 16
- >> 1
() > 算术 > 位 > 比较 > 布尔 > 赋值