
python
文章平均质量分 63
物随心转
子曰:“学而时习之,不亦说乎?”
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python的切片(slice)
在Python中,切片(slice)是对序列型对象(如list, string, tuple)的一种高级索引方法。普通索引只取出序列中 一个下标 对应的元素,而切片取出序列中一个范围对应的元素。通俗一点就是在一定范围里面,用刀切出一部分,达到自己需要的一部分。原创 2023-12-23 17:21:27 · 1178 阅读 · 0 评论 -
python的sort与sorted
sorted()函数可以对任意可迭代对象进行排序,返回一个新的排序后的列表,原列表不会受到影响。sorted()函数可以接受一个可选参数key,用来指定排序的关键字。sort 方法是列表的方法,用于在原地对列表进行排序,即直接修改原始列表,不返回新的列表。它可以接受两个可选参数:key 和 reverse。reverse 是一个布尔值,用于控制升序还是降序排列。sort 方法没有返回值,它直接修改了调用它的列表。key 是一个函数,用于指定排序的依据;原创 2023-08-31 21:18:31 · 974 阅读 · 0 评论 -
python中lambda的用法
尽管 lambda 表达式对于编写简单的函数很有用,但请注意,它们通常用于定义一次性的小函数。对于更复杂的函数或需要多行代码的函数,建议使用。表达式是一种匿名函数的方式,用于创建简单的、小型的函数。它通常在需要一个函数,但不需要定义一个完整的函数(使用。这个 lambda 表达式接受一个参数。这里我们使用 lambda 表达式作为。这里我们使用 lambda 表达式作为。参数,按名称的长度进行排序。函数的过滤条件,只保留偶数。关键字)的情况下使用。关键字来定义命名函数。原创 2023-08-31 20:40:52 · 573 阅读 · 0 评论 -
python的可哈希对象
一、介绍在Python中,可哈希(hashable)是指一种对象类型,该类型的对象可以用作字典的键(keys)或集合(sets)的元素。可哈希的对象必须是不可变的,即创建后不能被修改。这确保了哈希值的稳定性,因为哈希值是根据对象的内容计算得出的。可哈希对象需要具有一个哈希函数(hash function),这个函数将对象映射到一个唯一的整数,即哈希值。这个哈希值用于在字典或集合中快速查找或比较对象。二、 可哈希对象与不可哈希的对象不可哈希的对象包括列表、集合和字典等可变对象,因为它们可以在创建后修改。原创 2023-08-30 22:38:34 · 3211 阅读 · 0 评论 -
__call__函数
在Python中,__call__函数是一个特殊的方法,用于使一个对象可以像函数一样被调用。当一个对象定义了__call__方法时,它就成为了一个可调用对象。原创 2023-08-30 22:21:09 · 260 阅读 · 0 评论 -
异步迭代器
实现了 __aiter__() 和 __anext__() 方法的对象。__anext__ 必须返回一个 awaitable对象。async for 会处理异步迭代器的 __anext__() 方法所返回的可等待对象,直到其引发一个 StopAsyncIteration 异常。在这个例子中,AsyncIterable是一个异步迭代器,它每次产生一个元素,并在产生每个元素后等待1秒。一、什么是异步迭代器?原创 2023-08-30 22:17:45 · 285 阅读 · 0 评论 -
python的asyncio事件循环
asyncio是Python标准库中的一个异步编程框架,它提供了一个事件循环(event loop),用于协调异步任务的执行和结果的返回。在asyncio中,事件循环是一个非常重要的概念,它是异步编程的核心。等待异步任务的完成。调度异步任务的执行。处理异步任务的结果。原创 2023-08-30 22:07:29 · 1132 阅读 · 0 评论 -
python的异步编程async
在Python 3.5中引入了async和await关键字,用于异步编程。async关键字用于定义一个协程(coroutine),而await关键字则用于等待一个协程完成。注:协程(coroutine)是是一种轻量级的线程,但相对子线程而言,协程更为一般和灵活,在实践中没有子线程那样使用广泛。协程更适合于用来实现彼此熟悉的程序组件,如协作式多任务、异常处理、事件循环、迭代器、无限列表和管道。使用async和await关键字可以大大简化异步编程的代码,使其更易于理解和维护。原创 2023-08-30 21:50:56 · 799 阅读 · 0 评论 -
Python中@property和@setter的用法
语法:@函数名称.setter。setter装饰器用来创建一个可写的属性,它必须在@property装饰器的后面,且被setter修饰的函数的名称必须与property保持一致。如果使用property进行修饰后,又在调用的时候,方法后面添加了(), 那么就会显示错误信息。用法:可以使用@property装饰器来创建。,@property装饰器会将。,这样可以防止属性被修改。原创 2023-08-27 11:31:13 · 1154 阅读 · 0 评论 -
python 运行机制
文件,它可以更快地被 Python 解释器加载和执行,从而提高代码的执行速度。这是因为解释器无需再次解析和编译源代码,而是直接加载并执行已编译的字节码。文件是与特定版本的 Python 解释器相关的,不同版本的解释器可能会生成不兼容的。文件被用作代码的缓存,它们存储在与源代码相同的目录下。文件是 Python 编译后的字节码文件,它是通过将。文件时,需要确保目标环境使用与编译时相同版本的解释器。文件的源代码编译为二进制形式而生成的。文件时,Python 解释器会自动检查是否存在对应的。原创 2023-08-19 11:40:14 · 833 阅读 · 0 评论 -
python的全局解释锁(GIL)
全局解释锁(Global Interpreter Lock,GIL)是在某些编程语言的解释器中使用的一种机制。在Python中,GIL是为了保证解释器线程安全而引入的。GIL的作用是在解释器的执行过程中,确保同一时间只有一个线程可以执行Python字节码。这意味着在多线程的情况下,同一时刻只有一个线程可以真正地执行Python代码,其他线程只能等待。这是因为GIL会在解释器的关键部分进行加锁,阻止其他线程的执行。原创 2023-08-19 11:30:15 · 760 阅读 · 0 评论 -
functools.wrap的使用
是 Python 标准库中的一个函数,用于帮助创建装饰器时保留被装饰函数的元数据(如函数名、文档字符串等)。在使用装饰器时,如果不使用,则被装饰函数的一些元数据可能会丢失或被覆盖。原创 2023-08-19 10:45:30 · 1205 阅读 · 0 评论 -
Python中的“ @”
这是Python装饰器的语法,使用@符号,表示将装饰器函数放在被装饰函数的上方。当调用被装饰函数时,实际上是调用了装饰器函数,装饰器函数可以在调用被装饰函数之前或之后执行一些额外的操作。#funA 作为装饰器函数#...fn() # 执行传入的fn参数#...@funA实际上,上面程序完全等价于下面的程序:#...fn() # 执行传入的fn参数#...#...原创 2023-08-19 10:35:15 · 1136 阅读 · 0 评论 -
globals()与locals()函数
在Python中,globals()和locals()是两个内置函数,用于获取当前作用域内的全局和局部命名空间中的变量和对象。原创 2023-08-16 20:36:47 · 675 阅读 · 0 评论 -
python的 __all__ 用法
在Python中,__all__通常用于定义模块的公开接口。在使用语句时,此时被导入模块若定义了__all__属性,则只有__all__内指定的属性、方法、类可被导入;若没定义,则导入模块内的所有公有属性,方法和类。这可以帮助开发者明确地指定哪些符号是模块的公共API,以防止不必要的符号被导入。原创 2023-08-16 20:00:49 · 1390 阅读 · 0 评论 -
Python的heapq模块
模块是Python标准库中的一个模块,提供了对堆(heap)数据结构的支持。原创 2023-07-26 21:24:17 · 2490 阅读 · 0 评论 -
python的可迭代对象
在Python中,可迭代对象是指实现了__iter__()方法的对象,它可以通过调用iter()函数返回一个迭代器对象。可迭代对象可以是容器对象(如列表、元组、集合、字典等),也可以是自定义的对象。原创 2023-07-26 20:26:46 · 2661 阅读 · 0 评论 -
Python的nonlocal与global关键字
nonlocal关键字用于在嵌套函数中访问和修改外部函数的局部变量。global关键字用于在函数内部访问和修改全局变量。需要注意的是,使用nonlocal和global关键字时,要确保在使用之前已经有对应的变量存在。否则,会引发NameError异常。此外,过度使用global和nonlocal可能会导致代码可读性和维护性的下降,因此应谨慎使用,并优先考虑使用函数参数和返回值来进行变量传递和修改。python 函数嵌套和nonlocal关键字_只待风起的博客-优快云博客。原创 2023-07-22 14:43:21 · 470 阅读 · 0 评论 -
zip()和zip(*)
在Python中,zip()和zip(*)是两种不同的用法。一、zip()函数:zip()函数是一个内置函数,用于将多个可迭代对象(如列表、元组等)的对应元素打包成一个个元组,返回一个迭代器。它将输入的可迭代对象按照索引位置一一对应地组合在一起,直到最短的可迭代对象耗尽。在上述代码中,将numbers和letters两个可迭代对象按照索引位置一一对应地组合在一起,返回一个迭代器。通过将迭代器转换为列表,我们可以查看打包后的结果。二、zip(*)原创 2023-07-22 14:20:13 · 586 阅读 · 0 评论 -
python的闭包
Python 中的闭包(Closure)是指一个函数对象(称为内部函数)捕获并引用了其所在函数(称为外部函数)中的变量,即使外部函数已经执行完毕内部函数仍然可以访问和操作外部函数中的变量。闭包在函数式编程中具有重要的作用,可以用于实现许多有用的功能和模式。必须有一个内部函数。内部函数必须引用外部函数中的变量。外部函数必须返回内部函数。闭包的一个重要特性是它可以记住外部函数中的状态。每次调用外部函数时,都会创建一个新的闭包,每个闭包都保留了自己的外部函数变量的状态。原创 2023-07-22 11:55:27 · 1406 阅读 · 0 评论 -
getattr, __getattr__, __getattribute__和__get__区别
是一个描述符协议(Descriptor Protocol)中的魔法函数,用于定义描述符对象的获取行为。描述符可以被用作类的属性,通过访问和设置描述符属性,可以触发。使用上面的getattr()方法获取属性时,也是同样的调用关系,只不过只有在。是一定会被调用的,无论属性存不存在,首先都会调用这个魔法方法。在描述符协议中,当通过实例访问描述符属性时,解释器会自动调用描述符对象的。是python内置的一个函数,它可以用来获取对象的属性和方法。可以用来获取对像的属性和方法,需要注意的是,如果通过。原创 2023-07-17 22:02:02 · 1042 阅读 · 0 评论 -
python的魔法函数
在Python中,魔法函数是以双下划线__开头和结尾的特殊函数。它们在类定义中用于实现特定的行为,例如运算符重载、属性访问、迭代等。__init__: 这是一个特殊的构造函数,在创建类的实例时自动调用,用于初始化对象的属性。__str__和__repr__: 这两个函数用于定义对象的字符串表示形式。__str__返回可读性较好的字符串,而__repr__返回一个准确的表示对象的字符串,通常可以用于重新创建该对象。__len__: 这个函数用于返回对象的长度,可以通过内置的len()函数调用。和。原创 2023-07-17 21:50:43 · 554 阅读 · 0 评论 -
python中的生成器(generator)
生成器是 Python 中非常有用的一种数据类型,它可以让你在 Python 中更加高效地处理大量数据。函数里有了yield后,执行到yield就会停住,当需要再往下算时才会再往下算。所以生成器函数即使是有无限循环也没关系,它需要算到多少就会算多少,不需要就不往下算。python中的generator保存的是算法,真正需要计算出值的时候才会去往下计算出值。第一种方法:把一个列表生成式的[]改成(),就创建了一个generator。关键字,函数就变成了一个generator。第二种方式:在函数中使用。原创 2023-07-12 23:12:24 · 3982 阅读 · 0 评论 -
Python中的迭代器
在Python中,迭代器是一种访问集合元素的方式,可以用于遍历数据集中的元素,而不需要事先知道集合的大小。迭代器可以被用于循环语句中,例如for循环,来遍历集合中的每个元素。Python中的迭代器是一个实现了迭代器协议(Iterator Protocol)的对象。__iter__():返回迭代器对象本身。__next__()next()方法返回容器中的下一个元素。当容器中的所有元素都被访问完毕后,next()方法会引发StopIteration异常,从而结束迭代。原创 2023-07-12 22:53:15 · 371 阅读 · 0 评论 -
pyhton的*args,**kwargs使用
python 可变参数原创 2022-08-09 22:30:21 · 1360 阅读 · 0 评论 -
Python的装饰器使用
装饰器 pyhton转载 2022-06-25 21:36:52 · 133 阅读 · 0 评论 -
Python之argparse.ArgumentParser
解析器 pyhton原创 2022-03-13 22:53:52 · 574 阅读 · 0 评论 -
使用Robotframework构建自动化测试
一、背景‘Robot Framework 是一款基于 Python 的功能自动化测试框架。它具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发(ATDD)。在我们进行自动化测试的时候可以用此框架来编写一些脚本任务,如定时下载 daily build , 配合 Selenium 完成自动化截图等,来方便我们的测试。二、搭建环境先把python的源换一下:pip config set global.in原创 2020-10-25 22:57:44 · 983 阅读 · 0 评论 -
python函数的一些问题
if __name__=='__main__': test()__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。使用默认参数有什...原创 2019-12-19 09:33:56 · 279 阅读 · 0 评论 -
解决:Pycharm无法识别Python已安装的模块,如cv2(OpenCV)模块
https://blog.youkuaiyun.com/qq2399431200/article/details/92832662查看了好几篇这样的博客,该加的都加了,就是没解决。我装的是华军软件的破解版pycharm2018.搞了一下午,都没有弄好。最后,卸载该软件,从官网上下载最新的社区版。选择自己安装的python编译器,就好了。还是要从官网上下载软件。...原创 2019-12-04 20:31:06 · 1779 阅读 · 0 评论 -
python配置opencv环境
1、下载python3.72、它自带pip,直接输入pip install opencv-pythonpip install numpypip install matplotlib安装不成功则在pip install XXX命令的后面加上--default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple即可。...原创 2019-11-15 19:47:33 · 233 阅读 · 0 评论 -
unicode,decode,encode在python的作用
字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。即:其他编码1à解码(decode)àunicode->编码(encode)->其他编码2 decode的作用是将其他编码的字符串转换成unicode编码,如s转载 2017-07-27 11:01:47 · 1397 阅读 · 0 评论 -
set的使用
创建集合 set([1,2,3,4]),转化为列表list()1、 如果我要在许多列表中找出相同的项,那么用集合是最好不过的了,用集合只用一行就可以解决x & y & z # 交集 2、 去重>>> lst = [1,2,3,4,1]>>> print list(set(list))[1, 2, 3, 4] 3、 基本操作 t.add('x')转载 2017-07-27 10:59:59 · 279 阅读 · 0 评论