Python常见问题合集

面筋分类汇总-测开向

  • 单引号、双引号、三引号的区别

    • 单引号、双引号等效,引号中的内容不可以换行,需要用符号\
    • 三引号中的内容可以换行,并且可以包含注释。
    • 单双引号的嵌套:
      • 单引号中不能再嵌套单引号,但可以嵌套双引号;
      • 双引号中不能再嵌套双引号,但可以嵌套单引号;
      • 单双引号相互嵌套,可以不用转义而显示引号符号。
  • 字典添加元素的方法:

    • dictname['key'] = 'value'
  • pass语句的作用

    • 不执行的语句,一般作为占位符或者创建占位程序;
    • 在负载语句中,如果一个地方需要暂时留白,可以先填充一个pass语句。
  • 断言assert

    • 异常处理中,raise和assert
    • assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。
      • 断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况,
    • 结构:
      • 语法格式如下:assert expression, 等价于:
        if not expression:
            raise AssertionError
        
      • assert 后面也可以紧跟参数:assert expression [, arguments], 等价于:
        if not expression:
            raise AssertionError(arguments)
        
    • assert可以设置第二个参数,用于作为触发异常后的提示语句,并显示在最后:
      >>assert 1==2, '1 不等于 2'
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
      AssertionError: 1 不等于 2
      
  • 复制:深复制浅复制

    • 直接赋值:其实就是对象的引用(别名)。
      • b = a
    • 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。
      • b = a.copy() 或者 b = copy.copy(a)
    • 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。
      • 需要import copy 然后 c = copy.deepcopy(a)

()代表tuple元祖数据类型,元祖是一种不可变序列。 []代表list列表数据类型,列表是一种可变序列。
匿名表达式lamda表达式:a = lambda x,y,z:(x+8)*y-z
闭包
自增自减

END

posted @ 2020-03-31 12:20  anliux  阅读(660)  评论(0编辑  收藏  举报