• day_01:__all__、__init__、推导式


    参考链接:http://47.112.233.130:8889/#/runLog

    1.__all__:

       1)如在test.py中有 add、sub方法,其中只有add方法被包裹起来了(__all__:["add"])

       2)在第二个py文件中调用 from test.py import *后,只能使用add方法,调用sub方法会提示不可调用(会爆NameError)

    2.__init__:、

    可以通过在__init__中先把方法引入进来,这样方便导包

     

    3.

    PEP 257规范

    https://github.com/qiuxiang/pep/blob/master/peps/257.md

    4.命名元组

    5.字典推到式

    注意三目运算符

      前面是赋值,后面是过滤数据的

      li2 = [True if i%2 == 0 else False for i in range(100)]

      print(li2)

     

    练习题目:

    1、通过列表推导式完成下面数据类型转换
    现在有以下数据, li1 = ["{'a':11,'b':2}","[11,22,33,44]"]
    需要转换为以下格式: li1 = [{'a':11,'b':2},[11,22,33,44]]

    2、 Names=['python','java','php','c','c++','django','unittest','pytest','pymysql'],请通过列表推导式,获取names中字符串长度大于4的元素

    3、通过字典推导式,颠倒字典的键名和值:将{'py': "python09", 'java': "java09"} 转换为:{'python09': "py", 'java09': "java"}

    4、将字典{'x': 'A', 'y': 'B', 'z': 'C' } 通过推导式转换为:['x=A','y=B','z=C']

    """
    # 第一题
    li1 = ["{'a':11,'b':2}", "[11,22,33,44]"]
    res1 = [eval(i) for i in li1]

    # 第二题
    Names = ['python', 'java', 'php', 'c', 'c++', 'django', 'unittest', 'pytest', 'pymysql']
    res2 = [i for i in Names if len(i) > 4]

    # 第三题
    dic3 = {'py': "python09", 'java': "java09"}
    res3 = {v: k for k, v in dic3.items()}

    # 第四题
    dic4 = {'x': 'A', 'y': 'B', 'z': 'C'}
    res4 = [f'{k}={v}' for k, v in dic4.items()]

    if __name__ == '__main__':
    # print(res1)
    # print(res2)
    # print(res3)
    # print(res4)
    pass
    #
    # for k, v in dic4.items():
    # # print(i)
    # # k, v = i
    # print(k)
    # print(v)

    爱折腾的小测试
  • 相关阅读:
    在CMD下如何搜索某个名字的文件?
    如何设置ESXi中的虚拟机随主机一同启动?
    ubuntu 安装 Cmake(转)
    unique_ptr与std::move的使用
    这是一份很详细的 Retrofit 2.0 使用教程(含实例讲解)(转)
    Tensorflow设置显存自适应,显存比例
    Protobuf学习
    tensorflow serving 打印调试log
    Linux下监视NVIDIA的GPU使用情况(转)
    tensorflow serving GPU编译问题
  • 原文地址:https://www.cnblogs.com/newsss/p/15113202.html
Copyright © 2020-2023  润新知