JSON

python的学习和理解

字号+ 作者:H5之家 来源:H5之家 2017-04-21 15:00 我要评论( )

把 python 里面的东西全部当成是对象看待!!! 1、文件名(模块名),不要包含横杠(横线)( -),而应该采用下划线( _)。因为 import x-y 是会报语法错误的。 2、 lambda

文档介绍:
把 python 里面的东西全部当成是对象看待!!! 1、文件名(模块名),不要包含横杠(横线)( -),而应该采用下划线( _)。因为 import x-y 是会报语法错误的。 2、 lambda 无名函数(特别的, lambda 可以包裹任何东东,类似装饰器、适配器) add = lambda x,y :x+y print (add(1,2)) lambda x: lambda y: print( ‘ test ’)3、根据序列构建 str或 bytes 串的 join 方法(返回 str或 bytes ) fruits =[ 'apple' , 'banana' ] result = '' .join(fruits) 4、函数中定义函数 def fun1(): def fun1_1(): print( ‘ text ’) return fun1_1 5、函数、方法、类的装饰器用法: 因为“函数”、“方法”、“类”在 python 看来都是对象,所以,装饰器都可以将它们用作普通参数,进而进一步处理。 6、使用%来连接、格式字符串(现在普遍使用 str.format 函数:用{}和:来代替%) s=“ this isa sample %s %s ”%(“ hello ”,“ qjj ”) s=“ this isa sample {} {}”.format (“ hello ”,“ qjj ”) 7、x,y= y,x8、 str.format_map(dict) 或 str.format(**dict) 9、 yield 生成器 10、生成器表达式(小括号): (x+1 for x in [1, 2, 3]) 11、[x*2 for x in range(10) if x%2==0] or (x*2 for x in range(10) if x%2==0) 12、 x=1 if 2>1 else 213、 for … else … 14、 try … except … else …( try 语句中没有异常发生时,才执行 else 语句) 15、无论是在 try 还是在 except 中,遇到 return 时,只要设定了 finally 语句,就会中断当前的 return 语句,跳转到 finally 中执行,如果 finally 中遇到 return 语句,就直接返回,不再跳转回 try/excpet 中被中断的 return 语句 16、在 except 和 try 中遇到 return 时, 会锁定 return 的值, 然后跳转到 finally 中,如果 finally 中没有 return 语句,则 finally 执行完毕之后仍返回原 return 点, 将之前锁定的值返回(即 finally 中的动作不影响返回值),如果 finally 中有 return 语句,则执行 finally 中的 return 语句。 17、在一个循环中,最终要跳出某轮循环之前,会先转到 finally 执行,执行完毕之后才开始下一轮循环 18、任何元素都是对象,都可以传递,特别的,把函数(方法)作为参数传递。 19、函数的默认参数(特别注意可变默认参数,例如列表) 20、 xxx() == xxx.__call__() 21、 with 语句的用法: with open('filename', 'r', encoding= ’ utf-8 ’) as f: for line in f: print line 22、 map 、 filter 、 zip 、 functools .reduce 23、序列操作: itertools.chain 、 itertools.count 、 itertools.repeat 、 itertools.cycle 、 itertools.groupby 、 itertools.islice 24、对于 and 语句,如果 and 左边的是 true , and 右边的值将被返回作为 and 的结果;对于 or 语句,如果 or 左边的是 false , or 将右边的值将被返回作为 or的结果。 25、动态加载模块 1,使用系统函数__import_() 1.stringmodule =__import__ ('string ') 2,使用 imp 模块 1.import imp 2.stringmodule =imp .load_module ('string ',*imp .find_module ('string ')) 3,使用 exec 1.import_string ="import string asstringmodule " 2.exec import_string 26、 dirUp, dirDown, dirLeft, dirRight = range(4) 27、 list[x:y:z] —— x,y表示起止索引位置(位置索引从 0开始),z表示间隔 28、 if 0<x<10: 比较 if0<x and x<10: 29、 ifx in dict: 比较 ifx in dict.keys(): 30、带参数的 iter 方法: def seek_next_line(f): for c in iter(lambda: f.read(1),'\n'): #借用 lambda 来包裹 pass 31、两个 list 构建一个 dict : names = ['jianpx', 'yue'] ages = [23, 40] m= dict(zip(names,ages)) 32、简化语法: ifa and b and c: return True else: return False 可以简化成: return all([a, b, c]) 33、 heapq 模块(堆),用于获取前 n个最小、最大元素: heapq.nlargest(n, data) heapq.nsmallest(n, data) 这个 heapq 堆,内部是一个简洁二叉树,确保父节点总是比子节点小(仅此) 。在 heapq.push 或 heapq.pop 的过程中,会动态调整 data 的元素顺序,以确保父节点总是比子节点小。 34、将字符串字面值动态转换为 list 或 dict : 1) eval a= '{"a":1, "b":2}' a= eval(a) 2) json import json a= '{"a":1, "b":2}' a= json.loads(a) 35、动态创建类(对象): Class = type(name, ( baseClass ,), dict(__slots__=(), __new__=new)) 从中看出,动态创建一个类(对象)需要的参数包括: ?类名?该类(对象)的基类(列表) ?该类(对象)的定义(字典) 36、判断真假布尔值,以下全部表示 False : 1.None 2.Flase

1

内容来自淘豆网转载请标明出处.

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Python实现JWT(JSON Web Token)认证实现教程

    Python实现JWT(JSON Web Token)认证实现教程

    2017-04-21 14:05

  • 《JSON-lib框架,转换JSON、XML不再困难》学习笔记

    《JSON-lib框架,转换JSON、XML不再困难》学习笔记

    2017-04-21 10:04

  • springmvc学习笔记-返回json的日期格式问题的解决方法

    springmvc学习笔记-返回json的日期格式问题的解决方法

    2017-04-21 10:02

  • Go学习笔记:json处理

    Go学习笔记:json处理

    2017-04-20 18:00

网友点评