摘要:
什么是封装? 在设计类时,刻意地将一些属性和方法隐藏在类的内部,这样在使用此类时,将无法直接以“类对象.属性名”(或者“类对象.方法名(参数)”)的形式调用这些属性(或方法),而只能用未隐藏的类方法间接操作这些隐藏的属性和方法。封装绝不是将类中所有的方法都隐藏起来,一定要留一些像键盘、鼠标这样可供外 阅读全文
摘要:
常用orm语句 Book.objects.all() # 取出所有 Book.objects.all().delete() #删除所有对象 删除数据记录 Book.objects.filter(pk=1).update(price=190) # 过滤并更新,修改主键为1的书籍对象, 的字段price 阅读全文
摘要:
类命名空间 Python 中,编写的整个程序默认处于全局命名空间内,而类体则处于类命名空间内。所有位于 class 语句中的代码,其实都位于特殊的命名空间中,通常称之为类命名空间。 global_fn = lambda p: print('执行lambda表达式,p参数: ', p) class C 阅读全文
摘要:
我们一直在用“类对象.属性”的方式访问类中定义的属性,其实这种做法是欠妥的,因为它破坏了类的封装原则。正常情况下,类包含的属性应该是隐藏的,只允许通过类提供的方法来间接实现对类属性的访问和操作。 操作类属性 在不破坏类封装原则的基础上,为了能够有效操作类中的属性,类中应包含读(或写)类属性的多个 g 阅读全文
摘要:
三个特殊方法 __set __(self, obj, type=None):在设置属性时将调用这一方法; __get __(self, obj, value):在读取属性时将调用这一方法; __delete __(self, obj):对属性调用 del 时将调用这一方法。 class Reveal 阅读全文
摘要:
什么是self? 在定义类的过程中,无论是显式创建类的构造方法,还是向类中添加实例方法,都要求将 self 参数作为方法的第一个参数,self 到底扮演着什么样的角色呢? 通俗解释 举个栗子: 如果把类比作造房子的图纸,那么类实例化后的对象是真正可以住的房子。根据一张图纸(类),我们可以设计出成千上 阅读全文
摘要:
类仅仅充当图纸的作用,本身并不能直接拿来用,而只有根据图纸造出的实际物品(对象)才能直接使用。因此,Python 程序中类的使用顺序是这样的: 创建(定义)类,也就是制作图纸的过程; 创建类的实例对象(根据图纸造出实际的物品),通过实例对象实现特定的功能。 类的定义 无论是类属性还是类方法,对于类来 阅读全文