后端
未读
Python Learn(七)
本文深入讲解了Python中的几个高级特性:函数的作用域、闭包、装饰器。首先解释了Python函数的作用域规则,即LEGB规则,涵盖了局部、闭包、全局和内置作用域。接着,通过示例详细介绍了闭包的概念、作用以及使用场景,包括如何通过闭包提高代码的复用性和封装性。然后,文章通过具体代码演示了如何使用装饰器简化代码并增强函数功能,包括装饰器的定义、使用方法和语法糖@的应用。通过这些内容,读者可以更深入地理解Python中的这些高级特性,并在实际编程中灵活运用。
后端
未读
Python Learn(六)
本章节深入探讨了Python中的文件操作,包括文件的基本概念、打开与关闭文件的不同方式、文件读写操作以及文件指针和文件对象属性的详细讲解。首先,介绍了文件在Python中的定义及其在Linux系统中的特殊视角,紧接着通过open函数的使用,展开了文件的打开方法以及读写方式的具体操作,包括如何利用缓冲区大小,以及如何使用read、readline、readlines等函数进行高效文件读取。此外,文章还讨论了文件写入的机制,强调了调用close()或flush()方法的重要性,以确保数据正确同步到磁盘。在讲述文件关闭的必要性时,也提到了操作系统对打开文件数量的限制。最后,文章详细解释了文件指针的操作和文件对象的一些重要属性,如文件描述符fileno、文件打开模式mode、文件编码等,为读者提供了全面而深入的文件操作知识。
通过本章节的学习,读者将能够掌握Python中进行文件操作的各种技巧和最佳实践,为处理实际编程任务中的文件操作需求打下坚实的基础。
后端
未读
Python Learn(五)
本文深入讲解了Python中面向对象编程的核心概念,包括继承、多态和类的定制化。通过继承,子类能够获取父类的属性和方法;多态允许子类以不同的方式实现这些方法。文章还介绍了如何使用特殊方法来定制类的行为,例如__str__、__repr__和__cmp__等,以及@property装饰器的使用,这有助于安全地访问和修改私有属性。此外,还探讨了__slots__的使用来限制类属性,以及__call__方法,使类实例能够像函数那样被调用。这些高级特性的讲解,旨在帮助开发者更深入地理解并应用Python的面向对象编程,提高代码的效率和质量。
后端
未读
Python Learn(三)
本篇文章总结了Python中的函数式编程、高阶函数、map()、reduce()、filter()、sorted()、闭包、匿名函数、decorator以及偏函数等概念和用法。函数式编程不要求是纯函数式编程,允许存在变量,支持高阶函数、闭包和有限支持匿名函数。高阶函数可以接收函数作为参数,或者返回函数作为结果。map()对列表中的每个元素应用一个函数,reduce()对列表中的每个元素进行累积计算,filter()过滤列表中的元素。Python中还可以使用sorted()进行自定义排序,返回函数的概念在Python中得以实现,函数装饰器这一特性可以动态地增加函数的功能。最后,通过functools.partial()函数实现偏函数,方便地对参数较多的函数进行简化调用。
后端
未读
Python Learn(二)
本文主要介绍了Python函数、切片、迭代、列表生成式的使用方法。通过示例介绍了在Python中定义函数、调用函数、函数编写、函数返回值、递归函数、默认参数、可变参数等内容,同时详细介绍了对list、tuple、dict、字符串进行切片操作的方法,以及如何使用迭代和列表生成式生成列表。文章通过示例演示了多种不同场景下的应用,帮助读者更好的理解Python的相关知识点。
后端
未读
Python Learn(四)
这篇文章介绍了Python中的模块、包的概念,以及如何导入模块和使用模块中的函数。此外,还讨论了Python中动态导入模块的方法,以及使用__future__模块来试用新的特性。另外,还介绍了安装第三方模块的方法,包括使用easy_install和pip。文章还详细解释了面向对象编程中的类属性、实例属性、以及访问限制的概念,同时介绍了如何定义实例方法和类方法。最后,文章还介绍了在Python中定义类属性和实例属性名字冲突的解决方法。
后端
未读
Python Learn(一)
本文主要介绍了Python的入门知识、变量和数据类型、以及集合类型List、Tuple、set、Dict的使用。在Python中,可以使用变量存储不同类型的数据,而List、Tuple、set和Dict则是Python中常用的集合类型。List是一种有序集合,可以随时进行增加和删除操作;Tuple是有序列表,一旦赋值即不能修改;set是一组不重复的无序元素集合;Dict则是键值对的映射关系。另外,文章也介绍了循环判断的几种语法,包括if、while和for。通过这篇文章,读者可以更好地了解Python中的基础知识和集合类型的使用。
后端
未读
实现Java加密,Python解密的非对称RSA功能
本文介绍了如何实现Java端进行加密,Python端进行解密的非对称RSA功能。在Java端使用的是RSA/ECB/OAEPWithSHA-256AndMGF1Padding算法对数据进行加密,而Python端使用RSA算法对加密数据进行解密。在Java端需要注意数据长度限制以及公钥格式是DER的问题,而在Python端需要注意Base64格式转换和换行符的处理。通过该功能可以实现跨语言的数据加解密操作,提供了Java和Python端的代码示例。详细代码请查看作者Github。
后端
未读
Python之多线程开发
该代码示例展示了在Python 2.7环境下如何利用多线程和多进程来提升程序执行效率。通过定义`file2transfer`类,实现了文件处理的并发操作。程序首先使用`multiprocessingPool`进行多进程分配,每个进程中又利用`ThreadPool`开启多个线程来并行执行`file_operation`方法,该方法针对每个文件执行具体操作(此处留作待实现)。特别地,为解决Python 2.7多线程存在的问题,采用了代理函数`proxy`和`proxy2`。此设计旨在通过并行处理加速文件的传输或转换等任务,理论上可使程序执行效率提升至少10倍,体现了多线程开发在提升IO密集型任务性能上的优势。
后端
未读
Python之Elasticesearch游标查询
在Python中,Elasticsearch游标查询是处理大量数据的有效工具。通过使用Elasticsearch库,可以实现滚动查询,允许在默认两分钟的游标过期时间内持续获取数据。这种查询方法适用于需要一次性处理大批量数据的场景,通过使用游标可以有效地管理和获取查询结果。代码示例展示了如何初始化Elasticsearch连接,并定义了一个方法`search_by_scroll_id`,该方法使用游标方式查询指定索引和文档类型的数据,并支持聚合语句以及自定义的时间范围过滤条件。通过这种方式,可以高效地处理和分析大规模数据集。