python基础整理笔记(四)】的更多相关文章

一. 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…
一. socket过程中注意的点 1. 黏包问题 所谓的黏包就是指,在TCP传输中,因为发送出来的信息,在接受者都是从系统的缓冲区里拿到的,如果多条消息积压在一起没有被读取,则后面读取时可能无法分辨消息之间的分隔,造成读取的时候把前后多条消息的内容连起来读出来,就造成了错误.比较靠谱的解决方式是:一端在发送完消息以后,需要接收一次消息,另一端在第一次接收完消息以后,发送一次消息,这样间隔处理:这样就会保证每次接收的消息都是完整到结束的,因为对方在每次发送完整消息以后,都会接收消息以停止发送.在接…
一. python反射的方式来调用方法属性 反射主要指的就是hasattr.getattr.setattr.delattr这四个函数,作用分别是检查是否含有某成员.获取成员.设置成员.删除成员. 此外还有一个 __import__方法,用来与getattr可以实现一些根据字符串来动态的获取模块.方法.属性的方法,示例如下: # 普通的import模块方法: import AA as aa # 使用__import__的等效方法: aa = __import__('AA') # 再通过getatt…
一. python中正则表达式的一些查漏补缺 1.  给括号里分组的表达式加上别名:以便之后通过groupdict方法来方便地获取. 2.  将之前取名为"name"的分组所获得的字符串,作为本次分组匹配的标的.所以使用(?P=name)前,在正则表达式中,必须已经有了名为name的带命名的分组,即有了类似的(?P<name>). 此外需要注意的是,(?p=name)只是用来匹配,即只能适用于:re.search,re.match,re.find,re.findall等用来…
一. 列表 1. 创建实例: a = [1,2,3] b = list() 2. 主要支持的操作及其时间复杂度如下: 3. 其他 python中的列表,在内存中实际存储的形式其实是分散的存储,比较类似STL中的vector,会预先分配一定长度的内存,当不够时,会申请新的更大的一块内存,将原有的数据copy过去.删除的情况也是类似的相反情况,所以如果存储的元素数量常有巨变,使用deque来代替比较好.deque是一个双向链表,不会去copy元素. 而从上图中我们也可以看出,判断 x in s的复杂…
一. 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. 默认参数: 默认参数是在函数的形参处直接设定好…
一. 关于hashlib模块的一些注意点 hashlib模块用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512, MD5 算法: md5生成一个32位的16进制字符: SHA1的结果是160 bit字节,通常用一个40位的16进制字符串表示,比SHA1更安全的算法是SHA256和SHA512,不过越安全的算法越慢,切长度更长. 以MD5为例,一般的计算方法如下: m = hashlib.md5() a = 'tes…
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": "电脑","price":"1999"}, {"name": "鼠标", "price": "10"}, {"name": "游艇", &q…