摘要:
1、简述可迭代对象、迭代器、生成器的关系. 注意列表生成式 可作用于for循环的对象都是可迭代对象。可作用于next()函数并不断返回下一个值的对象称迭代器,表示惰性计算序列。 可以在循环过程中不断推算后续元素,这种一边循环一边计算的机制,称为生成器。(yeild) 生成器是迭代器的一种,可迭代对象 阅读全文
摘要:
一、C/S架构介绍 C/S架构 C:clint(客户端软件) S:server(服务端软件) python程序员是应用开发程序员,开发的软件都是应用软件,应用软件必须运行于操作系统之上,操作系统则运行于硬件上,应用软件不能直接操作硬件,应用软件对硬件的操作必须调用操作系统接口,由操作系统操作硬件。 阅读全文
摘要:
1.面向对象三大特性,各有什么用处,说说你的理解。 继承:解决代码重用问题 多态:为了类在继承和派生的时候,保证使用家谱中任一类的实例的某一属性时可以正确调用。 封装:明确区分内外,控制外部对隐藏属性的操作行为,隔离复杂度 2.类的属性和对象的属性有什么区别? 类的属性分为数据属性和函数属性。 类的 阅读全文
摘要:
http://www.cnblogs.com/linhaifeng/articles/7341318.html#_label4 面向对象实战 阅读全文
摘要:
一、异常概念 1、什么是异常 程序中出现错误非常常见,而错误分为两种: 1、语法错误:过不了解释器语法检查,在程序执行前就必须立刻修正。 e.g. print('sda' if 1=3等 2、逻辑错误:导致的情况非常多,比如: ValueError 对象使用不合适的值引起 int('aaa') Na 阅读全文
摘要:
练习一:在元类中控制把自定义类的数据属性都变成大写 练习二:在元类中控制自定义的类无需init方法 1.元类帮其完成创建对象,以及初始化操作; 2.要求实例化时传参必须为关键字形式,否则抛出异常TypeError: must use keyword argument 3.key作为用户自定义类产生对 阅读全文
摘要:
一、储备知识exec 储备知识exec:有下面三个参数 参数一:字符串形式的命令 参数二:全局作用域(字典形式),如果不指定默认使用globals() 参数三:局部作用域(字典形式),如果不指定默认就使用locals() # 格式:exec(object, globals, locals) # 可以 阅读全文
摘要:
当我们对类的属性item进行下标的操作时,首先会被__getitem__()、__setitem__()、__delitem__()拦截,从而进行我们在方法中设定的操作,如赋值,修改内容,删除内容等等。 __getitem__(self,key):返回键对应的值 __setitem__(self,k 阅读全文
摘要:
一、isinstance(obj,cls)和issubclass(sub,super) 二、反射 三、__setattr__,__delattr__,__getattr__ 四、二次加工标准类型(包装)五、__getattribute__ 六、描述符(__get__,__set__,__delete__)七、再看property 阅读全文
摘要:
要求: 1.对象有id、host、port三个属性 2.定义工具create_id,在实例化时为每个对象随机生成id,保证id唯一 3.提供两种实例化方式,方式一:用户传入host和port 方式二:从配置文件中读取host和port进行实例化 4.为对象定制方法,save和get_obj_by_i 阅读全文