Python Tips and Traps(一)】的更多相关文章

1.如果想得到一个列表的index和内容,可以通过enumerate快速实现 drinks = ['coffee','tea', 'milk', 'water'] for index, drink in enumerate(drinks): print ('Item {} is {}'.format(index, drink)) #Result # Item 0 is coffee # Item 1 is tea # Item 2 is milk # Item 3 is water 2.Pyth…
6.collections 模块还提供有OrderedDict,用于获取有序字典 import collections d = {'b':3, 'a':1,'x':4 ,'z':2} dd = collections.OrderedDict(d) for key, value in dd.items(): print key, value #b 3 #a 1 #x 4 #z 2 7.collections 模块的defaultdict 模块 defaultdict类就像是dict,但它是使用一个…
Python tips: 什么是*args和**kwargs? 原文地址:http://www.cnblogs.com/fengmk2/archive/2008/04/21/1163766.html   先来看个例子: def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '---------------------------------------' if __name__ == '__…
发现了一本关于Python精通知识点的好书<Python Tips>,关于Python的进阶的技巧.摘录一些比较有价值的内容作为分享. *args and **kwargs 在函数定义的时候我们经常看到*args和 **kwargs这两个定义对象.*args代表了函数定义中所有non-keyworded(这个词实在很难翻译)的传入参数,而**kwargs代表的所有带有keyworded的传入参数,举个栗子: def test_var_args(*args, **kwargs): print(&…
python tips 可变对象与不可变对象 在python中,可变对象有数值类型(int,float),字符串(str),元组(tuple),可变对象有列表(list),字典(dict),集合(set).在赋值操作中 可变对象是复制的对象本身,相当于复制了对象的指针,对赋值后的修改会修改原来的对象 例如: In [1]: b = [1,2,3,4] In [2]: _b = b In [3]: id(_b) Out[3]: 4519417736 In [4]: id(b) Out[4]: 45…
转自Python tips: 什么是*args和**kwargs? 先来看个例子: def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '---------------------------------------' if __name__ == '__main__': foo(1,2,3,4) foo(a=1,b=2,c=3) foo(1,2,3,4, a=1,b=2,c=3) foo…
1. 引用上一层目录 import syssys.path.append('..')import xx 2. python json JSON是一种轻量级的数据交换格式.可以解决数据库中文存储问题,对象序列化问题,等等. import json encodedjson = json.dumps(obj) decodejson = json.loads(encodedjson) 非常简单. 3. 静态方法 在函数前面@staticmethod @staticmethod def func(): p…
01 - input与raw_input的区别 input() #可以直接输入数字,但输入字符的要用引号''或者双引号"" raw_input() #将所有的输入都直接当作一串字符,可以不用加引号 当输入为纯数字时: input返回的是数值类型,如int,float raw_inpout返回的是字符串类型,string类型 当输入为字符串表达式时: input会计算在字符串中的数字表达式,而raw_input不会. 比如:输入"57 + 3": input会得到整数…
推荐查看:https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738449338c8a122a7f2e047899fc162f4a7205ea3000 转自:http://www.cnblogs.com/fengmk2/archive/2008/04/21/1163766.html 补充一下:kwargs不影响参数位置 例子: def test(a,*args,**kw…
(此文是在实际工程中遇到的一些小问题,给予解决和整理.解决方法大多来自网上零散的文章.有一个系统化的Python问题解决方案,来自<Python 3 学习笔记>雨痕著,其中对Python的工作细节进行了一些整理,很有参考价值.) ——如下代码, a=[1,2,3] b=a b也是[1,2,3]了,接着 a[0]=4 a[1]=5 a[2]=6 此时a变成[4,5,6]了,再看b,a变了之后没有对b进行新的引用,但b还是变了,自动的也变成[4,5,6]了. 除非对a进行新的赋值,比如 >&…