平常注意到的一些python知识点

1、global关键字用来在函数或其他局部作用域中使用全局变量,nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量

2、字符串的操作replace(old, new[,count])用以替换字符串的某些子串,如果指定count参数的话,就最多替换count次,如果不指定,就全部替换

3、sort(),sorted()的用法

sorted(itterable[, cmp[, key[, reverse]]])

s.sorted([cmp[, key[,reverse]]])

sorted函数会返回一个排序后的列表,原有列表保持不变,而sort()函数会直接修改原有列表,函数会返回None

4、from operator import itemgetter

mydict.iteritems()

5、copy的copy和deepcopy的区别就是,前者只是拷贝了引用,其中一个被修改,另外的就会被修改,后者拷贝的是内存中具体的内容,另外又新开辟了一块内存,所以不会相互影响

6、序列化,简单的说就是把内存中的数据结构在不丢失其身份和类型信息的情况下转成对象的文本或二进制表示的过程

7、flask的session是可以跨request使用的,session的数据是经过加密后存储在cookie里的,用户每次都会把这些cookie信息发回来,从而实现跨request使用

flask的g是面向单个request的,一个request处理完,g里的东西就没有了

8、python的标准库JSON提供的最常用的方法与pickle类似,dump/dumps用来序列化,load/loads用来反序列化。需要注意的是json默认不支持非ASCII-based的编码,如load方法可能在处理中文字符时不能正常显示,则需要通过encoding参数指定对应的字符编码。

9、

用 http.server 共享文件

# python3

python3 -m http.server

# python2

python -m SimpleHTTPServer

效果如下图所示,通过浏览器方便局域网共享文件


10、every HTTP server you create is necessarily also a TCP server(in the sense that it is a server using TCP as its transfer protocol)

11、假设在一个局域网(LAN)如以太网中有两台主机,二者都运行FTP协议,下图列出了该过程中所涉及到的所有协议


TCP/IP协议族是一组不同的协议组合在一起的协议族。尽管通常称该协议族为TCP/IP,但TCP和IP只是其中的两种协议而已(该协议族的另一个名字是Internet协议族)

12、实际上__init__并不是真正意义上的构造方法,——__init__()方法所做的工作是在类的对象创建好之后进行变量的初始化,__new__()放啊放才会真正创建实例,是类的构造方法

13、生成requirements.txt文件    pip freeze > requirements.txt

安装requirements.txt依赖      pip install -r requirement.txt

14、在计算机系统设计中,概念完整性应该是最重要的考虑因素。也就是说为了反映一系列连贯的设计思路,宁可省略一些不规则的特性和设计,也不提倡独立和无法整合的系统,哪怕它们其实包含这许多很好的设计

15、类属性和实例属性都存在一个默认的字典当中https://rushter.com/blog/python-class-internals/

你可能感兴趣的:(平常注意到的一些python知识点)