• 【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浮点型数据,我们需要在源头进行转换:

    1. age = int(input())
    2. weight = float(input())

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

    1. a = input('How do you do?')
    2. >> How do you do?

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

    2、sys.stdin.readline() 方法

    在使用sys.stdin.readline()前,我们需要先导入Python的内置模块sys。同input()有着同样输入功能的是sys.stdin.readline(),它同input()一样默认返回字符串,因此,同样适用强制类型转换的方法。与input()不同的点在于,sys.stdin.readline()会将标准输入全部获取,包括末尾的'\n' ,因此我们可以将它与strip()一起使用,在某些时候以此来将末尾不必要的换行符去掉:

    1. import sys
    2. 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、算术运算符

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

    1. a = 10
    2. print(type(a))
    3. a /= 3
    4. print(type(a))
    5. >> <class 'int'>
    6. >> <class 'float'>

    除此之外还有幂运算' ** ', 整除运算' // ', 取余运算' % ' 

    需要注意的点是在整除运算中,除数和被除数在一正一负的前提下,需要向下取整

    1. print(10 // 3)
    2. print(16 // -5)
    3. print(-7 // 2)
    4. >> 3
    5. >> -4
    6. >> -4

    在取余运算中 ,遇到一正一负进行计算的情况下,如果手动计算,则需按照 余数 = 被除数 - 除数 * 商 公式进行,

    1. print(9 % 4)
    2. print(9 % -4)
    3. >> 1
    4. >> -3

    2、赋值运算符

    执行顺序:右 → 左

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

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

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

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

    3、比较运算符

    对变量或者表达式的结果进行大小or真假等的比较,常见的比较运算符有:

    >,<,>=,<=,!=,==,is,is not

    比较运算符的结果为bool类型

    1. a, b = 4, 59
    2. print('a > b吗?', a > b)
    3. print('a <= b吗?', a <= b)
    4. print('a == b吗?', a == b)
    5. >> a > b吗? False
    6. >> a <= b吗? True
    7. >> a == b吗? False

    4、布尔运算

    常见的布尔运算符有:

    and,or,not,in,not in

    1. a, b = 1, 2
    2. print(a == 1 and b == 2)
    3. print(a > 2 and b == 2)
    4. print(a <= 1 or b >= 2)
    5. print(a > 1 or b == 2)
    6. f1 = True
    7. f2 = False
    8. print(not f1)
    9. print(not f2)
    10. >> True
    11. >> False
    12. >> True
    13. >> True
    14. >> False
    15. >> True

    5、位运算符

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

    位与 &:对应数位都是1,结果才为1,否则为0

    位或 |:对应数位都是0,结果才为0,否则为1

    左移位运算符 <<:高位溢出则舍弃,低位补0

    右移位运算符 >>:低位溢出则舍弃,高位补0

    1. print(4 & 8)
    2. print(4 << 1)
    3. print(4 >> 1)
    4. print(4 | 8)
    5. print(4 << 2)
    6. print(4 >> 2)
    7. >> 0
    8. >> 8
    9. >> 2
    10. >> 12
    11. >> 16
    12. >> 1

    6、运算符的优先级

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

  • 相关阅读:
    强缓存与协商缓存
    软考高级系统架构师_计算机组成与结构02_高速缓存_磁盘结构_输入输出技术_总线结构_可靠性_---软考高级系统架构师005
    C++11(二)右值引用&&移动语义
    ERC721解读
    HTML + HTTP请求 +CSS知识点
    Java项目:基于ssh的酒窖酒水管理系统
    深入理解Java虚拟机(第3版)学习笔记——Tomcat与OSGI中的类加载机制
    SpringMVC(下)
    CommonJs和Es Module的区别
    什么是人工智能 人工智能简介
  • 原文地址:https://blog.csdn.net/yewanyuan/article/details/126597745