自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 【Python进阶】映射类型及其继承关系解析

通过理解 Python 中的映射类型及其继承关系,我们不仅能够更好地理解 dict、OrderedDict、defaultdict 等类型的功能差异,还能在类型提示中更加精准地表达我们希望接受的类型。这种理解能够帮助我们在代码中严格区分不同类型的映射,避免不必要的错误,并提高代码的可读性和可维护性。

2024-11-29 14:40:32 1102

原创 【Python进阶】隐式接口检查与 isinstance 的机制解析

isinstance 只是检查对象是否是某个类或其子类的实例,它并不关心类的方法实现。abc.Collection 等抽象基类通过__subclasshook__方法来隐式检查一个类是否实现了符合接口要求的方法(如__contains__() 和__len__())。这种方法检查由抽象基类(例如 abc.Collection)实现,而不是 isinstance 自身。isinstance 会利用这些检查来判断一个对象是否符合某个类型的要求。

2024-11-25 09:00:00 947

原创 【Python进阶】为何使用isinstance检查抽象基类接口比直接检查dict类型更优

这段话的核心意思是,通过抽象基类(例如 Mapping)和 isinstance 来测试对象是否实现了某个接口,比直接检查对象是否是某个具体类型(如 dict)更具灵活性。因为实现了特定接口的对象不仅限于某个具体类型,使用抽象基类可以让你更普遍地检查对象的接口,而不局限于某种实现类型。例如,代码中的自定义类 MyMapping,虽然它不是 dict 类型,但它实现了字典的行为,使用 Mapping 抽象基类就能让你正确识别它是一个符合字典接口的对象。Mapping 是 dict 的父类。

2024-11-22 10:05:41 862

原创 【Python进阶】具名元组NamedTuple与dataclasses模块

本文分别介绍了具名元素NamedTuple和dataclasses类的功能和使用,对比了两者的区别和优缺点。

2024-09-27 08:00:00 1060

原创 【Python进阶】常量和枚举类型

本文介绍了在复杂项目时可以通过创建枚举类型来帮助常量的管理与使用。

2024-09-26 15:43:50 169

原创 【python进阶】基类、元类以及一些相关的概念如抽象类和接口

在面向对象编程中,有几个重要的概念涉及类和类的定义方式:基类、元类以及一些相关的概念如抽象类和接口,本文将一一介绍它们。

2024-08-08 17:05:27 1639 1

原创 python实现Savitzky-Golay平滑与Whittaker平滑,附加平均绝对误差、均方根误差、相关系数三种评判指标。

代码:调用sklearn.metrics中的mean_absolute_error函数。代码:调用sklearn.metrics中的mean_squared_error函数。使用python实现很简单,只需要调用savgol_filter函数即可。代码:调用numpy中的corrcoef函数。

2024-03-13 11:19:33 847

原创 【Lua】可变长度参数

在 Lua 中,可变长度参数是一种特殊的参数形式,允许函数接受不定数量的参数。在函数定义时,使用"…"(三个点)表示可变长度参数。在上面的示例中,sum 函数使用了可变长度参数 …。在函数体内部,我们使用 ipairs({…}) 来遍历传递给函数的所有参数,并将它们相加得到总和。通过使用可变长度参数,可以方便地处理不确定数量的参数,使函数更加灵活和通用。注意,可变长度参数只能出现在参数列表的最后。

2024-01-25 10:41:16 621

原创 【python】类的继承、多继承、重写、同名方法调用、super()

在子类的 method 方法中,我们通过 super().method() 调用了父类的 method 方法,并在之后添加了子类特定的逻辑。如果多个父类中存在相同的方法名,则会按照方法解析顺序,依次从左到右查找,直到找到第一个匹配的方法为止。通过使用 super().method_name(),可以保证调用的是父类的方法而不是子类的重写方法。在多继承中,当继承的父类中都有一个名字相同的方法,当子类实例调用这个方法时,使用的是方法解析顺序(Method Resolution Order,MRO)。

2024-01-17 11:20:28 1482

原创 Django GET /statics/plugins/bootstrap-3.4.1/dist/css/bootstrap.css HTTP/1.1“ 404

报错为:获取不到插件将代码改为:就可以运行了。

2023-11-30 10:34:56 820

原创 【python】使用h5py库对HDF文件进行处理

本文主要介绍使用python中的h5py库对HDF格式的文件进行简单的读取和创建新的HDF文件的方法。

2023-11-21 10:59:23 1364

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除