04 2018 档案
摘要: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
阅读全文
摘要:类中的方法,其实就是类中定义的函数,可以分为:绑定方法、非绑定方法。 一、绑定方法 绑定方法:绑定给谁,就应该由谁来调用,谁来调用就会把调用者当作第一个参数自动传入 1、绑定到对象的方法 在类内定义的没有被任何装饰器修饰的 特点:为对象量身定制; 对象.bound_method(),自动将对象当做第
阅读全文
摘要:一、封装概念 封装是面向对象的特征之一,是对象和类概念的主要特性。 封装就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 二、隐藏属性 在python中用双下划线开头的方式将属性隐藏起来(设置成私有的) 其实这仅仅这是一种变形操作,类中所有
阅读全文
摘要:一、多态概念 在面向对象编程中,接口的多种不同的实现方式即为多态。多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。 二、多态目的 多态的目的就是实现接口重用。 多态指的是一类事物有多种形态。比如动物有多种形态:人、狗、猪。 三、多态性 1、多态性概念
阅读全文
摘要:一、接口(Interface) 在C++、JAVA等程序开发时,往往会利用到接口。接口其实就是:自己提供给使用者来调用自己功能的方式\方法\入口。 第一部分:Java 语言中的接口很好的展现了接口的含义: IAnimal.java /* * Java的Interface接口的特征: * 1)是一组功
阅读全文
摘要:一、组合概念 软件重用的重要方式除了继承之外还有另外一种方式——组合。 1、组合定义 组合指的是,在一个类中以另外一个类的对象(也就是实例)作为数据属性,称为类的组合。 也就是说,一个类的属性是另一个类的对象,就是组合。 二、继承和组合对比 共性 组合和继承都是有效利用已有类资源的重要方式(代码重用
阅读全文
摘要:一、继承实现原理 关于python到底是如何实现继承,可以通过mro()来理解。首先定义多种继承示例代码: 1、方法解析顺序(MRO)列表 对于你定义的每一个类,python会计算出一个方法解析顺序(MRO)列表,这个MRO列表就是一个简单的所有基类的线性顺序列表。 F.mro()等同于上述示例代码
阅读全文
摘要:一、继承概念 继承指的是类与类之间的关系,继承的功能之一就是可以用来解决代码重用问题。 1、继承是什么? (1)继承是一种创建新类的方式 (2)在python中,新建的类可以继承一个或多个父类(其他语言只能继承一个父类),父类又可以称为基类或者超类 (3)新建的类称为派生类或子类。 2、python
阅读全文
摘要:一、类和对象 类即类别、种类,是面向对象设计最重要的概念,对象是特征与技能的结合体,类就是一系列对象相似特征和技能的结合体,针对同样的事物,站在不同的角度得到的类是不同的。需要注意的是: 站的角度不同,定义出的类是截然不同的; 现实中的类并不完全等于程序中的类,比如现实中的公司类,在程序中有时需要拆
阅读全文
摘要:在python开发的过程中,经常会遇到需要打印各种信息。海量的信息堆砌在控制台中,就会导致信息都混在一起,降低了重要信息的可读性。这时候,如果能给重要的信息加上字体颜色,那么就会更加方便用户阅读了。 当然了,控制台的展示效果有限,并不能像前段一样炫酷,只能做一些简单的设置。不过站在可读性的角度来看,
阅读全文
摘要:一、什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。 正则表达式就
阅读全文
摘要:python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志。 在basicConfig中,filename指定了文件路径,level=logging.INFO是把日志记录设置为INFO,只输入INFO或者比INFO级别更高的日志(日志级别过滤)。 执行会生成log_test
阅读全文
摘要:需要通过Python去执行一条系统命令或脚本,系统的shell命令是独立于你的python进程之外的,每执行一条命令,就是发起一个新进程,通过python调用系统命令或脚本的模块在python2有os.system。 执行返回命令执行状态,利用echo $? 查看到返回值‘0’ python2中除了
阅读全文
摘要:一、HASH Hash一般翻译为"散列",或音译为"哈希"。将任意长度的输入(也叫预映射,pre-image)通过散列算法,变换为固定长度的输出,这个输出就是散列值。这种转换是一种压缩映射,散列值的空间通常远小于输入的空间。不同输入可能会散列为相同输出,因此不可能从散列值来唯一确定输入值。 Hash
阅读全文
摘要:optparse模块为内置的第三方模块,实现类似sys.argv的功能,但更加方便好用。 执行脚本python3 ftp_client.py 1 324,输出结果如下: 执行脚本python3 ftp_client.py -s 127.0.0.1 -P 3308 -u admin -p admin,
阅读全文
摘要:input接收的所有输入默认都是字符串格式 1、%s代表字符串占位符 2、%d是数字占位符 占位符%d只能传递十进制整数。 3、占位符%f默认保留6为小数位,而第7位根据四舍五入取值
阅读全文
摘要:1、什么是C/S架构? 答:C指的是client(客户端软件),S指的是Server(服务端软件) 2、互联网协议是什么?分别介绍五层协议中每一层的功能? 答:互联网的核心就是由一堆协议组成。如果把计算机比作人,互联网协议就是计算机界的英语。所有的计算机都学会了互联网协议,那所有的计算机都就可以按照
阅读全文
摘要:将应用层,表示层,会话层并作应用层,从tcp/ip五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议就理解了整个互联网通信的原理。 首先,用户感知到的只是最上面一层应用层,自上而下每层都依赖于下一层,所以我们从最下一层开始切入,比较好理解每层都运行特定的协议,越往上越靠近用户,越往下越靠近
阅读全文
摘要:一、C/S架构 C:client(客户端软件) S:server(服务端软件) python程序员是应用开发程序员,开发的软件都是应用软件,应用软件必须运行于操作系统之上,操作系统则运行于硬件上,应用软件不能接操作硬件,应用软件对硬件的操作。 必须调用操作系统接口,由操作系统操作硬件。 1、客户端软
阅读全文
摘要:configparser模块用于生成和修改常见配置文档。 预制配置文件:conf.ini 可以发现,每个节点都会默认包含default值。 首先准备conf_test.ini文件 对conf_test_ini文件进行读和添加操作: 对conf_test_ini文件进行删操作
阅读全文
摘要:xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,至今很多公司系统的接口还主要是xml。
阅读全文
摘要:shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的Python数据格式。
阅读全文
摘要:序列化是指把内存里的数据类型转变成字符串。以使其能存储到硬盘或通过网络传输到远程。——硬盘或网络传输时只能接受bytes
Python中用于序列化的两个模块:
json:用于字符串和Python数据类型之间进行转换
pickle:用于Python特有类型和Python数据类型间进行转换。
阅读全文
摘要:通过shutil模块实现对文件、文件夹、压缩包的处理
阅读全文