1. for .... else 循环

    for 循环能正常结束,则运行 else;如果是 break 结束,则不运行 else

  2. __dict__

    __dict__中存储了对象的属性,类和实例都有自己的属性,内置对象没有属性。

    类对象的__dict__中存储了类的静态函数、类函数、普通函数、全局变量以及一些内置属性

    实例对象的__dict__中存储一些self.xxx的一些东西

  3. try...except...else...finally

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    try:
    可能发生异常的代码
    except:
    如果出现异常执行的代码
    else:
    没有异常执行的代码
    finally:
    无论是否有异常都要执行的代码

    # 带as
    except 异常类名 as result :
    print(result) # 异常描述信息

    # 自定义异常,继承于Exception
    class 异常类名(Exception):
    def __init__(self):

    def __str__(self):
    return 异常描述信息
    ## 调用
    raise 异常类名

    ## 捕捉
    except
  4. is==的区别

    python 中的对象包含三个基本要素,分别是:id(标识)、tpye(类型)和 value(值)。is==都是比较运算,区别在于is是同一性运算符,比较两个对象的 id 是否相等;==是比较操作符,比较两个对象的 value 是否相等。

    1
    2
    3
    4
    5
    6
    >>>a = [1,2,3]
    >>>b = [1,2,3]
    >>>a == b
    True
    >>>a is b
    False
  5. 函数注释 Function Annotations

    Python 中函数的参数与返回值都可以添加注释,参数后面添加[: expression][= expression],返回值使用->提示返回类型。

    1
    2
    def add(x:int,y:int=0) -> int:
    return x+y

    lambda 函数不能添加。

    使用函数的__annotations__即可获得函数注释,返回一个 map

  6. ***

    再函数式编程中,*代表的是可变长度的看个参数,如元组、列表;**表示可以接收键值对类型的可变参数。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    def person(name,age,gender='男',*args,**kwds):
    print(f'name:{name},age:{age},gender:{gender}')
    print(args)
    print(kwds)

    >>> person(Jim,20,男,175,180,work='student')
    jim,20,男
    (175,180)
    {'work'='student'}

    ***还可以用于列表、元组、字典的解包,作用于字典时,*返回 key,丢弃 value,**获取 key:value 格式

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    >>>a = (1,2,3)
    >>>print(a)
    (1,2,3)
    >>>print(*a)
    1 2 3
    >>>a = [1,2,3]
    >>>print(*a)
    1 2 3
    >>>a = {'name'='Jim','gender'='male'}
    >>>print(*a)
    name age
    >>>print('name:{name},gender:{gender}'.format(**a))
    name:Jim,gender:male
  7. 三元表达式

    Truedo if Ture else False-do

  8. 字符串的翻转

    1
    2
    string='123456'
    string[::-1]
  9. 判断是否为回文

    1
    string == string[::-1]
  10. 单词大小写

    1
    2
    3
    string.title() # 单词首字母大写
    string.upper() # 所有单词大写
    string.capitalize() # 字符串首字母大写
  11. 字符串合并

    1
    2
    string = list(string)
    ' '.join(string)
  12. 二值交换

    1
    2
    3
    4
    5
    a, b = b, a
    # 利用位操作,不适用于a==b的情况
    a ^= b
    b ^= a
    a ^= b
  13. 字典的合并

    1
    result = {**dict1, **dict2}
  14. 列表的操作

    函数名 作用
    append 作为整体向列表追加
    extend 再列表末尾一次性追加另一个序列中的多个值
    remove 移除列表中某个值的元素
    pop 移除元素,默认为最后一个,也可以指定索引
    count 统计某个元素在列表中出现的次数
    index 找出第一个匹配项的索引,可以指定查找范围
    reverse 反向,可以指定比较的元素
  15. 字符串常用内置方法

    方法名 描述
    lower() 转为小写
    upper() 转为大写
    swapcase() 大小写转换
    count() 计数
    endswith() 是否以*结尾
    startswith() 是否以*开头
    find() 从左向右寻找
    rfind() 从右向左寻找
    isnumeric() 是否只包含数字
    ljust() 左对齐,右侧填充至指定长度
    rjust() 右对齐,左侧填充至指定长度
    lstrip() 去除左侧多余的空格或指定字符
    rstrip() 去除右侧多余的空格或指定字符
    strip() 去除左右侧多余的空给或指定字符
    replace() 替换
    split() 切片,返回列表
  16. 字典常用操作

    方法名 描述
    dict() 创建空字典
    keys() 所有键,使用list()转为列表
    values() 所有值,使用list()转为列表
    items() 以列表返回可遍历键值元组数组
    get() 返回指定键的值
    setdefault() 与get类似,但如果键不在字典中,会添加键并设置默认值
    pop() 删除给定键的值,返回值为删除的值
    popitem() 删除键值对,返回值为删除的键值对
    clear() 删除字典内所有元素
    copy() 浅拷贝(浅拷贝父对象,子对象仍是引用)