Python进阶
测试小小小
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
软件测试升职加薪必看系列:自动化测试Python进阶(十)
Python进阶10多线程python中的GILGIL(Global Interpreter Lock),就是一个锁。 Python中的一个线程对应于 C语言 中的一个线程。 GIL使得同一时刻只有一个线程在一个cpu上执行字节码,无法将多个线程分配到多个cpu上进行同步运行。如果在单核cpu上,线程是并发运行,而不是并行。image首先,这样效率不高,但是看似也不会产生数据访问冲突的问题,毕竟同一时刻只有一个线程在一个核上运行嘛,然而:sum = 0def add(原创 2020-09-16 21:16:15 · 342 阅读 · 0 评论 -
软件测试升职加薪必看系列:自动化测试Python进阶(九)
Python进阶9Python socket编程引言sockets的历史悠久,它们最早在 1971 年的 APPANET 中使用,后来成为1983年发布的Berkeley Software Distribution(BSD)操作系统中的API,称为Berkeley sockets。Web服务器和浏览器并不是使用sockets的唯一程序,各种规模和类型的客户端 - 服务器(client - server)应用程序也得到了广泛使用。今天,尽管socket API使用的底层协议已经发展多年原创 2020-09-16 21:13:29 · 250 阅读 · 0 评论 -
软件测试升职加薪必看系列:自动化测试Python进阶(八)
Python进阶8迭代器和生成器python的迭代协议引言迭代器是访问集合内部元素的一种方式,一般用来遍历数据。 迭代器和用下标索引访问的方式不一样,迭代器是不能返回值的 迭代器提供了一种惰性访问数据的方式,需要的时候才产生数据。 可迭代类型都实现了迭代协议,实际上就是__iter__()这个魔法函数。可迭代类型和迭代器前面讲过,collections.abc模块中定义了很多内置的抽象基类,现在我们重点关注其中的两个:Iterable和IteratorIterable..原创 2020-09-16 21:11:07 · 245 阅读 · 0 评论 -
软件测试升职加薪必看系列:自动化测试Python进阶(七)
Python进阶7元类编程Python属性函数引言Python中我们对于自己设置的类,尽量要使其属性私有化,获得更好的封装性。 如果要访问和修改私有属性,要为其设置set和get方法。 Python中,可以使用特殊的装饰器将set和get方法属性化,这样就能够使用更简洁的语法去调用这些方法。使用案例class Person: def __init__(self, name, age): self.__name = name self._原创 2020-09-16 21:07:43 · 303 阅读 · 0 评论 -
软件测试升职加薪必看系列:自动化测试Python进阶(六)
Python进阶6对象引用、垃圾回收、可变性Python中的变量是什么引言Python和java中的变量本质不一样,java的变量可以理解为一个盒子,用来容纳我们的对象,使用前要先声明它,好分配给我们合适的内存空间。Python的变量可以理解为一个标签,先构造出对象,再将变量贴在对象上。 Python变量没有类型,对象才有,本质上是指针。同一个变量,可以表示不同对象。使用案例"""a 和 b 都贴在了同一个对象上"""a = [1, 2]b = aa.append(6原创 2020-09-15 22:02:49 · 233 阅读 · 0 评论 -
软件测试升职加薪必看系列:自动化测试Python进阶(五)
Python进阶5深入Python的set和dictdict常用操作引言clear(): 清空字典 copy(): 返回一个浅拷贝 fromkeys(): 将可迭代对象中的每一个元素作为key和同一个value拼成字典 get(): 根据key返回value,若无对应的键值对,则返回None,也可以指定默认返回值,和索引访问相比,不会产生异常。 items():返回一个dict_items类型,支持迭代,键值对以元组形式组织 setdefault(): 获取key对应的valu原创 2020-09-15 22:01:19 · 332 阅读 · 0 评论 -
软件测试升职加薪必看系列:自动化测试Python进阶(四)
Python进阶4自定义序列类型序列类型的分类按照序列存储数据的类型容器序列:list, tuple, deque 扁平序列:str, bytes, array.array, bytearray按照序列是否可变可变序列:list, deque, array.array, bytearray 不可变序列:str, tuple, bytes序列的abc继承关系引言collections.abc模块中有很多内置的抽象基类 序列主要和两个抽象基类有关:Sequence和..原创 2020-09-15 20:33:26 · 315 阅读 · 0 评论 -
软件测试升职加薪必看系列:自动化测试Python进阶(三)
Python进阶3深入类和对象鸭子类型和多态引言在鸭子类型中,关注的不是对象的类型本身,而是它是如何使用的。例如,在不使用鸭子类型的语言中,我们可以编写一个函数,它接受一个类型为鸭子的对象,并调用它的走和叫方法。在使用鸭子类型的语言中,这样的一个函数可以接受一个任意类型的对象,并调用它的走和叫方法。如果这些需要被调用的方法不存在,那么将引发一个运行时错误。任何拥有这样的正确的走和叫方法的对象都可被函数接受的这种行为引出了以上表述,这种决定类型的方式因此得名...原创 2020-09-15 20:32:01 · 296 阅读 · 0 评论 -
软件测试升职加薪必看系列:自动化测试Python进阶(二)
Python进阶2魔法函数引言魔法函数是Python中定义的,以__开头,__结尾,形如__func__()的函数,一般使用已经存在的魔法函数即可。 使用这样一些函数,可以让我们自定义的类有更加强大的特性。 魔法函数是隐式调用的,不需要我们显示调用。class Language(object): def __init__(self, language_list): self.lans = language_list # 如果要遍历所有的语言,可以:原创 2020-09-15 20:30:29 · 286 阅读 · 0 评论 -
软件测试升职加薪必看系列:自动化测试Python进阶(一)
Python进阶1Python中一切皆对象引言Java语言也是面向对象的语言,但是Python要更加彻底 Python的面向对象特性,是它使用起来灵活的根本所在对象的特点可以赋值给一个变量# 函数也是对象def test(name): print(name) my_func = test # 注意 只写函数名 和 函数名加括号 的区别my_func("MetaTian") # 打印:MetaTian可以添加到集合中去def plus原创 2020-09-15 20:28:41 · 237 阅读 · 0 评论
分享