目录 __doc__ __doc__ 返回类的注释信息 class Foo: '我是描述信息' pass print(Foo.__doc__) 我是描述信息 该属性无法被继承 class Foo: '我是描述信息' pass class Bar(Foo): pass print(Bar.__doc__) #该属性无法继承给子类 None
目录 什么是封装 如何封装 为什么要封装 封装数据属性的目的 封装函数属性 封装的应用 模块的封装(了解) 什么是封装 封:类的属性对外是隐藏的,但对内是开放的,类似于一个封闭的容器 装:定义类时会申请一个名称空间,往里装入一系列名字/属性 如何封装 class People: __coun
单链表的操作 1、is_empty()链表是否为空 2、length()链表的长度 3、add()链表的头部添加元素 4、append()链表尾部添加元素 5、insert()指定位置添加元素 6、remove()删除节点 7、search()查找链表是否存在 源代码 class Node(): """节点""" def __init__(self,data = No
转载自:https://blog.csdn.net/vivian_wanjin/article/details/82778589 import pymysql class JD(object): def __init__(self): self.dic = {0: self.__close, 1: self.__fetch_all_info, 2: self.__fetch_cate,
迭代器 迭代的工具。迭代是更新换代,如你爷爷生了你爹,你爹生了你,迭代也可以说成是重复,并且但每一次的重复都是基于上一次的结果来的。如计算机中的迭代开发,就是基于软件的上一个版本更新。 可迭代对象 对于这一切的对象中,但凡有__iter__方法的对象,都是可迭代对象。 # x = 1.__iter__
迭代器 迭代器:迭代的工具。 迭代也可以说是重复,每一次的结果都是基于上一次的结果来的。 可迭代对象: height=180 salary=3.2 name='nick' hobby_list=['run','read'] bobby_tup=('run','read') info_dict={'name':'nick','weight':14
这是参加学校的挑战杯做的比较low的项目了,放在这有需要的可以看看 import pygame from plane_sprites import * class PlaneGame(object): #飞机大战主游戏类 def init(self): print(“游戏初始化”) #1.创建游戏的窗口 self.screen = pygame.display.set_mode(SCREEN_RECT.
元类是类的类,是类的模板 type()可实例化一个类 FFo=type('FFo',(object,),{'x':1}) class Foo: passFfo=type('Fjo',(object,),{'x':1})print(Foo)print(Ffo)# print(Fjo) 元类 自定制元类 实例化自动返回一个实例(内置属性) Foo()触发 __call__方法 obj=object.__nem__(s
要求:了解即可,能用最好 """1.print(obj), str(obj), %s % (obj), 都调用obj.__str__()方法,若类中没有找__repr__()方法,若没有找父类的__str__()方法,若没有找__repr__()方法,直到Object2.%r % (obj), repr(obj),都调用obj.__repr__()方法,若类中没有找到__repr__()方法,到父类找,直到Obje
迭代器 # 双下方法# print([1].__add__([2]))# print([1]+[2])# 迭代器# l = [1,2,3]# 索引# 循环 for# for i in l:# i## for k in dic:# pass# list# dic# str# set# tuple# f = open()# range()# enumerate# print(dir([])) #告诉我列表拥有的所有方法# ret = set(dir
LRU是Least Recently Used的缩写,即最近最少使用,常用于页面置换算法,是为虚拟页式存储管理服务的。 现代操作系统提供了一种对主存的抽象概念虚拟内存,来对主存进行更好地管理。他将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在主存和磁盘之间
class Point(object): def __init__(self,name,score): self.__name = name self.__score = score def print_data(self): print('name:%s score:%s' % (self.__name,self.__score)) def get_grade(self): if self.__score &g
一 递归和迭代 递归: 迭代:被for循环方法 二 什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个Stoplteration异常,以终止迭代(只能往后走不能往前退) 例如:生孩子 2.可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一
今日内容: 如何查看对象的名称空间及对象名 继承的另一种使用 单继承与多继承 经典类与新式类 mro列表 菱形继承 接口 抽象类 鸭子类型 1、查看名称空间包含的变量: 使用类或对象名.__dict__查看 实际上在我们调用函数时就是在访问名称空间 比如
先给两个原文链接: https://blog.csdn.net/u013755307/article/details/19913655 https://www.cnblogs.com/scolia/p/6132950.html 播放wav音频的原代码: #引入库import pyaudioimport waveimport sys #定义数据流块chunk = 1024 #只读方式打开wav文件f = wave.open(r"../resourc
栈: # -*- coding:utf-8 -*- class Stack(object): def __init__(self): self.__list = [] def push(self,item): return self.__list.append(item) def pop(self): return self.__list.pop() def peek(self): ""&q
1.文件处理模式b模式 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # f=open('test.py','rb',encoding='utf-8') #b的方式不能指定编码 4 # f=open('test.py','rb') #b的方式不能指定编码 5 # data=f.read() 6 # #'字符串'---------
属性相关的魔术方法: 就是获取成员,删除成员,修改成员相关联的魔术方法而已 5个与属性相关的魔术方法 1.__getattr__ 2.__setattr__ 3.__delattr__ 4.__getattribute__ 5.__dir__ 属性访问的顺序! 1.调用__getattribute__ 2.【调用数据描述符】 3.调用当前对象的所属成
说道这里我们需要稍微暂停一下。前面我们说到了类是作为一个对象存放容器。这个容器里面有属性和方法。最好的理解类的方式就是把类想想成一个容器。 然后构造了一个析构函数和构造函数,然后又对object和self进行了解释,最后又说了一下重写。我们发现类作为一个存放对象的容
单例 class Song: __instance = None def __init__(self): pass @classmethod def getInstance(cls): if cls.__instance == None: cls.__instance = cls() return cls.__instances1 = Song.getInstance()s
魔术方法:一种特殊的方法而已。特点:不需要人工调用,在特定的时刻自动执行。 1.__init__ 初始化魔术方法 1.触发时机:实例化对象之后触发 2.作用:为对象添加对象的所属成员。 3.参数:一个self 接受当前对象 其他的参数根据实例化的传参决定 4.返回值:无 5.注意事项:无 1 #__init
面向对象 ''''1、面向过程编程 核心是"过程"二字,过程指的是解决问题的步骤,即先干什么再干什么 基于该思想编写程序就好比在编写一条流水线,是一种机械式的思维方式 优点:复杂的问题流程化、进而简单化 缺点:可扩展性差2、面向对象 核心"对象"二字,对象指的是特
1.类与对象的概念 对象:特征与技能的集合体类:一系列对象相似的特征与技能的集合体即动物类:特征:鼻子,眼睛,耳朵,嘴巴技能:吃,跑在现实世界中,肯定是现有对象,然后人类根据对象的一些共有特征,对其进行分类。在编程中,需要先定义类,然后实例化产生对象 2.定义类 "现实世界中,先有对象,后产生类"
在研发过程中中,将内容过程中经常用到的一些内容段记录起来,下边资料是关于python自定义字典的扩展类,让字典操作起来更容易的内容,希望对大家有所用。 class easyaccessdict(dict): def __getattr__(self,name): if name in self: return self[name] n=ea
生成器的生活实例 每天要吃一个鸡蛋 1,超市买一框鸡蛋,60个,管60 2,养一只母鸡,母鸡每天下蛋,60天,一天下一个蛋 对于计算机页言 关注的是数据的空间 相当于本例子中,鸡蛋的空间 1,60个,比较占空间的 2,1个鸡蛋,比较省空间 对于生活而言,方式2,还是比较新鲜的 。。 列表生成式 li = [i for i