随笔分类 -  python

python技术相关
摘要:pathlib: 是python内置模块,用来处理文件及目录操作。 相比于os.path,它将路径包装成对象,使用起来更符合直觉,用这一个模块就基本上可以完成所有对文件及目录的增删改查,遍历,重命名,查找等各种操作。 使用此模块时,我们主要使用Path类,它提供了绝大部分的属性和方法来实现我们的日常 阅读全文
posted @ 2025-03-03 09:20 RolandHe 阅读(9) 评论(0) 推荐(0) 编辑
摘要:regular package 和 namespace package 常规包: 包里带有__init__.py文件的包。 import regular_package 等价于 import regular_package.init。 即,导入常规包,其实就是运行包里的__init__文件。 创建一 阅读全文
posted @ 2025-03-01 12:14 RolandHe 阅读(1) 评论(0) 推荐(0) 编辑
摘要:python中有四种命名空间,简称LEGB。 Local: 函数内部变量,包括函数的参数。当函数被执行时,会为函数创建一个独立的namespace,函数执行完就消毁。 Enclosing: 函数中嵌套了内层函数时,外层函数的参数或变量所属的命名空间(即外层函数的Local空间)对内层函数来说就属于E 阅读全文
posted @ 2025-02-21 18:57 RolandHe 阅读(5) 评论(0) 推荐(0) 编辑
摘要:pprint: python内置模块,主要提供一些函数,用于替代print()函数,美化一些python内置的数据类型的输出,比如dict, tuple, list, dataclass等等。 pprint.pp(object, stream=None, indent=1, width=80, de 阅读全文
posted @ 2025-02-18 20:24 RolandHe 阅读(21) 评论(0) 推荐(0) 编辑
摘要:我们经常需要统计一块代码或一个函数运行的时间,下面总结一些计时方法,这些都来自于python内置的time模块。 time.time(): 这个函数返回一个浮点数,表示从起始时间点(1970-01-01, 00:00:00 (UTC)) 到现在的时间经过的秒数。 time.perf_counter( 阅读全文
posted @ 2025-02-17 21:53 RolandHe 阅读(4) 评论(0) 推荐(0) 编辑
摘要:functools.partial(func, /, *args, **keywords): 有的翻译为偏函数,本质上是装饰器和闭包。 给目标函数传入指定的实参后,返回一个新的函数(其实是Partial对象,但仍然是callable),新函数会"冻结"一部分参数(用位置传参的参数,在调用新函数时无法 阅读全文
posted @ 2025-02-14 21:02 RolandHe 阅读(3) 评论(0) 推荐(0) 编辑
摘要:类型和成员 inspect.getmembers(object[, predicate]): 返回一个对象的所有成员,返回形式是一个列表,列表中每个元素是一个二元组,分别为成员名称及成员内容。 下面以一个函数为例,演示一下都有哪些成员。 注意,__builtins__和__globals__两个特殊 阅读全文
posted @ 2025-02-11 19:17 RolandHe 阅读(4) 评论(0) 推荐(0) 编辑
摘要:itertools: python内置模块,提供了很多关于迭代器相关的方法。使用我们有能力在处理大量数据时,不会大量占用内存,而是像一个管道那样从源头获取一个元素,处理一个元素。 下面是三个构造无限内容的迭代器: itertools.count(start=0, step=1): 用于构造无限长度的 阅读全文
posted @ 2025-02-04 19:59 RolandHe 阅读(15) 评论(0) 推荐(0) 编辑
摘要:deque: deque是(double-ended queue)的缩写,读作"deck",底层机制是双向链表。 python内置的list的优势是足够灵活,根据索引快速访问一个元素,支持切片访问。 但list本质是一个连续的内存区域,当列表在追加元素的时候,有时候需要额外分配内存(动态分配内存有个 阅读全文
posted @ 2025-02-04 19:03 RolandHe 阅读(9) 评论(0) 推荐(0) 编辑
摘要:operator: 模块提供了很多python内置运算符对应的函数。 比如加,减,乘,除,与,或,非,is, is not等等。 此模块存在的意义:有时我们在函数式编程时,经常要将一个函数传递给另一个函数。对于像加,减,乘,除这些我们当然可以自定义一个函数,或使用lambda函数来做为参数传递,但这 阅读全文
posted @ 2025-01-30 19:44 RolandHe 阅读(3) 评论(0) 推荐(0) 编辑
摘要:数据字典的创建可用以下几种方式: dict() dict(**kwargs) dict(mapping, **kwargs) dict(iterable, **kwargs) 使用key-value参数创建字典。 >>> MLB_teams = dict( ... Colorado="Rockies 阅读全文
posted @ 2025-01-29 12:09 RolandHe 阅读(9) 评论(0) 推荐(0) 编辑
摘要:sequence: 在python中,sequence指一些具有以下几种特性的数据类型的集合。 是可迭代对象。 可以用for...loop语句进行迭代。 有长度。 可以用len函数获得长度 可以通过整数下标访问里面的一个元素。 除了常见的list, tuple, string以外,range, by 阅读全文
posted @ 2025-01-28 23:39 RolandHe 阅读(18) 评论(0) 推荐(0) 编辑
摘要:使用切片不但可以获取数据,也可以对切片位置的数据赋值可迭代类型,来插入或替换数据。 list_object[start:stop:step] = iterable 如果想在将某个位置的元素替换为新的元素,可以像下面这样使用 numbers = [1, 5, 6, 7] print(numbers[1 阅读全文
posted @ 2025-01-28 11:17 RolandHe 阅读(12) 评论(0) 推荐(0) 编辑
摘要:set:是python中的集合类型,元素不能有重复,且元素类型不能是可变类型。元素是无序的。{}代表空字典而不是空集合。要创建一个空集合得用set()函数 x = {42, 'foo', (1, 2, 3), 3.14159} print(x) x = {42, 'foo', [1, 2, 3], 阅读全文
posted @ 2025-01-27 14:12 RolandHe 阅读(7) 评论(0) 推荐(0) 编辑
摘要:python有许多内置异常。比如我们常见的TypeError, AttributeError, ValueError等等。 实际上所有的异常都源自一个基类BaseException。 注意并不是Exception类。我们一般在异常处理时捕获的称之为Concrete exceptions,用Excep 阅读全文
posted @ 2025-01-22 14:06 RolandHe 阅读(22) 评论(0) 推荐(0) 编辑
摘要:collection.Counter类: 一个方便统计对象数量的类,提供了一些方便使用的方法。它是内置dict类的子类,所以也具有dict的绝大部分特性及功能。 我们统计一个列表,元组,等序列时,有时需要统计每种元素出现的次数。 下面示例模拟一个我们自己会实现的方法: word = "mississ 阅读全文
posted @ 2025-01-20 12:25 RolandHe 阅读(13) 评论(0) 推荐(0) 编辑
摘要:namedtuple: 简单理解,就是在普通元组基础上增加了filed,元组中每个元素都对应一个filed。访问元组中元素时可以不用下标,而是用namedtuple.filed这种类似于属性访问的方式来访问元组中的元素。 使用namedtuple的场景一般是我们需要使用一个tuple。但是我们想增加 阅读全文
posted @ 2025-01-17 14:50 RolandHe 阅读(8) 评论(0) 推荐(0) 编辑
摘要:random(): 随机返回0到1之间的浮点数。左闭右开区间。[0,1) random.seed(): 可以传入一个整数或字符串,用于重复生成相同的一组随机数。 import random random.seed(123) print(random.random()) print(random.ra 阅读全文
posted @ 2025-01-13 16:56 RolandHe 阅读(16) 评论(0) 推荐(0) 编辑
摘要:enum模块: python enum模块提供了枚举功能。有些编程语言是内置了枚举类型,但python没有内置,只是用enum模块里的Enum类来实现类似功能。 如果不使用枚举,我们一般会采用定义常量的方式来处理。比如下面代码: RED, GREEN, YELLOW = range(3) 下面演示了 阅读全文
posted @ 2025-01-11 18:24 RolandHe 阅读(24) 评论(0) 推荐(0) 编辑
摘要:Structural Pattern Matching: 翻译过来应该是 结构化的模式匹配。从python 3.10开始提供了match statement。它远比简单的其它语言中的那种switch语句功能强大的多。 通过一个例子来了解一下这种语句的用法。 假设我们有一个函数,用来区分用户做的操作, 阅读全文
posted @ 2025-01-08 20:44 RolandHe 阅读(18) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示