zoukankan      html  css  js  c++  java
  • 第三章 运算符与表达式

    数字对象的运算

     “//”代表整除,对int和float都适用,“/”代表正常的除法,有余数
    对于复数,区域和截取除法是无效的

    >>> 3//2
    1
    >>> 3/2
    1.5
    >>> 1.5//0.3
    5.0
    >>> 1.5/0.3
    5.0
    >>> 1.5//0.4
    3.0
    >>> 1.5/0.4
    3.75
    
    

    优先级: 一元运算符 》 乘方 》乘法 》 除法 》加减法

    Python的运算符绝大多数都是从左边开始的,只有两个特例,乘方(**)和条件表达式运算符是从右边开始的

    >>> 5 or (8 if 5>6 else 0)
    5
    >>> 5 or 8 if 5>6 else 3  
    3
    // 条件表达式运算符的优先级比逻辑运算符低

    关系运算

    不允许对复数进行比较

    当操作数数同一类型时,比较才有效,如果不相同,会进行强制的进制转换。

    逻辑运算

    not a:如果a是false,返回1.否则返回0

    a and b: 如果a是false,返回a,否则返回b。

    a or b: 如果a是false,反馈b,否则反馈a。

    总结,逻辑运算就是讲第一个使得该命题最有可能的条件返回出来,同时,逻辑运算的结合性是从左到右的,对于and运算符,只有and左边的值是false的时候,才继续计算右边的数。同理,对于 or 运算符,只有or左边的数是false的时候,才继续计算右边的值。

    运算符

    左移,右移,按位与(&),按位或(|),按位异或(^)(相同的时候返回0,不同的时候返回1)

    ~(按位求反)

    1.3
    >>> 1 if 3 else 4
    1
    >>> 1 if 0 else 4
    4
    >>> 
    

    运算方式。先计算中间的条件,如果中间的是true,那么计算左边的,否则计算右边的。

    条件表达式的结合性

    >>> 1 if 3>2 else 2 if 5>6 else 3
    1
    >>> (1 if 3>2 else 2) if 5>6 else 3
    3
    

    从右边开始,到左边结束。

     常用函数

    input函数

    >>> x= input('x= ')
    x= 34
    >>> x
    '34'
    >>> x=float(input('x='))
    x=34
    >>> 
    >>> x
    34.0
    

    print函数

    >>> print(1,2,3,sep='%%%',end='
    ')// 按照什么分隔开,换行符。
    1%%%2%%%3
    

    eval函数

    实现从字符串向数字的转换

    具体格式 eval(字符串,【字典【,映射】】)

    str函数

    将数字对象,列表对象,元祖,集合转换为字符串,还可以进行运算。

    >>> str(1+2)
    '3'
    >>> str([1,2,3])
    '[1, 2, 3]'
    >>> str((1,2,3))
    '(1, 2, 3)'
    

    range函数(左闭右开)

    >>> x=range(10)
    >>> x[2]
    2
    >>> x[1]
    1
    >>> x[0]
    0
    >>> x[10]
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    IndexError: range object index out of range
    

    enumerate函数

    是一个可迭代对象,s返回的是一个迭代器。

    数学函数库的函数应用

    导入方法:import <库名>  或者 from<库名> import <函数名>

    >>> import math
    >>> math.sqrt(3)
    1.7320508075688772
    

    ceil函数(往上取整)

    >>> import math
    >>> math.ceil(1.2)
    2
    >>> math.ceil(-1.2)
    -1

     trunc函数(往下取整)

    >>> math.trunc(1.2)
    1
    

    factorial函数

    当x是整数的时候,返回x的阶乘,否则返回错误信息

    >>> math.factorial(19)
    121645100408832000
    >>> math.factorial(1,2)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: factorial() takes exactly one argument (2 given)
    

    isinf函数,判断是不是超过最大值,如果是,返回true,否则返回false。正常的值的话,-1.7e308~1.7e308。

    isnan函数

    当x不是数字的时候,返回true,否则返回false(这里的数字指的是在数据范围里面的数,如果超过了这个范围,就不认为是数字了,返回true)。(两个nan之间无法比较)

    常用的字符串方法

    find函数

    >>> s="abcd"
    >>> s.find("bc")
    1
    >>> s.find("bc",2,3)
    -1
    >>> s.find("bc",1,3)
    1
    >>> s.find("bc",1,2)
    -1
    

    lower函数和islower函数

    
    >>> s="ABCS_12"
    >>> s.lower()
    'abcs_12'
    >>> s.islower()
    False
    >>> s="avc"
    >>> s.islower()
    True
    

    split函数

    以原字符串s中的分隔符作为拆分依据,拆分字符串s,返回一个列表,当不指定分隔符的时候,说明原字符串中的分隔符是空格。

    >>> s="ab,cd,1234,xy"
    >>> s.split(sep=',')
    ['ab', 'cd', '1234', 'xy']
    >>> s="ab cd 123  xy"
    >>> s.split()
    ['ab', 'cd', '123', 'xy']
    >>> 
    

    strip函数

    删除字符串两边的空格或者指定的字符

    >>> s="  %%123%%  "
    >>> s.strip()
    '%%123%%'
    >>> s.strip('%')
    '  %%123%%  '
    >>> s
    '  %%123%%  '
    >>> s.strip('%')
    '  %%123%%  '
    >>> s1=s.strip()
    >>> s1
    '%%123%%'
    >>> s1.strip('%')
    '123'
    >>> s='%%123%%'
    >>> s
    '%%123%%'
    >>> s.strip('%')
    '123'
    >>> 
    

    fromhex函数,用十六禁止创建一个字节串对象,可以容忍十六禁止数串中的空格。

    hex函数,将字节串转换为16进制的数。

    decode函数,讲字节串转换为字符串。如果不特指编码参数,就是“UTF-8 ”编码。

  • 相关阅读:
    [LeetCode] 493. Reverse Pairs 翻转对
    [LeetCode] Super Washing Machines 超级洗衣机
    [LeetCode] Perfect Number 完美数字
    [LeetCode] 483. Smallest Good Base 最小的好基数
    [LeetCode] Sliding Window Median 滑动窗口中位数
    [LeetCode] Diameter of Binary Tree 二叉树的直径
    [LeetCode] 01 Matrix 零一矩阵
    [LeetCode] Convert BST to Greater Tree 将二叉搜索树BST转为较大树
    [LeetCode] Reverse String II 翻转字符串之二
    [LeetCode] Minimum Time Difference 最短时间差
  • 原文地址:https://www.cnblogs.com/letlifestop/p/10262822.html
Copyright © 2011-2022 走看看