dict是用空间来换取时间的一种方法。
通过key计算位置的算法称为哈希算法(Hash)。
set和dict的唯一区别仅在于没有存储对应的value
ord()函数获取字符的整数表示
chr()函数把编码转换为对应的字符
如果知道字符的整数编码,还可以用十六进制这么写str:
>>> '\u4e2d\u6587'
'中文'
Python的函数返回多值其实就是返回一个tuple
最难理解的就是generator和函数的执行流程不一样。函数是顺序执行,遇到return语句或者最后一行函数语句就返回。而变成generator的函数,在每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行。
generator,在执行过程中,遇到yield就中断,下次又继续执行。
可以直接作用于for循环的数据类型有以下几种:
一类是集合数据类型,如list、tuple、dict、set、str等;
一类是generator,包括生成器和带yield的generator function。
函数的参数能接收变量
一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数。
@property广泛应用在类的定义中,可以让调用者写出简短的代码,同时保证对参数进行必要的检查,这样,程序运行时就减少了出错的可能性
让Ostrich除了继承自Bird外,再同时继承Runnable。这种设计通常称之为MixIn。
如果一个类想被用于for ... in循环,类似list或tuple那样,就必须实现一个iter()方法。 该方法返回一个迭代对象
要表现得像list那样按照下标取出元素,需要实现getitem()方法
怎么判断一个变量是对象还是函数呢?其实,更多的时候,我们需要判断一个对象是否能被调用,能被调用的对象就是一个Callable对象
@unique装饰器可以帮助我们检查保证没有重复值
可以用成员名称引用枚举常量,又可以直接根据value的值获得枚举常量。
Django 规定的语法。用 {{ }} 包起来的变量叫做模板变量
'DIRS': [os.path.join(BASE_DIR, 'templates')],设置模板路径
网友评论