Collection record
复习大集合:
1.函数的参数:位置参数,关键字参数,动态参数
2.命名空间:内置命名空间,全局命名空间,局部命名空间
3.闭包函数:函数引用未定义的函数外非全局的变量叫做闭包,该函数称为闭包函数
4.函数无返回值:1.不写 2.return 3.return None 无返回值None
5.函数返回值个数:多个返回值可以用一个变量接收,并存成元组方式,或者用多个变量接收,可以直接返回一个列表或者一个元组
6.字符编码:unicode 万国码(所有字符用两个字节接受,转换速度快,但是占内存) utf8 英文编码一个字节,中文两个字节
7.执行python两种方式:1 ./Python.py 行首要指定解释语言 2python python.py 直接指定使用python 解释
8.pyc,编译后的跨平台字节码文件,由Python虚拟机来执行,提高加载的速度
9.n.bin_length() 返回二进制的长度
10.68个内置函数
11.globals() 获取全局变量的字典,locals() 获取本地方法所在命名空间的局部变量的字典,只读
12.hash(0)返回变量的哈希值,元组可以哈希,列表不可以哈希
13.eval 执行字符串形式的计算表达式,exec 执行字符串形式的Python语句
14.filter(func,list);将list中的元素遍历做func的规则,返回一个新列表
15.map(func,list);将list中的元素遍历做func的运算后,返回一个新列表
16.数字转换:bin,oct,hex
17.数字运算:abs,divmod,min,max,sum,round,pow
18.迭代器: iter_1 = [1,2,3,4].__inter__() 获取一个迭代器对象
iter_1.__length_hint__(),获取迭代器中元素长度
iter_1.__setatate__(4),从索引位置开始迭代
iter_1.next(),一个一个获取迭代元素
19.生成器
def genrator_func():
a=1
yield a 使用yield一个一个存储
b=2
yield b
g1=genrator_func()
next(g1) == a
next(g1) == b 使用next一个一个获取
eg:
def h():
print 'start yield'
m = yield 5
print m #n=yield r
d = yield 12 #r=c.send(n)
c = h()
print(c.next())
print(c.send('sss'))
send方法就是向函数中传值,把值赋给yield对应的变量,同时还执行next方法
>>5
>>sss
>>12
20.要用一个send方法的生成器一定至少要含有两个yield
21.yeild from :
def func():
yeild from [1,2,3] #循环yeild
22.range 和 xrange 的区别,xrange 不返回list,而是返回一个iterable的对象,避免承包缓存
23.[i for i in range(10) if i%2==0] :获取0-10之间的偶数
24.list(map(lambda z:{z[0]:z[1]},zip(t1,t2)))
25.正则匹配 后面加一个(?)使其变成惰性匹配 ,Python默认是贪婪匹配(即尽可能多的匹配)
26.正则匹配 字符串前面加 r 表示不匹配。
27.正则匹配 .*?X 前面取任意长度,知道遇到X
re.compile() 匹配规则 obj=re.compile() ret=obj.findall()
re.findall() 匹配所有
re.search() 匹配一个则返回,通过.group()方法获取匹配的字符串,没有匹配返回None
re.match() 从字符串开始处匹配,其他同re.search()
re.split('[ab]','abgsefs') 先按a分割,在按b进行分割,结果返回列表
re.split('(2)','sdf2sdf') ['sdf','2','sdf'],split的优先级,保留匹配的部分
re.sub('\d','-','ssf2sf3',1) 将数字替换成‘-’指定替换一次,,默认是全替换
re.subn('\d','-','sdfa2sdf6a') 将数字全替换成‘-’,放回一个元组('sdfa-sdf-a',2)
re.finditer('\d', 'sdfaqef2asd45f') 返回一个迭代器: next(ret).group() 获取一个值
re.search(r'(?P<name>go)\s+(?P=name)\s+(?P=name)', 'go go go').group('name') 命名分组
28.collections 内置模块
namedtuple:
deque:实现高效插入和删除的双向列表,适用于队列和栈
defaultdict:使用dict时,如果引用的KEY不存在时,就好抛异常,使用defaultdict可以返回一个默认值
OrderedDict: dict是无序的,如果要保存key的顺序可以使用OrderedDict
Counter, 计算出现的次数
29.json.dump(dict,f) #接受一个文件句柄,直接将字典换成字符串写入文件
json.load(f) #接受一个文件句柄,直接将文件中的json字符串转换成数据结构返回
30.json 用于字符串和Python数据类型间进行转换
pickle 用于Python特有的类型 和Python的数据类型进行转换
31.子类引用父类的方法,super(B,b).hahah() 即使子类有hahah()方法也直接使用父类的方法
32.子类构造方法中,引用父类的构造方法,两种方式:
Baseclass.__init__(a,b,c) ,Teacher.__init__(self,name,gender)
super().__init__(name, aggressivity, life_value)
super(B,self).__init__()
33.python interface: abc 模块 父类的方法加上装饰器后,子类继承必须重写父类被装饰的方法,否则活报错。
34.避免多继承,推荐多实现接口,(大量的多继承,会出现不需要的属性被继承到,造成资源浪费)
35.访问私有属性,bar._Bar__city ,外部访问父类的私有方法,obj._父类名__属性
36.父类的私有方法不会被子类覆盖,
37.isinstance(obj,Foo) 判断obj 是否Foo的子类;issubclass(Bar,Foo) 判断Bar是否Foo的子类
38.但是当你用字符串格式化的时候 %s和%r会分别去调用__str__和__repr__
39.struct该模块可以把一个类型,如数字,转成固定长度的bytes ,解决粘包的时候可以使用,让对方先接收固定长度的bytes,解读出信息头和信息长度。
40.CSS中不被继续的属性:border, margin, padding
41.比较运算符两侧如果一个是数字类型,一个是其他类型,会将其类型转换成数字类型.
42.比较运算符两侧如果都是字符串类型,比较的是最高位的asc码,如果最高位相等,继续取第二位比较
43.其他:
如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。
如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。
如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。
如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。
44.var x= (new Date()).getDay(); 获取今天的星期值,0位星期天
45.JavaScript中的JSON:1.JSON.parse() 将JSON字符串转换为JavaScript对象 2.JSON.stringify()将对象转换为字符串
46.csrfmiddlewaretoken:$("[name='csrfmiddlewaretoken']").val(),csrf 会自动加一个class='hide'的input 标签
47.Ajax对于csrf的四种方式:1.data: {csrfmiddlewaretoken: '{{ csrf_token }}' }, 4.@csrf_exempt
2.{% csrf_token %} 3.headers:{"X-CSRFToken":$.cookie('csrftoken')},
48.Ajax 异步,局部刷新
49.Ajax 原理流程
1.打开与服务器的连接(xmlHttp.open('GET','ajax_get/?a=1'),true) async:默认为True,表示异步请求
2.发送请求 (xmlHttp.send(null))
3.接收服务器响应 xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
alert(xmlHttp.responseText);
}};
50.表单序列化:data: $("#fm").serialize(),获取form表单中有name属性的控件值,带有disabled的属性不提交,返回String类型
51.文件上传:<p>密码: <input type="password" name="pwd"></p>
fileobj=request.FILES.get("file")
with open(fileobj.name,"wb")as f:
for line in fileobj:
f.write(line)
51.flask:login的装饰器函数必须在路由函数的下面,紧贴着函数
52.WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证。
.name=simple.StringField()
.email=html5.EmailField()
.gender=core.RadioField()
53.type("ReedSun", (ShuaiGe,), {"shuai":True, "test":lambda x: x+2}) 通过type创建一个类
54.partial(_lookup_req_object, 'session') #偏函数
55.sqlAlchemy:中操作数据库是session和scoped_session的区别:
由于无法提供线程共享功能,所以在开发时要注意给每一个线程创建自己的session
scoped_session封装的两个值,session 和 registry,registry()执行ThreadLocalRegistry的__call__方法,如果
当前本地线程中有session 就返回session,没有就将session添加到本地线程
优点:支持线程安全,为每一个线程都创建一个session
两种方式:通过本地线程Threading.Local()和创建线程的唯一标识实现
54.django的缓存,1.设置缓存:self.cache.set(self.key,) 2.获取缓存:self.cache.get(self.key, [])
55.接口的两种方式:1.不重写直接抛异常。2.
from abc import abstractmethod, ABCMeta
class Interface(metaclass=ABCMeta):
@abstractmethod
def method(self, arg): pass
56.算法:
1.冒泡排序:比较两个相邻的数,如果前面比后面大就交换位置
2.选择排序:遍历一次记录最小的数,放置在第一个位置,在遍历一次,放置在第二个位置
3.插入排序:列表被分为有序区和无序区,最初有序区只有一个元素。每次从无序区选择一个元素,插入到有序区的位置,直到无序区变空。
57.flask的session默认将用户信息加密成字符串作为cookie传回给用户,缓存到数据库导入flask_session插件
58.with obj: 会自动执行__enter__ 函数体执行完 再自动执行__exti__
59.去除字符串中的换行使用s.replace(os.sep, '')
Collection record的更多相关文章
- [转]50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs
http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/ 50 Shades of Go: Traps, Gotc ...
- 【原】Java学习笔记029 - 映射
package cn.temptation; import java.util.HashMap; import java.util.Map; public class Sample01 { publi ...
- 补习系列(16)-springboot mongodb 数据库应用技巧
目录 一.关于 MongoDB 二.Spring-Data-Mongo 三.整合 MongoDB CRUD A. 引入框架 B. 数据库配置 C. 数据模型 D. 数据操作 E. 自定义操作 四.高级 ...
- Oracle中对XMLType的简单操作(extract、extractvalue...)
Oracle中对XMLType的简单操作(extract.extractvalue...) 1.下面先创建一个名未test.xml的配置文件. <?xml version="1. ...
- 3-29 params的理解; Active Model Errors; PolymorphicRoutes 多态的路径; ::Routing::UrlFor
params的理解和作用: http://api.rubyonrails.org/classes/ActionController/Parameters.html#method-i-require A ...
- Oracle中对XMLType的简单操作(extract、extractvalue)
前几天一直在做Oracle对XMLType字段的操作,我还不是Oracle大拿,到网上找了很多资料,但是很多就是单一功能的介绍,不能很好的解决问题,现在在这里总结下. 1.下面先创建一个名未test. ...
- MyBatis动态批量插入、更新Mysql数据库的通用实现方案
一.业务背景 由于需要从A数据库提取大量数据同步到B系统,采用了tomikos+jta进行分布式事务管理,先将系统数据源切换到数据提供方,将需要同步的数据查询出来,然后再将系统数据源切换到数据接收方, ...
- FCC高级编程篇之Record Collection
Record Collection You are given a JSON object representing a part of your musical album collection. ...
- 「2014-2-6」TokuMX and MongoDB related materials collection
简介参考 TokuMX 和 MongoDB 各自的官方站点. ## Tokutek 最重要的特点和 marketing word 是所谓 fractal tree indexing te ...
随机推荐
- EasyUI Combobox 的 onChange,onSelect,onClick 事件
EasyUI 中 Combobox 选项发生改变时会触发 onChange,onSelect,onClick,3 个事件.最近要做一个级联的 Combo 菜单,类似于选择地址时让用户填写省,市,区的菜 ...
- Browser History
History 对象中包含用户(在浏览器窗口中)访问过的URL History 对象是window对象的一部分,可通过window.history属性对其进行访问. 注释:没有应用于History对象 ...
- ArcGIS for Android 中实现要素绘制时固定MapView
最近在项目中遇到这么一个情况,在MapView中要求实现绘制点.线.面. 在这里面就会遇到这么一个问题,绘制折线和多边形型时,每点击一个点屏幕就会跟着晃,使用起来很不方便(使用Note2 触控笔),所 ...
- 《Unity預計算即時GI》笔记:二、光照图
说明 这篇文章是对<Unity預計算即時GI>这个系列文章的笔记. 光照图 什么是光照图 光照图在第三章中有如下的定义,读起来很是费解. 一個光照圖(Chart)是表示一個光照貼圖的區域, ...
- 百倍性能的PL/SQL优化案例(r11笔记第13天)
我相信你是被百倍性能的字样吸引了,不过我所想侧重的是优化的思路,这个比优化技巧更重要,而结果嘛,其实我不希望说成是百倍提升,“”自黑“”一下. 有一个真实想法和大家讨论一下,就是一个SQL语句如果原本 ...
- LeetCode Number of 1 Bits 计算1的个数
题意: 提供一个无符号32位整型uint32_t变量n,返回其二进制形式的1的个数. 思路: 考察二进制的特性,设有k个1,则复杂度为O(k).考虑将当前的数n和n-1做按位与,就会将n的最后一个1去 ...
- POJ1061 青蛙的约会 __一维世界的爱情
由于今天上午在做数论知识的笔记,发现那时候赵老师讲的线性丢番图(求ax+by=c的特解)部分完全搞不懂,后来网上查了一下才发现这个公式就是求同余方程,所用方法就是扩展欧几里得算法.正好红皮书上有这么一 ...
- map 容器(copy)
Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数: map<stri ...
- Aizu 2300 Calender Colors(暴力)
状压以后,直接暴力枚举,2^20约等于1e6,而且满足bitcount = m的状态很少. #include<bits/stdc++.h> using namespace std; +; ...
- bzoj3887: [Usaco2015 Jan]Grass Cownoisseur
题意: 给一个有向图,然后选一条路径起点终点都为1的路径出来,有一次机会可以沿某条边逆方向走,问最多有多少个点可以被经过?(一个点在路径中无论出现多少正整数次对答案的贡献均为1) =>有向图我们 ...