Python-子类和虚拟子类
在Python中,子类和虚拟子类是两种不同的概念,它们的区别主要在于继承的方式和目的:1. 子类 (Subclass)定义:子类是通过类的继承机制显式定义的类。特点:用途:通常用于实现类的继承和多态。示例:class Parent: def greet(self): ...
Python--bytearray、bytes、memoryview的区别与联系
bytearray、bytes 和 memoryview 的区别与联系这三者都是 Python 中处理字节数据的关键对象,它们之间有很多相似之处,但也存在显著的差异。理解它们的特性以及如何选择适当的对象是非常重要的。下面我们详细介绍这三者的区别和联系。1. bytes概念:bytes 是一个不...
Python-- memryview 介绍
Python 中的 memoryviewmemoryview 是 Python 提供的一个内建类,允许你在不复制数据的情况下操作字节数据。它提供了一种有效的方式来访问和操作可变数据类型(如字节对象、字节数组、bytearray 等)的内存数据。memoryview 对象能够访问数据的内部内存,...
python-使用array构建高效的存储
在 Python 中,array 是由标准库模块 array 提供的一种数据结构,用于高效存储和操作固定类型的数值数组。与 Python 的内置列表类似,array 可以存储多个元素,但与列表不同的是,array 中的所有元素必须是同一类型,并且类型在数组创建时固定。模块导入使用前需要导入模块...
python内置函数ord()
ord() 是 Python 内置函数之一,用于返回给定字符的 Unicode(或ASCII)码点(即字符的整数表示)。语法:ord(char)参数:char 是一个字符(长度为1的字符串)。返回值:返回该字符对应的 整数,表示该字符的 Unicode 码点。示例:print(ord('a')...
Python-何时调用__repr__
__repr__ 是 Python 中的一个特殊方法,当需要得到一个对象的“官方字符串表示”时会被调用。以下是常见调用 __repr__ 的场景:1. 直接在交互式解释器中输入对象时如果在 Python 的交互式解释器中直接输入对象的变量名,而不是显式调用 print,解释器会调用 __rep...
Python-数据类之dataclasses
Python 中的 dataclassdataclass 是 Python 3.7 引入的一个装饰器,用于简化类的定义,特别适合那些主要用于存储数据的类。它会自动为类生成一些常见的特殊方法,如 __init__、__repr__、__eq__ 等,从而减少样板代码的编写。1. 基本用法from...
Python-数据类构建器
全面对比和总结 collections.namedtuple、typing.NamedTuple、dataclasses.dataclass 的 Python 用法及其差异,适用于你一文掌握三者的语法、默认值设置、可变性、功能支持等核心要点:✅ Python 中三种结构化数据类型对比特性col...
Python-参数化装饰器
参数化的装饰器简介装饰器是 Python 中非常强大的功能,允许我们为函数或方法添加功能,而无需修改原始代码。参数化的装饰器是装饰器的一种变体,它允许我们向装饰器传递额外的参数,从而动态调整装饰器的行为。普通的装饰器只接受一个被装饰的函数作为输入,而参数化的装饰器允许传递自定义参数,并根据这些...
Python变量的作用域
从变量的作用域角度来看,Python 中的变量可以分为以下几类:全局变量、局部变量、非局部变量和内建变量。这些分类主要与变量的可见范围和生命周期有关。1. 全局变量 (Global Variables)定义:在函数或类的外部定义的变量,作用域是整个模块(文件)。它们可以在模块内的所有函数中被访...
设计模式--创建模式-建造者模式
建造者模式(Builder Pattern)建造者模式(Builder Pattern)是一种创建型设计模式,旨在将一个复杂对象的构建过程与它的表示分离,使得同样的构建过程可以创建不同的表示。简而言之,建造者模式通过分步构建来创建复杂对象,它可以更好地控制复杂对象的创建过程,同时保持代码的可读...
设计模式--创建模式-工厂方法模式
工厂方法模式工厂方法模式(Factory Method Pattern)是一种创建型设计模式,旨在通过定义一个创建对象的接口,使得子类决定实例化哪一个类。工厂方法模式允许一个类将实例化的任务推迟到其子类,从而使得代码更具扩展性和灵活性。工厂方法模式的核心思想是通过一个抽象的工厂接口来创建对象,...
Django的FileStorage的url生成规则
在 Django 中,FileStorage 是用来处理文件存储的。文件存储系统的 URL 生成规则取决于你对存储后端的配置,特别是 MEDIA_URL 和 MEDIA_ROOT 的设置。以下是 Django 文件存储系统 URL 生成的详细规则和机制。1. 基本配置Django 使用两个关键...
设计模式-简单工厂模式
简单工厂模式(Simple Factory Pattern)是一个创建型设计模式,属于工厂方法模式的变种。它定义了一个工厂类,该类负责创建一系列的对象,而无需指定具体的类。简单工厂模式通过一个静态方法来创建对象,这样客户端代码就不需要了解对象的具体类,只需要调用工厂类的工厂方法就可以获得需要的...
23种常见设计模式
为了更清晰地展示这23种设计模式,我将为每种模式提供 基本概念、结构 和 示例。为了便于理解,每种模式我都会简要描述它的作用、结构及适用的场景,并提供相应的代码示例(尽量简洁明了)。一、创建型模式(Creational Patterns)1. 单例模式(Singleton Pattern)基本...
Python中的接口设计
接口的概念在面向对象编程中,接口(Interface)是一种约定或规范,定义了一个类必须提供的方法,但不具体实现这些方法。接口的主要作用是为对象提供一种统一的交互方式,同时确保不同的类能够实现相同的行为。接口的特点约定规范:接口定义了类必须实现的方法。实现强制性:类必须实现接口中定义的所有方法...
面向对象基本概念
面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,核心思想是通过对象来组织程序,强调封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)这三个基本特性。以下是对这三个概念的详细介绍:1. 封装(Enc...
Django的Permission细节
Django 的权限系统是一套灵活且强大的机制,用于控制用户对资源的访问。它包括用户、组、权限模型的交互,并支持内置和自定义权限。以下是 Django 权限系统的实现细节:1. 权限模型 (Permission)Permission 是 Django 内置的模型,存储权限相关的信息。权限与模型...
Django模型中的GET和filter的区别与联系
在 Django ORM 中,get() 和 filter() 是两种常用的查询方法,主要用于从数据库中获取数据,但它们的功能和行为有显著区别。1. get() 方法特点:返回单个对象。如果查询的结果不是唯一的(即没有找到记录或找到了多条记录),会引发异常。用法:Blog.objects.ge...
Django的F表达式
在 Django 的 ORM 中,F 表达式用于引用模型字段的值,并可以在查询中执行字段之间的操作。F 表达式常用于更新某个字段的值,或者在查询中进行字段之间的计算。常见使用示例1. 字段之间的计算假设你有一个 Product 模型,包含字段 price 和 discount,你想计算某个商品...
Python常用的内置函数
以下是 Python 3.12 所有内置函数的详细介绍,包括用法和示例代码:1. abs()返回数字的绝对值。print(abs(-10)) # 10 print(abs(3.5)) # 3.5 2. all()如果可迭代对象的所有元素都为真,则返回 True,否则返回 False。p...
Django的请求处理过程
Django 内部的执行顺序可以分为以下几个主要阶段,从客户端发起请求到返回响应的整个流程:1. 客户端请求客户端向 Django 应用发送一个 HTTP 请求。Django 接收到该请求后,会将其封装成一个 HttpRequest 对象,并交给应用处理。2. 中间件(Middleware)D...