ThankNeko's Blog ThankNeko's Blog
首页
  • 操作系统

    • Linux基础
    • Linux服务
    • WindowsServer笔记
    • Ansible笔记
    • Shell笔记
  • 容器服务

    • Docker笔记
    • Kubernetes笔记
    • Git笔记
  • 数据库服务

    • MySQL笔记
    • ELK笔记
    • Redis笔记
  • 监控服务

    • Zabbix笔记
  • Web服务

    • Nginx笔记
    • Tomcat笔记
  • 数据处理

    • Kettle笔记
  • Python笔记
  • Bootstrap笔记
  • C笔记
  • C++笔记
  • Arduino笔记
  • 分类
  • 标签
  • 归档
  • 随笔
  • 关于
GitHub (opens new window)

Hoshinozora

尽人事,听天命。
首页
  • 操作系统

    • Linux基础
    • Linux服务
    • WindowsServer笔记
    • Ansible笔记
    • Shell笔记
  • 容器服务

    • Docker笔记
    • Kubernetes笔记
    • Git笔记
  • 数据库服务

    • MySQL笔记
    • ELK笔记
    • Redis笔记
  • 监控服务

    • Zabbix笔记
  • Web服务

    • Nginx笔记
    • Tomcat笔记
  • 数据处理

    • Kettle笔记
  • Python笔记
  • Bootstrap笔记
  • C笔记
  • C++笔记
  • Arduino笔记
  • 分类
  • 标签
  • 归档
  • 随笔
  • 关于
GitHub (opens new window)
  • Python笔记

    • 基础知识

      • 常见规范与运行方式
      • 变量与垃圾回收机制
      • 输入与格式化输出
      • 运算符
        • 算数运算符
        • 比较运算符
        • 赋值运算符
        • 逻辑运算符
        • 成员运算符
        • 身份运算符
      • 流程控制语句
      • 浅拷贝和深拷贝
      • 常用数据类型与分类
      • 数据类型方法
      • 字符编码
      • 文件操作
      • 函数与参数
      • 命名空间与作用域
      • 闭包函数与装饰器
      • 迭代器与生成器
      • 三元表达式与生成式
      • 函数递归
      • 面向过程式和函数式编程
      • 模块与包
      • 程序设计目录参考
      • 常用内置模块或函数
      • 序列化和猴子补丁
      • 日志模块-logging
    • 类与面向对象

    • 并发编程

    • Web编程

    • 模块笔记

    • 其他

  • C笔记

  • C++笔记

  • Arduino笔记

  • Dev
  • Python笔记
  • 基础知识
Hoshinozora
2023-02-15
目录

运算符

# 算数运算符

+ 加。

例如:10 + 10

- 减。

例如:10 - 5

* 乘。

例如:10 * 2

/ 除,结果带小数。

例如:10 / 3

// 地板除,结果不带小数,会向下取整数。

例如:10 // 3

% 取余。

例如:10 % 3

** 取次方。

例如:10 ** 3

# 比较运算符

== 等于。

!= 不等于。

> 大于。

< 小于。

>= 大于等于。

<= 小于等于。

# 赋值运算符

变量赋值:=

增量赋值:[变量名] [算数符]= [值]

同等于[变量名] = [变量名] [算数符] [值]

例如:+= -= /= 等

test += 1 同等于 test = test + 1

test -= 1同等于 test = test - 1

test /= 1 同等于 test = test / 1

链式赋值:[变量名1] = [变量名2] = ... = [值]

将1个值赋值给多个变量名。

例如:a = b = 10 同等于 a=10; b=a

交叉赋值:[变量名1],[变量名2] = [变量名2],[变量名1]

两个变量会交换值的内存地址。

例如:a, b = b, a

解压赋值:[变量名1],[变量名2],[变量名3]... = [列表名]

需要列表元素数量与变量名数量对应。

解压的是列表时,会将列表中的元素,解压赋值给对应的变量名。

解压的是字典时,会将字典中的key,解压赋值给对应的变量名。

[变量名1], [变量名2], *args = [列表名]

表示取出列表中的前两个元素赋值给变量名1和2,然后剩下的所有元素作为列表元素赋值给args变量。

*可以接收任意多个值作为列表元素,此处会将没有对应关系的值,作为列表赋值给跟在后面的变量名。

*args,[变量名1],[变量名2]=[列表名]

同上面类似,不过这是取后面的两个元素赋值给变量名1和2。

# 逻辑运算符

非(not):not 条件

将条件判断的结果取反。

与(and):条件1 and 条件2 and 条件3...

只有所以条件同时为真时,最终结果才为真。

如果前面有条件为假,后面的条件就不会再判断,直接返回假。

或(or):条件1 or 条件2 or 条件3...

只要其中一个条件为真,最终结果就为真。

如果前面有条件为真,后面的条件就不会再判断,直接返回真。

逻辑运算符优先级:not > and > or

如就只是一串and连接,或者只是一串or连接,则是按照从左到右的顺序依次判断。

但如果是混用,则需要考虑优先级,我们可以使用括号来改变运算优先级,例如:not (1 > 1 and 1 ==0)

要尽量避免使用太多混用的判断,对于不得不混用,可以用括号在不改变优先级的情况下,使可读性更高。例如:

原始:3>4 and not 4>3 or 1==3 and 'x' == 'x' or 3>3

变成:(3>4 and (not 4>3)) or (1==3 and 'x' == 'x') or 3>3

原始:3>4 and 1>2 and 3>2 or 'x' == 'x' and 3>3

变成:(3>4 and 1>2 and 3>2) or ('x' == 'x' and 3>3)

# 成员运算符

判断子是否在父中:in

字符串:"子字符串" in "父字符串"

判断子字符串是否在父字符串中。

例如:print("test" in "this is test") 其结果为真。

列表:元素 in 列表名

判断某个元素是否在列表中。

例如:print(1 in [1,2,3]) 其结果为真。

字典:key in 字典名

判断某个key是否在字典中。

例如:print('k1' in {'k1':666, 'k2':777}) 其结果为真。

判断子是否不在父中:not in

同等于in的结果取反,例如:

1 not in [1,2,3]) 同等于 not(1 in [1,2,3])

# 身份运算符

is 判断变量的内存空间id是否相等。

变量名1 is 变量名2 同等于 id(变量名1) == id(变量名2)。

#运算符
输入与格式化输出
流程控制语句

← 输入与格式化输出 流程控制语句→

最近更新
01
二〇二五年四月十七日随笔
04-17
02
二〇二五年四月十六日随笔
04-16
03
二〇二五年四月九日随笔
04-09
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Hoshinozora | MIT License
湘ICP备2022022820号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式