美文网首页DataAn
Python 表达式

Python 表达式

作者: JunChow520 | 来源:发表于2019-03-25 02:55 被阅读43次

    表达式操作符

    • 算术运算
    • 逻辑运算:x or y , x and y, not x
    • 成员关系运算:x in y, x not in y
    • 对象实例测试:x is y, x is not y
    • 比较运算:x < yx > y, x >= y, x <= y
    • 等于比较 : x == y, x != y
    • 位运算:x | yx & yx ^ yx << y, x >> y
    • 一元运算:-x+x~x
    • 幂运算:x ** y
    • 索引和分片:x[i]x[i:j]x[i:j:stride]
    • 调用运算:x(...)
    • 取属性:x.attribute
    • 特殊运算:元组(...)、列表[...]、字典{...}
    • 三元选择表达式:x if y else z
    • 匿名函数相关表达式:lambda args:expression
    • 生成器函数发送协议:yield x

    运算优先级

    • (...)
    • s[i]s[i:j]
    • s.attribute
    • fn()
    • +x
    • x ** y
    • *, /, //, %
    • +, -
    • <<>>
    • &
    • ^
    • |
    • <, <=, >, >=, ==, !=
    • is, not is
    • in , not in
    • not
    • and
    • or
    • lambda

    语句

    • 赋值语句 =
    • 函数调用 fn()
    • 打印对象 print
    • 条件判断 if/elif/else
    • 序列迭代 for/else
    • 普通循环 while/else
    • 占位符 pass
    • 循环控制:breakcontinue
    • 函数定义 def
    • 函数返回 return
    • yield
    • 命名空间 global
    • 触发异常 raise
    • 导入模块 import
    • 模块属性访问 from
    • class
    • 异常捕获 try/except/finanlly
    • 删除引用 del
    • 调试检查 assert
    • 环境管理 with/as

    赋值语句

    print test
    NameError: name 'test' is not defined
    

    隐式赋值:importfromdefclassfor,函数参数

    元组和列表支持分解赋值:当赋值符号左侧为元组或列表时,python会按位置逐一对应,把右边的对象和左边的目标自左向右逐一进行匹配,当个数不同时会触发异常,此时可以切以切片的方式进行操作。

    tuple = ("sun", "sat", "mon")
    x,y,z = tuple
    print(x, y, z)
    

    多重目标赋值

    import sys
    
    n1 = n2 = n3 = 100
    print(n1, n2, n3)
    
    n1 = 101
    print(n1, n2, n3)
    
    sys.getrefcount(n1)
    

    增强赋值 +=-=*=/=//=%=

    流程控制 if测试

    条件测试:if 条件测试表达式

    python中比较操作

    • 所有python对象都支持比较操作
      • 可用于测试相等性、相对大小等
      • 复合对象中python会检查所有部分,包括自动便利各级嵌套对象,直到可以得出最终结果。
    • 测试操作符
      • ==操作符测试值的相等性
      • is表达式测试对象的一致性

    python中不同类型的比较方法

    • 数字:通过相对大小进行比较
    • 字符串:按照字典次序逐个字符进行比较
    • 列表和元组:自左向右比较各部分内容
    • 字典:对排序后的键、值列表进行比较
    a = 1
    b = 2
    c = 3
    
    print(a==b)
    
    str = "string"
    print(a == str)
    
    lst = ["x","y","z"]
    print(a == lst)
    
    lst2 = ["x", "y"]
    print(lst == lst2)
    
    lst3 = ["x", "y", "z"]
    print(id(lst), id(lst3), lst==lst3)
    
    print("x" in lst3)
    

    python中真和假的含义7

    • 非零数字为真否则为假
    • 非空对象为真否则为假
    • None始终为假
    • 数字0、空对象、特殊对象Null均为假
    • 比较和相等测试会递归地应用于数据结构中

    组合条件测试

    • 逻辑与 x and y
    • 逻辑或 x or y
    • 逻辑异或 x ^ y

    if 测试的语法结构

    • elif语句是可选的
    • 仅用于占位符,而后再填充相关语句时,可使用pass。
    if boolean_expression1:
        suite1
    elif boolean_expresssion2:
        suite2
    ...
    else
      else_suite
    

    例如

    x = 100
    y = 200
    
    if x>y :
        print "the max number is %d" % x
    else:
        print "the max num is %d" % y
    

    三元表达式

    A = X if Y else Z
    # 等价于
    if Y
      A = X
    else
     A = Z
    # 等价于
    expression1 if boolean_express else expression2
    

    最大值最小值

    a = 7
    b = 9
    
    max = a if a>b else b
    

    相关文章

      网友评论

        本文标题:Python 表达式

        本文链接:https://www.haomeiwen.com/subject/xflmvqtx.html