Python-变量、运算符与数据类型

date
Apr 29, 2022
slug
Python-变量、运算符与数据类型
status
Published
tags
Python
summary
type
Post

变量、运算符与数据类型

变量

  • 在使用变量前,需要现对其赋值
  • 变量名可以包括字母、数字、下划线,但不能以字母开头
  • python 变量名大小写是敏感的

运算符

  • 算数运算符
    • 加(+)、减(-)、乘(*)、除(/)、整除(//)、取余(%)、幂(**)
  • 比较运算符
    • 大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、等于(==)、不等于(!=)
  • 逻辑运算符
    • 与(and)、或(or)、非(not)
  • 位运算符
    • 按位取反(~)、按位与(&)、按位或(|)、按位异或(^)、左移(<<)、右移(>>)
  • 三元运算符
    • 其他运算符
      • 存在(in)、不存在(not in)
        是(is)、不是(not is)

    数据类型

    int整型 <class 'int'>float浮点型<class 'float'>bool布尔型<class 'bool'>
    1. 整型
      1. 浮点型
        1. 布尔型
          在python中万物皆对象(object),基本数据类型也不例外,只要是对象就有相应的属性(attributes)和方法(methods)。
          获取类型信息
          1. type()
            1. isinstance()
              1. 区别
                  • type() 不会认为子类是一种父类类型,不考虑继承关系。
                  • isinstance() 会认为子类是一种父类类型,考虑继承关系。

              位运算

              1. 原码、反码和补码
              二进制的三种表示形式,计算机内部使用补码表示。
              • 原码:有一位符号位
                • 反码:正数的反码是原码,复数的反码是符号位不变,其余位取反
                  • 补码:正数的补码就是原码,负数的补码就是反码+1
                    • 符号位:最高位为符号位,0表示正数,1表示负数。在位运算中符号位也参与运算。
                  2. 按位运算
                  • 按位非~
                    • 把二进制数的0和1全部取反,包括符号位
                  • 按位与&
                    • 只有两个都为1时才为1
                  • 按位或|
                    • 只要其中一个为1就为1
                  • 按位异或^
                    • 对应位不同时为1
                  • 按位左移
                    • 将数值的二进制表示向左移动i位
                  • 按位右移
                    • 将数值的二进制表示向右移动i位
                  3. 位运算实现快速计算
                  • 通过“>>”和“<<”可以实现快速计算2的倍数
                  • 通过“^”可以快速交换两个数
                  • 通过a&(-a)可以快速获取a的最后为1位置的整数
                    4. 位运算实现整数集合
                    一个数的二进制表示可以看做一个集合(0/1分别表示不在/在集合中)。
                    eg:集合{1, 3, 4, 8},可以表示成 01 00 01 10 10 而对应的位运算可就可以看作对集合进行的操作。
                    元素与集合的操作:
                    集合之间的操作:
                    整数在内存中是以补码的形式存在的,输出自然也是按照补码输出。
                    注意:
                    • python中bin一个负数,是原码的二进制加上一个负号
                    • python中整型是不限制程度的,不会超范围溢出,普通32位,超过会自动当长整型处理,几乎没有限制

                    流程控制

                    条件语句

                    1. if语句
                      1. expression为真才执行expr_true_suite
                    1. if - else语句
                      1. if - elif - else语句
                        1. assert关键词
                          1. assert这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。

                        循环语句

                        1. while循环
                          1. while - else循环
                            1. while循环正常执行完的情况下,执行else输出,如果while循环中执行了跳出循环的语句,比如 break,将不执行else代码块的内容。
                          1. for循环
                            1. for - else循环
                              1. while - else类似
                            1. range函数
                              1. enumerate()函数
                                  • sequence:一个序列、迭代器或其他支持迭代对象。
                                  • start:下标起始位置。
                                  • 返回 enumerate(枚举) 对象
                              1. break语句
                                1. 可以跳出当前所在层的循环
                              1. continue语句
                                1. 提前终止本轮循环,进入下一轮
                              1. pass语句
                                1. pass 语句的意思是“不做任何事”,如果你在需要有语句的地方不写任何语句,那么解释器会提示出错,而 pass 语句就是用来解决这些问题的。

                              推导式

                              1. 列表推导式
                                1. 元组推导式
                                  1. 字典推导式
                                    1. 集合推导式

                                      异常处理

                                      1. Python 标准异常总结
                                          • BaseException:所有异常的 基类
                                          • Exception:常规异常的 基类
                                          • StandardError:所有的内建标准异常的基类
                                          • ArithmeticError:所有数值计算异常的基类
                                          • FloatingPointError:浮点计算异常
                                          • OverflowError:数值运算超出最大限制
                                          • ZeroDivisionError:除数为零
                                          • AssertionError:断言语句(assert)失败
                                          • AttributeError:尝试访问未知的对象属性
                                          • EOFError:没有内建输入,到达EOF标记
                                          • EnvironmentError:操作系统异常的基类
                                          • IOError:输入/输出操作失败
                                          • OSError:操作系统产生的异常(例如打开一个不存在的文件)
                                          • WindowsError:系统调用失败
                                          • ImportError:导入模块失败的时候
                                          • KeyboardInterrupt:用户中断执行
                                          • LookupError:无效数据查询的基类
                                          • IndexError:索引超出序列的范围
                                          • KeyError:字典中查找一个不存在的关键字
                                          • MemoryError:内存溢出(可通过删除对象释放内存)
                                          • NameError:尝试访问一个不存在的变量
                                          • UnboundLocalError:访问未初始化的本地变量
                                          • ReferenceError:弱引用试图访问已经垃圾回收了的对象
                                          • RuntimeError:一般的运行时异常
                                          • NotImplementedError:尚未实现的方法
                                          • SyntaxError:语法错误导致的异常
                                          • IndentationError:缩进错误导致的异常
                                          • TabError:Tab和空格混用
                                          • SystemError:一般的解释器系统异常
                                          • TypeError:不同类型间的无效操作
                                          • ValueError:传入无效的参数
                                          • UnicodeError:Unicode相关的异常
                                          • UnicodeDecodeError:Unicode解码时的异常
                                          • UnicodeEncodeError:Unicode编码错误导致的异常
                                          • UnicodeTranslateError:Unicode转换错误导致的异常
                                      1. python标准警告总结
                                          • Warning:警告的基类
                                          • DeprecationWarning:关于被弃用的特征的警告
                                          • FutureWarning:关于构造将来语义会有改变的警告
                                          • UserWarning:用户代码生成的警告
                                          • PendingDeprecationWarning:关于特性将会被废弃的警告
                                          • RuntimeWarning:可疑的运行时行为(runtime behavior)的警告
                                          • SyntaxWarning:可疑语法的警告
                                          • ImportWarning:用于在导入模块过程中触发的警告
                                          • UnicodeWarning:与Unicode相关的警告
                                          • BytesWarning:与字节或字节码相关的警告
                                          • ResourceWarning:与资源使用相关的警告
                                      1. try - except语句
                                        1. try 语句按照如下方式工作:
                                          • 首先,执行try子句(在关键字try和关键字except之间的语句)
                                          • 如果没有异常发生,忽略except子句,try子句执行后结束。
                                          • 如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和except之后的名称相符,那么对应的except子句将被执行。最后执行try - except语句之后的代码。
                                          • 如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。
                                      1. try - except - finally语句
                                        1. try: 检测范围 except Exceptionas reason: 出现异常后的处理代码 finally: 无论如何都会被执行的代码
                                          不管try子句里面有没有发生异常,finally子句都会执行。
                                      1. try - except - else语句
                                        1. 如果在try子句执行时没有发生异常,Python将执行else语句后的语句。
                                      1. raise语句
                                        1. Python 使用raise语句抛出一个指定的异常。

                                      © Baiye 2022 - 2025