【Python基础入门6】Python的输入与运算符

目录

一、关于Python的输入

1、input()函数

2、sys.stdin.readline() 方法

二、关于运算符

1、算术运算符

2、赋值运算符

3、比较运算符

4、布尔运算符

5、位运算符

6、运算符的优先级


一、关于Python的输入

1、input()函数

众所周知,我们在Python中想输入数据赋给变量时,需要用到input()函数,例如:

name = input()

在上面的代码中,“name”为变量,“=”为赋值运算符,“input()函数”为输入函数。

在默认情况下,无论我们在终端输入的是什么,整数也好字符串也好,它最终返回的类型均为字符串类型。因此,如果想要让我们的变量赋到整数型数据or浮点型数据,我们需要在源头进行转换:

age = int(input())
weight = float(input())

当然,如果想在终端输入时有问题引导,我们可以在input()中用引号进行输入补充,例如:

a = input('How do you do?')

>> How do you do?

之后,我们可以在问号后面,继续输入内容

2、sys.stdin.readline() 方法

在使用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/OdpNvhttp://t.csdn.cn/OdpNv

二、关于运算符

1、算术运算符

常见的就是 +,-,*,/ 四种运算符,值得注意的是变量在除'/'后的类型变换:

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

2、赋值运算符

执行顺序:右 → 左

支持链式赋值 → a = b = c = 10

支持参数赋值 → +=、-=、*=、/=,//=,%=

支持系列解包赋值 → a, b, c = 3, 6, 9

支持交换变量值 → a, b = b, a

3、比较运算符

对变量或者表达式的结果进行大小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

4、布尔运算符

常见的布尔运算符有:

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

5、位运算符

作用:将数据转成二进制进行计算

位与 &:对应数位都是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

6、运算符的优先级

() > 算术 > 位 > 比较 > 布尔 > 赋值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸢想睡觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值