- 博客(78)
- 收藏
- 关注
原创 Pyqt中的sender()方法的意义
方案是否能区分按钮代码复用性灵活性不使用sender()不能低低使用sender()能高高通过sender()方法,可以在同一个槽函数中处理多个信号源,从而简化代码结构并提高代码的灵活性。
2025-03-09 15:13:18
327
原创 pyqt联合designer的运用和设置
PyQt Designer 是一个用于创建和设计 PyQt 应用程序用户界面的可视化工具。它允许用户通过拖放方式添加和排列各种控件,如按钮、文本框、滑块等,并设置它们的属性和样式,从而快速构建出美观且功能完整的 UI 界面。
2025-03-08 15:57:14
957
原创 Python——计算机网络
端口是一个16位的数字,范围从0到65535。它用于标识应用程序或服务在某个IP地址上的具体位置。每个IP地址可以有多个端口,每个端口可以运行不同的应用程序或服务。通讯接口是一个实现通讯协议的接口,使得不同设备或应用程序能够按照协议的规定进行通信。通讯接口可以是软件接口(如API、库)或硬件接口(如USB、RS-232)。软件接口和硬件接口之间有什么关系呢?为什么会有软件接口和硬件接口?-优快云博客通讯协议是一组规则和标准,用于定义两个或多个通信实体(如设备、应用程序)之间如何进行信息交换。
2025-03-07 15:33:32
1379
原创 通讯协议的分类及原因
通讯协议是计算机网络中用于控制和管理数据传输的规则,它定义了发送方和接收方之间的通信行为,以确保数据传输的安全性和正确性。通讯协议可以分为不同的类型,每种类型都有其特定的应用场景和特点。
2025-03-07 13:46:16
932
原创 PyQt——信号与槽
在PyQt中,自定义信号是指开发者根据自己的需求定义的信号,用于PyQt应用程序中实现对象之间的通讯。自定义信号可以携带数据(如字符串,整数,列表等),并且可以在任何继承自QObject的类中定义和使用。自定义信号需要使用pyqtSignal装饰器定义,并且只能在继承自QObject的类中定义。QObject是什么东西?QObject是 Qt 框架的核心基类,提供了信号与槽机制、事件处理、对象管理和多线程支持等重要功能。在 PyQt 中,任何需要使用信号与槽机制的类都需要继承自QObject。通过继承。
2025-02-28 16:39:17
1012
原创 PyQt——窗口
在PyQt中,窗口(Window)是用户界面的核心组件,通常由QWidget或其子类(如 QMainWindow , QDialog 等)实现。窗口是用户与应用程序交互的主要界面,可以包含各种控件(如按钮,标签,输入框)和布局。控件和窗口的父类 ,自由度高(什么都东西都没有),没有划分菜单、工具栏、状态栏、主窗口 等区域。
2025-02-27 17:09:32
204
原创 PyQt——布局
在PyQt中,布局管理器(Layout Manager)是用于自动排列窗口小部件(Widgets)的工具,能够确保界面在窗口大小发生变化时保持合理的布局。布局管理器是构建动态,响应式用户界面的关键组件。在Qt里面布局分为四个大类:·QBoxLayout——将子窗口部件沿一条直线排列。两种:QHBoxLayout和QVBoxLayout。·QGridLayout——将窗口部件按行和列的网格形式排列。·QFormLayout——用于表单界面的布局管理器。·QStackLayout——用于创建堆叠界面。
2025-02-27 16:49:42
538
原创 C++中的指针
修饰位置含义示例说明指针指向的内容是常量,指针本身可以改变不允许修改指向的内容,但指针可以指向其他地址。指针本身是常量,内容可以改变不允许修改指针的地址,但可以修改内容。指针和内容都是常量不允许修改指针的地址或内容。
2025-02-21 15:23:32
922
原创 面向对象编程——多态和抽象类
指的是多种状态,在完成某个行为时,使用不同的对象会得到不同的状态。如:定义函数(方法),通过类型注解声明需要父类对象,实际传入子类对象进行工作,从而获得不同的工作状态。如上面代码所示,在我们Animal的父类中含有空的speak方法,然后下面的两个子类Dog和Cat继承至Animal父类同时在子类里面也都有speak方法,最后通过make_noise函数的调用展示了多态的行为。也就是。
2025-02-14 14:36:35
360
原创 面向对象编程——类型的注解
python在3.5版本的时候引入了类型注解,以方便静态类型检查工具,IDE等第三方工具。类型注解是在代码中涉及数据交互的地方,提供数据类型的注解(显示的说明)。
2025-02-14 13:09:42
296
原创 面向对象编程——继承中的复写
其实就是子类继承父类的成员属性和成员方法后,如果对其“不满意”,那么就可以进行复写,并且子类中对成员属性的修改不会影响父类中的成员属性。
2025-02-13 15:27:31
727
原创 python中的__eq__方法(比较运算符实现方法)
方法,你可以自定义对象的相等性逻辑,使得两个对象可以通过。在 Python 中,)比较运算符的特殊方法。是用于实现“等于”(
2025-02-13 14:18:59
289
原创 python中的__le__方法(小于等于比较符号方法)
它是一个特殊方法(也称为魔术方法),用于实现对象的“小于或等于”比较。在 Python 中,的缩写,代表“小于或等于”(
2025-02-13 14:15:23
125
原创 python中的__lt__ 方法(小于符号比较方法)
在python中,__lt__ 是用于实现“小于”比较的方法。它对应的是 < 运算符。如果你希望自定义对象支持 < 比较运算,可以通过实现 __lt__ 方法来实现。在这个__lt__方法中我们可以看见other这个参数,这个指的是另一个类对象。·传入参数 :other——另一个对象。·返回值 :Ture或Flase。·方法名 : __lt__
2025-02-13 14:08:35
324
原创 python中的__str__方法(字符串方法)
在python中,__str__方法用于返回一个友好,易于阅读的字符串,以便在打印对象时,能够得到有意义的输出,而不是默认的内存地址表示。对比上面的,使用了字符串方法和没有使用字符串方法的示例的输出结果,使用的输出结果清晰明了。因为内存地址没有多大作用,我们可以通过__str__方法,控制类转换为字符串的行为。的内存地址,这对于调试和日志记录并不友好。方法,直接打印对象时,输出可能是类似。方法可以提高代码的可读性和可维护性。
2025-02-13 13:12:19
222
原创 java——方法的重载
方法重载是 Java 中非常有用的一个特性,通过它可以在同一个类中定义多个同名方法,每个方法处理不同类型的参数。通过方法重载,可以提高代码的可读性和复用性,使代码更加简洁和易懂。
2025-02-11 14:57:39
339
原创 面向对象编程——继承
MRO即方法解析顺序。在python的继承机制中,当一个类继承了其他类时,python会按照一定的顺序来查找方法。这个顺序就是MRO,它主要用于解决在多重继承场景下,当多个父类中有同名方法时,确定调用那个父类方法的规则。python使用c3线性化算法来确定MRO,就是会根据类的继承关系,生成一个从子类到父类的线性顺序列表。
2025-02-08 14:47:55
957
原创 Python函数中的*args和**kwargs
在python中,我们常常会看见*args和**kwargs这样的写法。其实这是编程人员约定的变量名字,args 是 arguments 的缩写,表示位置参数;kwargs 是 keyword arguments 的缩写,表示关键字参数。这其实就是 Python 中可变参数的两种形式,并且 *args 必须放在 **kwargs 的前面,因为位置参数在关键字参数的前面。
2025-02-07 11:26:24
899
转载 面向对象编程——描述器
在解释什么是「描述符」之前,我们先来看一个简单的例子。class A:x = 10这个例子非常简单,我们在类A中定义了一个类属性x,然后打印它的值。class Ten:return 10class A:x = Ten() # 属性换成了一个类仔细看,这次类属性x不再是一个具体的值,而是一个类Ten。Ten中定义了一个__get__方法,返回具体的值。在 Python 中,允许把一个类属性,托管给一个类,这个属性就是一个「描述符」。换句话说,「描述符」是一个「绑定行为」的属性。
2025-02-07 10:37:26
34
原创 面向对象编程——装饰器
装饰器本质上是一个函数,它接收一个函数或类作为参数,然后返回一个新的函数或类。通过装饰器,你可以在不修改原始代码的情况下,动态的添加功能。
2025-02-06 13:26:44
386
原创 python中的@property
在python中,@property是一个装饰器,用于将类中的方法转换为属性。通过 @property,你可以将方法的调用方式变为属性访问方式,同时保留方法的内部逻辑,可以使代码更加简洁,易读,并且可以在访问属性时执行一些额外的逻辑。:可以定义一些动态计算的属性,这些属性的值不是直接存储的,而是在访问时计算。可以在不改变接口的情况下,将普通属性改为方法,或者将方法改为普通属性。,你可以将方法的实现细节隐藏起来,只暴露属性的接口。:将方法转换为属性,使方法的调用方式与普通属性相同。:定义属性的设置器方法。
2025-02-06 12:45:10
636
原创 python中的__annotations__
在解释在函数定义中,参数名后面可以加上冒号( :),然后指定参数的类型,用于为函数参数添加类型信息。a: int表示参数a的期望类型是int。b: int表示参数b的期望类型是int。-> int表示函数返回值的期望类型是int。
2025-02-05 14:55:44
441
原创 python中的匿名函数(lambda函数)
在python中,匿名函数(lambda函数)是一种使用简洁的语法来创建函数的方式。它允许你定义一个小型的,单行的函数,而无需使用def关键字来定义一个完整的函数。lambda函数通常用于简单的操作,尤其是在需要函数作为参数传递的场景中。
2025-01-23 11:02:16
204
原创 面向对象编程——常用的内置属性
_module__是 Python 中类、函数或模块对象的一个内置属性,用于表示该对象定义所在的模块名称。通过__module__,你可以动态地获取某个类或函数所属的模块,这在调试、日志记录或动态加载模块时非常有用。"""这是一个人,这样的类"""age = 19__main__
2025-01-23 09:41:53
202
原创 面向对象编程——偏函数
除了使用,你还可以通过定义一个新的函数来实现偏函数。这种方法更加灵活,允许你自定义函数的行为。示例:使用自定义函数假设我们仍然使用add我们可以通过定义一个新的函数来固定b# 使用自定义偏函数print(result) # 输出: 15特点自定义函数可以完全控制偏函数的行为。可以在新函数中添加额外的逻辑。更适合复杂的场景,尤其是当需要对参数进行预处理或后处理时。示例:自定义偏函数并添加额外逻辑# 使用自定义偏函数print(result) # 输出: 15。
2025-01-23 09:15:45
316
原创 面向对象编程——私有化属性
访问范围公有属性受保护属性私有属性类内部访问可以访问和修改可以访问和修改可以访问和修改子类内部访问可以访问和修改可以访问和修改不能直接访问,但可以通过名称修饰访问模块内其他位置访问可以访问和修改可以访问和修改(不推荐)不能直接访问,但可以通过名称修饰访问跨模块访问可以访问和修改可以访问和修改(不推荐)不能直接访问,但可以通过名称修饰访问(1)没有下滑线——公有属性(2)一个下划线——受保护属性(3)两个下划线——私有属性。
2025-01-22 16:14:39
1044
原创 面向对象编程——类的描述与项目文档
查看文档描述:python3 -m pydoc 模块名称启动本地服务,浏览文档:python3 -m pydoc -p 1234生成指定模块html文档:python3 -m pydoc -w 模块名称首先,在电脑本地打开cmd工具。然后,找到文件的所在目录,然后再cmd命令框中(cd 路径)切换到指定路径。然后,我们在文件目录下输入命令python3 -m pydoc -h,会出现相关帮助文档在这里我们查看一个模块的文档。这里就会输出文件下的对应文档。其他命令就不在这里一 一赘述。
2025-01-22 13:01:54
374
原创 面向对象编程——如何限制对象去添加属性(__slots__)
在python中,__slots__是一个特殊的类属性,用于限制实例可以拥有的属性,并优化内存使用。通过设置__slots__,可以显式地声明实例允许拥有的属性名称,从而避免动态添加属性。这种方式在某些场景下可以提高性能和内存效率。
2025-01-21 13:41:43
135
原创 面向对象编程——函数 __class__
在python的面向对象编程中,__class__是一个特殊的属性,它与类和实例相关,用于表示对象类信息。通过 __class__,你可以访问一个对象所属的类,或者获取类本身的元类信息。
2025-01-21 12:38:47
291
原创 面向对象编程——对象实例化
在python中,对象实例化是根据类的定义创建具体对象的过程。也就是将类当成模板,从而定义了对象的结构和行为,而实例化则是根据这个模板创建具体的对象实例。每个实例都有自己独立的状态,但是却共享类的结构和方法。2.如果没有找到,就根据__class__找到对象对应的类,然后到这个类里面查找。1.对象的属性查找是优先到对象自身去查找属性,如果找到就结束。为什么可以通过对象访问到类属性?
2025-01-21 09:58:04
124
原创 面向对象编程——类变量(属性)添加变量的两种方法解析
在我们初学python的时候,当我们给类添加对象时,发现有两种写法。为此我们产生疑惑,都是输出同样的值,为啥会出现两种写法呢?2.第二种写法是动态式的,count是在类定义之后动态添加的,不属于类的初始定义。1.第一种写法是声明式的,count是类的一部分,属于类的初始定义。提供了更大的灵活性,但可能会降低代码的可读性和维护性。更适合在类的设计阶段,明确表示某些属性是类的一部分。更适合在运行时动态修改类的结构。代码更清晰,语义更明确。
2025-01-20 17:18:27
436
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人