阿里云天池Python(一)

前言

第1-3天的课程:基本的Python基础, 不做详细罗列,这里只记录 知识体系重难点

星星

  • 困难度 ==> ☆☆☆☆☆☆
  • 知识量 ==> ★★★☆☆☆
  • 掌握度 ==> ★★★★★☆

知识体系

  • 变量、运算符与数据类型
    • 注释
    • 运算符
    • 变量和赋值
    • 数据类型与转换
    • print() 函数
  • 位运算
    • 原码、反码和补码
    • 按位非操作 ~
    • 按位与操作 &
    • 按位或操作 |
    • 按位异或操作 ^
    • 按位左移操作 <<
    • 按位右移操作 >>
    • 利用位运算实现快速计算
    • 利用位运算实现整数集合
  • 条件语句
    • if 语句
    • if - else 语句
    • if - elif - else 语句
    • assert 关键词
  • 循环语句
    • while 循环
    • while - else 循环
    • for 循环
    • for - else 循环
    • range() 函数
    • enumerate()函数
    • break 语句
    • continue 语句
    • pass 语句
    • 推导式
  • 异常处理
    • Python 标准异常总结
    • Python 标准警告总结
    • try - except 语句
    • try - except - finally 语句
    • try - except - else 语句
    • raise语句

重难点

  1. 多行注释

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    '''
    这是多行注释,用三个单引号
    这是多行注释,用三个单引号
    这是多行注释,用三个单引号
    '''
    print("Hello china")
    # Hello china

    """
    这是多行注释,用三个双引号
    这是多行注释,用三个双引号
    这是多行注释,用三个双引号
    """
    print("hello china")
    # hello china
  2. 运算符

    需要注意的是,与其他语言不同,个别运算符用法不一样。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # 注释分别是 运算结果 运算符意义 Java中的运算符
    print(3 // 4) # 0 整除 /
    print(2 ** 3) # 8 求幂 ^
    print((3 > 2) and (3 < 5)) # True 与 &&
    print((1 > 3) or (9 < 2)) # False 或 ||
    print(not (2 > 1)) # False 非 !
    print(4 if 4 < 7 else 7) # 4 三目(元)运算符 4 < 7 ? 4 : 7
    print('A' in ['A', 'B', 'C']) # True 是否存在
    print('A' not in ['A', 'B', 'C']) # False 是否不存在
    # python 的 is, not is 比较内存地址; ==, != 比较数值
    # java 的 ==, != 比较内存地址; Object.equals() 比较数值
    print(a is b) # 是 ==
    print(a not is b) # 不是 !=
  3. print函数原型

    1
    print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

    打印输出

    • objects 输出的对象
    • sep 多参数输出分隔符
    • end 输出结束字符
    • file 输出的文件
    • flush 输出到流文件,不作缓存
  4. 流程控制

    • elif = else if
    • while - else 正常循环执行 else , 异常 ( break ) 不执行 else.
    • for - in = foreach
    • for - else 正常循环执行 else , 异常 ( break ) 不执行 else.
  5. range 函数

    1
    range([start,] stop[, step=1])

    生成指定序列

    • start 开始(包括这个数)
    • stop 结束(不包括这个数)
    • step 步长
  6. enumerate()函数

    1
    enumerate(sequence, [start=0])

    生成枚举对象

    • sequence:一个序列、迭代器或其他支持迭代对象。
    • start:下标起始位置。
    • 返回 enumerate(枚举) 对象和索引值
    1
    2
    3
    4
    5
    6
    7
    8
    9
    languages = ['Python', 'R', 'Matlab', 'C++']
    for i, language in enumerate(languages, 2):
    print(i, 'I love', language)
    print('Done!')
    # 2 I love Python
    # 3 I love R
    # 4 I love Matlab
    # 5 I love C++
    # Done!
  7. pass = ;

  8. 推导式

    Java 没有 !!!

    1
    [ expr for value in collection [if condition] ]
    • expr 计算表达式
    • value 集合中取出的值
    • collection 遍历的集合
    • condition 条件筛选
    1
    2
    x = [i * 2 for i in range(100) if (i % 2) != 0 and (i % 3) == 0]
    # [6, 18, 30, 42, 54, 66, 78, 90, 102, 114, 126, 138, 150, 162, 174, 186, 198]
  9. 异常处理

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转换错误导致的异常

异常体系内部有层次关系,Python异常体系中的部分关系如下所示:

Python标准警告总结

- Warning:警告的基类
- DeprecationWarning:关于被弃用的特征的警告
- FutureWarning:关于构造将来语义会有改变的警告
- UserWarning:用户代码生成的警告
- PendingDeprecationWarning:关于特性将会被废弃的警告
- RuntimeWarning:可疑的运行时行为(runtime behavior)的警告
- SyntaxWarning:可疑语法的警告
- ImportWarning:用于在导入模块过程中触发的警告
- UnicodeWarning:与Unicode相关的警告
- BytesWarning:与字节或字节码相关的警告
- ResourceWarning:与资源使用相关的警告

异常捕捉

  1. try - except

    1
    2
    3
    4
    5
    try {

    } catch (Exception e) {

    }
  2. try - except - finally :

    1
    2
    3
    4
    5
    6
    7
    try {

    } catch (Exception e) {

    } finally {

    }
  3. try - except - else :

    如果在 try 子句执行时没有发生异常,Python将执行 else 语句后的语句。

  4. raise = throw

文章作者: Shengyaqingfeng
文章链接: https://creazyboyone.github.io/AliyunTianci01/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Shengyaqingfeng's Blog