面向对象的一些相关知识点 一.isinstance(obj,cls) 检查实例obj是否是类cls的对象 class Foo(object): pass obj = Foo() isinstance(obj,Foo) 二.issubclass(sub,super) 检查sub类是否是super类的派生类 class Foo(object): pass class F(Foo): pass issubclass(F,Foo) 三.异常处理 在程序执行的过程中,不可避免的会出现一些错误,有些错误出现…
面向对象的概述 面向过程:根据业务逻辑从上到下写代码 函数式:将其功能代码封装到函数中,日后便无需编写,仅仅调用即可 [执行函数] 面向对象:对函数进行分类和封装.[创建对象]==>[通过对象执行方法] 创建类和对象 面向对象编程是一种编程方式,此编程方式需要使用“类” 和 “对象” 来实现,所以,面向对象编程其实就是对 “类” 和 “对象” 的使用. 类就是一个模板,模板里可以包含多个函数,函数里实现一些功能 对象则是根据模板创建的实例,通过实例对象可以执行类中的函数 #创建类 class F…
模块,是一些代码实现了某个功能的集合 模块的分类: 自定义模块 第三方模块 内置模块 导入模块 import module from module.xx.xx import xx from module.xx.xx import xx as rename from module.xx.xx import * 导入模块其实就是告诉Python解释器去解释哪一个PY文件 那么,我们导入模块时,是根据哪一个路径作为基准来进行的呢? import sys print(sys.path) 如果路径不在其中…
Python的简介 Python与其他语言的对比: C和Python.Java.C# C语言:代码直接编译成了机器码,在处理器上直接执行 Python.Java.C#:编译得到相应的字节码,虚拟机执行字节码并转换成机器码再在处理器上执行. Python和C       补充:Python是由C开发而来 对于使用:Python的类库齐全且使用简洁,Python 10行实现的代码,别的语言需要数十行 对于速度:C语言直接编译成机器码,速度远远大于Python Python和C#.Java 对于使用:…
Socket网络套接字 socket通常也称为"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过”套接字“向网络发出请求或者应答网络请求. socket起源于Unix,而Unix/Linux基本哲学之一就是”一切皆文件“,对于文件用”打开“,”读写“,”关闭“ 模式来操作.socket就是该模式的一个实现,socket是一种特殊的文件,一些socket函数就是对其进行的操作. socket和file的区别: file模块是针对某个指定文件进行的”打开“,”读写“,…
字符串的格式化 1.百分号的方式 %[(name)][flags][width].[precision]typecode (name) 可选,用于选择指定的key flags 可选,可供选择的值有: + 右对齐:正数前加正好,负数前加负号: - 左对齐:正数前无符号,负数前加负号: 空格 右对齐:正数前加空格,负数前加负号: 0 右对齐:正数前无符号,负数前加负号:用0填充空白处 width 可选,占有宽度 .precision 可选,小数点后保留的位数 typecode 必选 s,获取传入对象…
函数 在函数之前,我们一直遵循者:面向过程编程,即:根据业务逻辑从上到下实现功能,开发过程中最常见的就是粘贴复制.代码就没有重复利用率. 例如:有好多的重复的代码 if 条件: 发送指令 接收结果 elif 条件: 发送指令 接收结果 elif 条件: 发送指令 接收结果 如果我们将重复的代码提取出来 例如:代码简洁多了 def 一条操作(参数): 发送指令 接收结果 if 条件: 一条操作 elif 条件: 一条操作 elif 条件: 一条操作 对于以上两种方式,第二种明显要优于第一种,重用性…
基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数是32位,取值范围是-2**31~2--31-1 在64位系统上,整数的位数是64位,取值范围是-2**63~2**63-1 class int(object): """ int(x=0) -> integer int(x, base=10) -> integer Convert a number or string to an integer, or return 0 if no argument…
gitlab 迁移.升级打怪之路:8.8.5--> 8.10.8 --> 8.17.8 --> 9.5.9 --> 10.1.4 --> 10.2.5 gitlab 数据迁移.升级打怪之路:8.8.5--> 8.10.8 --> 8.17.8 --> 9.5.9 --> 10.1.4 --> 10.2.5打怪之路背景介绍:    我们的gitlab服务器原先服务器版本是8.8.5,使用的是源码安装,每个插件单独安装,数据库使用的是mysql5.6…
参考:slots NOTE 1.动态语言灵活绑定属性及方法. #!/usr/bin/env python3 class MyClass(object): def __init__(self): pass def func(obj): print(obj.name, obj.age) def main(): h = MyClass() h.name = 'Chen' h.age = '20' func(h) if __name__ == '__main__': main() 给对象h绑定了属性na…