随笔分类 -  python

记录自己一生的IT生涯,希望能坚持下去(布道)
摘要:1 ''' 2 私有属性在类外无法通过对象.属性名获取,因此提供setter&getter方法来访问、修改 3 ⼀般定义函数名 get_xx ⽤来获取私有属性,定义 set_xx ⽤来修改私有属性值 4 ''' 5 6 class Master(object): 7 def __init__(sel 阅读全文
posted @ 2023-07-20 00:03 Allen_Hao 阅读(61) 评论(0) 推荐(0)
摘要:1 ''' 2 在Python中,可以为实例属性和⽅法设置私有权限,即设置某个实例属性或实例⽅法不继承给⼦类 3 4 设置私有权限的⽅法:在属性名和⽅法名 前⾯ 加上两个下划线 __。 5 ''' 6 7 class Master(object): 8 def __init__(self): 9 s 阅读全文
posted @ 2023-07-19 23:58 Allen_Hao 阅读(29) 评论(0) 推荐(0)
摘要:说明 子类调用父类同名方法和属性 同名方法2种形式: 通过父类名.方法名()调用指定父类的方法 && super().方法名() # 调用父类的同名方法 同名属性2种形式: 父类名.__init__(self)让父对象初始化(实例属性) 或父类名.类属性 方法1:父类名.方法名() 1 ''' 2 阅读全文
posted @ 2023-07-19 23:49 Allen_Hao 阅读(92) 评论(0) 推荐(0)
摘要:1 ''' 2 子类重写父类同名属性和方法 3 ''' 4 5 6 # 1. 师父类,属性和方法 7 class Master(object): 8 def __init__(self): 9 self.kongfu = '[古法煎饼果子配方]' 10 11 def make_cake(self): 阅读全文
posted @ 2023-07-19 23:06 Allen_Hao 阅读(60) 评论(0) 推荐(0)
摘要:MRO(Method Resolution Order)是指多继承中确定方法调用顺序的算法。Python 3 默认使用 C3 算法来计算 MRO。 在使用多继承时,以下是一些 MRO 的最佳实践、坑和示例: 最佳实践: 明确继承关系:在设计类的继承结构时,要清晰明确地指定父类和子类之间的继承关系,避 阅读全文
posted @ 2023-07-19 22:54 Allen_Hao 阅读(551) 评论(0) 推荐(0)
摘要:分类 python继承不像java使用支持单继承,而python支持单继承、多继承。 单继承 1 class ParentClass: 2 # 父类的属性和方法 3 4 class ChildClass(ParentClass): 5 # 子类的属性和方法 单继承顾名思义就是子类只有1个父类。示例C 阅读全文
posted @ 2023-07-19 22:42 Allen_Hao 阅读(40) 评论(0) 推荐(0)
摘要:1 ''' 2 继承:子类复用父类属性、方法 3 ''' 4 5 6 class Parent(): 7 8 def __init__(self): 9 self.name = 'Allen' 10 11 def say(self): 12 print(f'say name:{self.name}' 阅读全文
posted @ 2023-07-19 22:30 Allen_Hao 阅读(24) 评论(0) 推荐(0)
摘要:继承的概念 继承是面向对象编程中的一种重要概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类、基类或超类)的属性和方法。 通过继承,子类可以获得并重用父类的代码,同时还可以添加、修改或覆盖父类的功能。 继承的主要目的是实现代码的重用和扩展即通过继承,子类可以从父类继承属性和方法(公有和私有 阅读全文
posted @ 2023-07-19 22:23 Allen_Hao 阅读(30) 评论(0) 推荐(0)
摘要:1 ''' 2 给一套房子装修即房子里面添加家具 3 1. 家具的属性 4 1. 名称 5 2. 大小/面积 6 2. 房子的属性 7 1. 位置 8 2. 总面积 9 3. 空闲面积 10 3. 房子的行为: 11 1. 置办家具 12 ''' 13 14 15 class Furniture: 阅读全文
posted @ 2023-07-19 21:32 Allen_Hao 阅读(19) 评论(0) 推荐(0)
摘要:需求(目的:练习面向对象思想,分析主题及主题之间关系) 需求主线: 1. 被烤的时间和对应的地⽠状态: 0-3分钟:⽣的 3-5分钟:半⽣不熟 5-8分钟:熟的 超过8分钟:烤糊了 2. 添加的调料: ⽤户可以按⾃⼰的意愿添加调料 分析 主题的拆分(就涉及1个地瓜) 需求涉及⼀个事物: 地⽠。根据面 阅读全文
posted @ 2023-07-18 00:24 Allen_Hao 阅读(33) 评论(0) 推荐(0)
摘要:1 ''' 2 __eq__(), __lt__(), 和 __gt__() 都是 Python 的特殊方法,用于比较对象之间的大小和相等性。 3 4 1. __eq__(self, other): 5 1. 用于检查两个对象是否相等。 6 2. 接受一个参数 other,表示与当前对象进行比较的另 阅读全文
posted @ 2023-07-18 00:06 Allen_Hao 阅读(64) 评论(0) 推荐(0)
摘要:__getattr__ 当访问对象的属性不存在时被自动调用。 1 class MyObject: 2 def __init__(self): 3 self.data = {'name': 'Alice', 'age': 25} 4 self.id=1 5 6 def __getattr__(self 阅读全文
posted @ 2023-07-17 23:59 Allen_Hao 阅读(57) 评论(0) 推荐(0)
摘要:__call__方法详解 1 ''' 2 __call__() 是一个特殊方法,用于使对象可以像函数一样被调用。当我们使用对象名加括号的形式来调用对象时,会调用该对象的 __call__() 方法。 3 4 详解: 5 1. __call__(self, *args, **kwargs) 方法接受任 阅读全文
posted @ 2023-07-17 23:39 Allen_Hao 阅读(68) 评论(0) 推荐(0)
摘要:1 ''' 2 __contains__() 是一个特殊方法,用于定义对象是否包含某个元素的逻辑。它在使用 in 运算符检查成员关系时被调用。 3 4 详解: 5 1. __contains__(self, item) 方法接受一个参数 item,表示要检查的元素。 6 2. 该方法应返回一个布尔值 阅读全文
posted @ 2023-07-17 23:26 Allen_Hao 阅读(60) 评论(0) 推荐(0)
摘要:1 class MyIterable: 2 def __init__(self): 3 self.data = [1, 2, 3] 4 5 def __getitem__(self, index): 6 return self.data[index] 7 8 def __iter__(self): 阅读全文
posted @ 2023-07-17 23:05 Allen_Hao 阅读(53) 评论(0) 推荐(0)
摘要:__iter__ __iter__(self) 是一个特殊方法,用于返回一个迭代器对象,使得自定义的类可以支持迭代操作。 最佳实践: 在自定义类中实现 __iter__() 方法时,应该返回一个迭代器对象,通常是自身的实例。 迭代器对象应该实现 __next__() 方法,用于返回容器中的下一个元素 阅读全文
posted @ 2023-07-17 23:01 Allen_Hao 阅读(77) 评论(0) 推荐(0)
摘要:1 ''' 2 __getitem__(self, key)、__setitem__(self, key, value) 和 __delitem__(self, key) 是 Python 中的特殊方法,用于定义对对象进行索引操作时的行为。 3 它们分别用于获取、设置和删除对象中的元素 4 1. _ 阅读全文
posted @ 2023-07-12 23:23 Allen_Hao 阅读(91) 评论(0) 推荐(0)
摘要:1 ''' 2 __len__() 是一个魔法方法,用于返回对象的长度或元素个数。 3 它通常被用于支持内置函数 len() 的调用,并在自定义的容器类中实现。 4 最佳实践: 5 1. 在容器类中实现 __len__() 方法可以提供对象的长度信息,使其能够像内置容器(如列表、字典等)一样使用。 阅读全文
posted @ 2023-07-12 23:12 Allen_Hao 阅读(33) 评论(0) 推荐(0)
摘要:1 ''' 2 __repr__() 和 __str__() 都是 Python 中的特殊方法,用于定义对象的字符串表示形式。它们之间的区别如下: 3 1. __repr__(self):返回一个字符串,用于表示对象的“官方”字符串表示形式。这个字符串应该是可以用来重新创建对象的,并且应该尽可能准确 阅读全文
posted @ 2023-07-12 23:04 Allen_Hao 阅读(59) 评论(0) 推荐(0)
摘要:什么是魔法方法? Python类中的魔法方法(Magic Methods)是特殊的方法,以双下划线(__)开头和结尾的方法。 这些方法在对象的创建、运算符重载、属性访问等方面提供了特定的行为。 都是内置方法,一般方法命名不建议使用这种格式即双下划线开头和结尾的方法 __init__(self, .. 阅读全文
posted @ 2023-07-12 22:35 Allen_Hao 阅读(23) 评论(0) 推荐(0)