Python开发【整理笔记】】的更多相关文章

一. python中正则表达式的一些查漏补缺 1.  给括号里分组的表达式加上别名:以便之后通过groupdict方法来方便地获取. 2.  将之前取名为"name"的分组所获得的字符串,作为本次分组匹配的标的.所以使用(?P=name)前,在正则表达式中,必须已经有了名为name的带命名的分组,即有了类似的(?P<name>). 此外需要注意的是,(?p=name)只是用来匹配,即只能适用于:re.search,re.match,re.find,re.findall等用来…
一. python 打开文件的方法 1. python中使用open函数打开文件,需要设定的参数包括文件的路径和打开的模式.示例如下: f = open('a.txt', 'r+') 2. f为打开文件的句柄,具体读取文件的操作需要调用f的方法,示例如下: f = open('a.txt', 'r+') # read 以字符串形式打开整个文件 f.read() # readline 每次只读取一行的内容,到下一次时才加载下一次 l = f.readline() print(l) while l:…
一. 编码 1. 在python2里,加载py文件会对字符进行编码,需要在文件头上的注释里注明编码类型(不加则默认是ascII). # -*- coding: utf-8 -*- print 'hello world' 2. str类型也是经过编码的有各种格式,和unicode字符串之间需要通过decode和encode互相转换.使用示例如下: a = '中文' b = a.decode('utfi-8') c = b.encode('gb2312') 3. 在python3中默认直接使用uni…
内存占用 Sayings: 最近被线上程序内存泄漏的问题搞的挺头大(程序在运行中内存占用不断的扩大),便开始看python内存垃圾回收机制.弱引用.循环引用相关的文章,着重查了一下自己的程序是不是真的有循环引用:在看的过程中写了一些demo去验证一些猜想:开篇先问三个问题 Linux与Windows内存回收机制是不是不同?都是如何实现的 Linux上不同Python版本内存释放方式是不是不同?不同的版本都更新了那些东西导致差别如此之大 最重要的Python3.5中的100M做啥用了?难道是内存池…
接口 什么是接口 ? 接口只是定义了一些方法,而没有去实现,多用于程序设计时,只是设计需要有什么样的功能,但是并没有实现任何功能,这些功能需要被另一个类(B)继承后,由 类B去实现其中的某个功能或全部功能. 个人的理解,多用于协作开发时,有不同的人在不同的类中实现接口中的各个方法. 在Python中接口由抽象类和抽象方法去实现,接口是不能被实例化的,只能被别的类继承去实现相应的功能. 个人觉得接口在python中并没有那么重要,因为如果要继承接口,需要把其中的每个方法全部实现,否则会报编译错误,…
github入门 简介: 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了. Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢? 事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码! 你也许会想,为什么Linus不把Linux代码放到版本控制系统…
一. socket过程中注意的点 1. 黏包问题 所谓的黏包就是指,在TCP传输中,因为发送出来的信息,在接受者都是从系统的缓冲区里拿到的,如果多条消息积压在一起没有被读取,则后面读取时可能无法分辨消息之间的分隔,造成读取的时候把前后多条消息的内容连起来读出来,就造成了错误.比较靠谱的解决方式是:一端在发送完消息以后,需要接收一次消息,另一端在第一次接收完消息以后,发送一次消息,这样间隔处理:这样就会保证每次接收的消息都是完整到结束的,因为对方在每次发送完整消息以后,都会接收消息以停止发送.在接…
一. python反射的方式来调用方法属性 反射主要指的就是hasattr.getattr.setattr.delattr这四个函数,作用分别是检查是否含有某成员.获取成员.设置成员.删除成员. 此外还有一个 __import__方法,用来与getattr可以实现一些根据字符串来动态的获取模块.方法.属性的方法,示例如下: # 普通的import模块方法: import AA as aa # 使用__import__的等效方法: aa = __import__('AA') # 再通过getatt…
一. python的类属性与实例属性的注意点 class TestAtt(): aaa = 10 def main(): # case 1 obj1 = TestAtt() obj2 = TestAtt() print obj1.aaa, obj2.aaa, TestAtt.aaa # case 2 obj1.aaa += 1 print obj1.aaa, obj2.aaa, TestAtt.aaa # case 3 TestAtt.aaa += 2 print obj1.aaa, obj2.…
一. python的几种入参形式:1.普通参数: 普通参数就是最一般的参数传递形式.函数定义处会定义需要的形参,然后函数调用处,需要与形参一一对应地传入实参. 示例: def f(a, b): print(a,b) f(1, 2) 2. 指定参数: 指定参数就是在函数调用时,给传入的实参加上其对应的形参的参数名,这样实参的顺序就可以不用和形参完全一一对应的顺序. 示例: def f(a, b): print(a, b) f(b=1, a=2) 3. 默认参数: 默认参数是在函数的形参处直接设定好…