Python学习2020103(运算符、输入输出)

    科技2022-07-11  86

    文章目录

    一、运算符1.算术运算符*///:除法取商%:除法取余数**: 2.赋值运算符单变量多变量复合的赋值运算符 3.关系运算符关系表达式实数比较关系运算符链 4.逻辑运算符5.成员运算符6.同一运算符 二、输入与输出1.标准输入输出(IO)1.1标准输入input()1.1.1 Python2.x1.1.2 Python3.x 1.2标准输出1.2.1 print()1.2.2 表达式 2.格式化输出2.1 字符串格式化%2.2 字符串的format方法2.2.1 "{序号}"形式2.2.1 "{序号:格式说明符}"形式2.2.1 "{序号/键:格式说明符}"形式

    一、运算符

    1.算术运算符

    +  -  *  / 取整//  求幂**  取模(求余)%

    *

    数值型数据:乘法; 序列类型:对内容进行重复

    >>> 2*3 6 >>> 'ab'*5 'ababababab'

    /

    Python2.x中两个数据中只要有浮点数,结果就为浮点数 Python3.x中结果全为浮点数

    >>> 3/2 1.5 >>> 3.5/2 1.75

    //:除法取商

    >>> 3.0//5 0.0 >>> 3//5 0 >>> 12/5 2.4 >>> 12//5.0 2.0

    %:除法取余数

    >>> 5%3 2 >>> -5%3 1 >>> 5%-3 -1 >>> 10.5%2.1 #有误差 2.0999999999999996

    **:

    >>> 2**3 8 >>> 4*3**2 #先乘方再乘法 36

    2.赋值运算符

    单变量

    变量=表达式

    >>> y=2 >>> x=(y+2)/5 >>> x 0.8

    多变量

    链式赋值:将同一个值赋给多个变量

    >>> x=y=5 >>> x 5 >>> y 5

    并行赋值: 变量1,变量2,…,变量n=表达式1,表达式2,…,表达式n 等号右边执行过程:从左至右

    >>> x,y,z=1,3,5 >>> x,x=1,2 >>> x 2

    交换数据:x,y=y,x

    复合的赋值运算符

    += -= *= /= //= **= %= >>= <<= &= |= ^= a+=3等价于a=a+3 a*=a+3等价于a=a*(a+3)

    3.关系运算符

    > >= < <= (优先级高) == !=(优先级低) 结合方向:自左向右

    关系表达式

    <表达式>关系运算符<表达式> 注意符号区别"=“与”=="

    >>> x,y,z=2,3,5 >>> x<y True >>> z<y False >>> x<y<z True

    浮点数进行一系列运算可能会发生四舍五入的情况,如:

    >>> x=123456 >>> y=-111111 >>> z=1.2345678 >>> a=(x+y)+z >>> b=x+(y+z) >>> a 12346.2345678 >>> b 12346.234567799998

    实数比较

    可通过绝对误差(或相对误差)的形式给出,写为:

    >>> a==b False >>> import math >>> math.fabs(a-b)<0.0000001 True

    关系运算符链

    即关系运算符连用

    >>> x=5 >>> 0<=x<=10 True >>> 0<=x<=3 False

    4.逻辑运算符

    and:逻辑与:均真为真,否则为假(双目、三目运算) or:逻辑或:均假为假,否则为真 not:逻辑非:与表达式相反(单目运算) 优先级:非>与>或 求值原则:从左向右(第一个表达式能决定结果的,不再计算后面的表达式)

    例子:判断字符变量ch是否是 (1)数字字符: ch>=‘0’ and ch<=‘9’ (2)英文字母: (ch>=‘A’ and ch<=‘Z’) or (ch>=‘a’ and ch<=‘z’) 判断整形变量x是否在0到100之间: x>=0 and x<=100 0<=x<=100

    5.成员运算符

    in 和 not in 判断某一个元素是否在某一个序列中,或者判断一个字符是否属于某个字符串等,运算结果为True或False 左结合

    >>> 'a'in'abcd' True >>> 'ac'in'abcd' False >>> 'ab'in'abcd' True >>> 3 not in [1,2,3,4] False

    6.同一运算符

    is 和 is not 用于测试两个变量是否指向同一个对象(id是否相同),其运算结果为逻辑值 左结合 is与==的区别:==用来比较判断两个对象的值是否相等;is比较判断的是对象间的唯一身份标识 浮点数:

    >>> x=y=3.5 >>> z=3.5 >>> x is y True >>> x is z False

    整数:(Why?)

    >>> x=y=1 >>> z=1 >> x is y True >>> x is z True

    二、输入与输出

    1.标准输入输出(IO)

    ①一般一个程序分三步进行:输入原始数据、进行计算处理、输出运算结果 ②标准输入输出指利用键盘输入输出

    1.1标准输入input()

    一般格式:input([提示字符串])

    1.1.1 Python2.x

    ①函数返回结果的类型由输入时使用的界定符来决定: >>>x=input("Please enter your input:") Please enter your input:5整数;'5'字符串;[1,2,3]列表;(1,2,3)元组 ②提供raw_input()函数,将所有用户的输入都作为字符看待,返回字符串类型 5→'5';(1,2,3)→'(1,2,3)'

    1.1.2 Python3.x

    ①仅保留了input()函数,接收任意输入,将所有输入默认为字符串处理

    >>> x=input("Please enter your input:") Please enter your input:5 >>> type(x) <class 'str'> >>> x=input("Please enter your input:") Please enter your input:(1,2,3) >>> type(x) <class 'str'>

    ②如果要输入数值类型数据,可以使用类型转换函数将字符串转换为数值

    >>> x=int(input("Please enter your input:")) Please enter your input:5 >>> type(x) <class 'int'>

    ③input()函数也可给多个变量赋值

    >>> x,y=eval(input()) #等价于x,y=(3,4) 3,4 >>> x 3 >>> y 4

    eval([字符串])功能:将字符串str当成有效的表达式来求值并返回计算结果

    >>> x=5 >>> eval('3*x') 15 >>> eval('print(x)') 5

    1.2标准输出

    1.2.1 print()

    Python3.x中使用print()函数输出(Python2.x中使用print语句输出)

    print()函数的一般形式: print([输出项1,输出项2,…,输出项n][,sep=分隔符][,end=结束符])

    >>> x,y=2,3 >>> print(x,y) 2 3 >>> print(x,y,sep=':') 2:3 >>> print(x,y,sep=':',end='%') 2:3%

    1.2.2 表达式

    >>> str="hello" >>> str 'hello' >>> 2**4 16

    2.格式化输出

    print()函数可以按照指定的输出格式在屏幕上输出相应的数据信息 基本做法:将输出项格式化,然后使用表达式的形式print()函数输出

    2.1 字符串格式化%

    格式控制字符串%(输出项1,输出项2,…,输出项n) 常规字符:包括可显示的字符和用转义字符表示的字符 格式控制符:决定所对应的输出项的格式,以%开头的一个或多个字符

    >>> print("sum=%o"%123) #将123用八进制表示 sum=173 常用格式说明符 字母格式d或i十进制格式o八进制格式x、X十六进制格式c一个字符格式s字符串格式f实数格式e、E指数格式g、Ge和f中较短一种格式 附加格式说明符

    一般形式:%[附加格式说明符]格式符

    >>> value=8.123 >>> print('%6.2f'%value)#占6个列宽,2位小数,靠右对齐,左边空格 8.12 >>> print('.2f'%value)#占6个列宽,2位小数,靠右对齐,用0补足 008.12 >>> print('%-04X-'%(10,100))#10用16进制,占4个列宽,左对齐;100用十进制,占2个列宽,右对齐(100比2位多,不用补空格) A 100 >>> print('%.2e'%1.2888)#将1.2888以指数形式输出,保留2位小数 1.29e+00

    2.2 字符串的format方法

    一般形式: 格式字符串.format()(输出项1,输出项2,…,输出项n) 其中,格式字符串一般形式为: {[序号或键]:格式说明符}

    2.2.1 "{序号}"形式

    序号从0开始

    >>> "{} {}".format("hello","world") 'hello world' >>> "{0} {1}".format("hello","world") 'hello world' >>> "{1}{0} {1}".format("hello","world") 'worldhello world'

    2.2.1 "{序号:格式说明符}"形式

    >>> "{0:.2f},{1}".format(3.1415926,100) '3.14,100'

    2.2.1 "{序号/键:格式说明符}"形式

    >>> "{0},pi={x}".format("圆周率",x=3.14) '圆周率,pi=3.14'
    Processed: 0.032, SQL: 8