美文网首页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正则表达式初识(一) Python正则表达式初识(二) Python正则表达式初识(三) Python...

  • 正则表达式

    Python:正则表达式Python:正则表达式

  • Python正则表达式指南

    Python正则表达式指南 本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达...

  • Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • python正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • 1-1 Python程序概念层级

    什么是Python程序概念层级? python分为4层:表达式 --> 语句 --> 模块 -->包 表达式 表达...

  • [转]python正则表达式(一) 函数使用

    原文:python | 史上最全的正则表达式 更全的正则表达式处理函数:在python中使用正则表达式(一) 0....

  • Python中的and和or表达式

    Python中的and和or表达式不同于其他常见语言中的逻辑表达式,由于Python中的if语句可以对所有表达式进...

  • [Python基础语法]表达式、语句和缩进

    这篇教程将向您展示关于Python表达式、语句和缩进的知识。 Python表达式 表达式是值(对象),变量和操作符...

  • Python正则表达式

    python正则表达式

网友评论

    本文标题:Python 表达式

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