• 【合集】python 的一些妙用,推导式、三元表达式、with as 等


    自己常用的内置函数

    函数如下:

    dir len str list tuple zip map reduce(现在并入了functools中)



    常用的进制转换

    1. Oct hex bin

    lambda 表达式

    1. 可以将简单的函数,用更精简的代码表示
    2. 格式:lambda para1,para2,...: 返回值:

    推导式生成

    1. 可以减少代码量。比如,生成1~10的list:

    2. 直接调用你写好的函数,将返回的值存入。(熟悉的人会这么写:[i**2 for i in range(5)])

    三元表达式

    1. 相当于if else 的简写或者说变形,使得代码更佳简洁。(变成2中一行难道不香吗?当然没有原本的简单明了)

    2. 条件满足执行的 if 条件 else 条件不满足:

    妙用固定参数、可变参数、默认参数

    def func(name,age,sex = '男',*args,**kwds)

    1. 其中name和age为固定参数,sex为默认参数,*arg和**kwds为可变参数,**kwds可以接受键值对输入。
      ps:有人可能会疑惑为何没有显示sex,其实是因为*args逃过了,sex变成了list。

    2. 单独的默认参数:

    with as 一种上下文管理器,如打开文件

    一般的是:

    file = open("/log.txt")
    data = file.read()
    file.close()
    

    存在的问题:

    1. 可能忘记关闭文件;
    2. 文件读取数据发生异常,没有异常处理。
      正常写法:
    file = open("/log.txt")
    try:
        data = file.read()
    finally:
        file.close()
    

    使用with as后:

    with open("/tmp/foo.txt") as file:
        data = file.read()
    

    for else 相当于执行完for后执行else







    后面将更新,常用函数的具体用法,未完待续~~~


  • 相关阅读:
    UVA 12307 Smallest Enclosing Rectangle
    UVALive 4728 Squares
    扩栈代码
    uva 10256 The Great Divide
    uva 11168 Airport
    uva 10625 Board Wrapping
    bzoj千题计划206:bzoj1076: [SCOI2008]奖励关
    NOIP2017 列队
    bzoj3529: [Sdoi2014]数表
    bzoj1966: [Ahoi2005]VIRUS 病毒检测
  • 原文地址:https://www.cnblogs.com/yanshanbei/p/11954112.html
Copyright © 2020-2023  润新知