• Python学习


    1、列表反转有哪几种方式?

    第一种:通过倒序切片反转,步长是 -1;

    图片

    第二种,使用reversed 函数 ,可以实现反转;

    图片

    reversed返回的结果是一个反转的迭代器,我们需要对其进行 list 转换。

    第三种,使用sorted函数 ,可以实现反转;

    图片

    2、列表推导式是什么?

    推导式 是 Python 中用来生成数据的一种高级用法,Python 不仅有列表推导时,还有字典推导式、集合推导式、生成器表达式;它的语法都是一样的,都是通过 for 循环来创建数据的一种简写的方式。

     推导式它将循环和条件判断结合,从而避免语法冗长的代码,提高代码运行效率。

    1)语法格式

    第一种语法:

    [exp1 for x in data if condition]

    第二种语法:

    [exp1 if condition else exp2 for x in data]

    2)实战练习

    实例1:返回1-10的所有偶数乘以2的结果。

    图片

    输出结果如下:

    [4, 8, 12, 16, 20]

    实例2:返回1-10的所有偶数乘以2,奇数乘以3的结果。

    图片

    输出结果如下:

    [3, 4, 9, 8, 15, 12, 21, 16, 27, 20]

    3)执行效率测试

    上文有介绍说列表推导式可以提高代码执行效率,接下来我们通过例子来证实下这个结论。

    ①先用我们常用的for循环统计时间。

    图片

    输出结果:

    for循环总耗时:0.18744373321533203秒

    ② 用列表推导式统计时间。

    图片

    输出结果:

    列表推导式总耗时:0.09278202056884766秒

    从for循环和列表推导式耗时结果来看,列表推导式执行效率是优于常规的for循环的。

    3、什么是闭包函数?
    1)什么是闭包?在函数嵌套的前提下,内部函数使用了外部函数的变量,并且外部函数返回了内部函数,我们把这个使用外部函数变量的内部函数称为闭包。
    2)闭包的构成条件?

    必须有内嵌函数
    内嵌函数必须引用外部变量
    外部函数必须返回内嵌函数

    3)闭包的使用

    Python装饰器就是闭包概念的一种体现,如下示范很典型的闭包场景,单例模式的装饰器。

    from functools import wraps

    def Singleton(cls):
        instance = {}
        @wraps(cls)
        def wrapper(*args, **kwargs):
            if cls not in instance:
                instance[cls] = cls(*args, **kwargs)
            return instance[cls]
        return wrapper

    接下来写出一个计时器装饰器,记录函数的执行时间。

    图片 

    4、json.loads和json.dumps的区别?

    1)含义

    # 微信公众号:ITester软件测试小栈
    json的dumps方法和loads方法,可实现数据的序列化和反序列化。
    json.dumps: 将python对象转换为json格式数据。
    json.loads: 将json格式数据转化为python对象。

    2)应用场景

    ① json.dumps

    代码如下:字典转为字符串。

    图片

    输出内容如下:

    <class 'dict'>
    <class 'str'>
    {"name": "ITester软件测试小栈", "author": "coco", "age": "18"}

    ② json.loads 

    这里我们用之前写过的接口自动化文章为例,从Excel读取数据后,通过数据驱动,打断点后发现读取的参数为字符串类型,所以我们通过 json.loads转化下格式。

    图片

  • 相关阅读:
    Kinect研究文档
    Unity使用Win10语音
    使用unity2017.3 vuforia7摄像头放大的问题
    Unity响应Android的返回键,退出当前Activity
    unity调用Android百度地图
    Unity带参数的协程
    Android jenkins动态参数配置
    如何下载浏览器视频
    mac 如果修改环境变量
    mac如何修改hosts文件
  • 原文地址:https://www.cnblogs.com/chenyablog/p/15191628.html
Copyright © 2020-2023  润新知