python知识记录
这里列举一些实际用到过的用法,加强记忆
1. python中defaultdict用法
当我使用普通的字典时,用法一般是dict={},添加元素的只需要dict[element] =value即,调用的时候也是如此,dict[element] = xxx,但前提是element字典里,如果不在字典里就会报错。
defaultdict:当字典里的key不存在但被查找时,返回的不是keyError而是一个默认值。
defaultdict接受一个工厂函数作为参数,如下来构造:
dict =defaultdict( factory_function)
这个factory_function可以是list、set、str等等,作用是当key不存在时,返回的是工厂函数的默认值,比如list对应[ ],str对应的是空字符串,set对应set( ),int对应0,如下举例:
from collections import defaultdict
dict1 = defaultdict(int)
dict2 = defaultdict(set)
dict3 = defaultdict(str)
dict4 = defaultdict(list)
dict1[2] ='two'
print(dict1[1])
print(dict2[1])
print(dict3[1])
print(dict4[1])
2. Python 性能分析之每行耗时 line_profiler
链接:https://www.7forz.com/3426/
在jupyter notebook里面使用line_profiler
!pip install line_profiler
%load_ext line_profiler
def func():
print('hi')
%lprun -f func func()
3. argparse中action关键字的用法
使用:parser.add_argument('--var', action='xx', default='xx')
调用方式:python demo.py --var
不加--var
则采用默认值
action | default | result (括号里为--var后的res) |
---|---|---|
"store_true" | - | False (True) |
"store_true" | False | False (True) |
"store_true" | True | True (True) |
"store_false" | - | True (False) |
"store_false" | True | True (False) |
"store_false" | False | False (False) |
- 总结:如果想默认是True,则使用
action="store_false"
,默认是否设置均可,在命令行调用该参数改变取值;反之如果想默认是False,则使用action="store_true"
,默认是否设置均可;
4. 如何使用.运算符访问字典
- 引用:
types.SimpleNamespace()
- 对于我们了解的argparse,它最后返回的是一个Namespace,我们可以通过
.
运算符对其中的属性进行引用。SimpleNamespace
也是返回一个命名空间,它接受命名关键字参数,我们可以使用.
运算符对其元素进行操作:
>> from types import SimpleNamespace
>>> d = {'a': 1, 'b':2}
>>> sn = SimpleNamespace(**d) # 这里的**不可以少,表示命名关键字参数
>>> sn
namespace(a=1, b=2)
>>> sn.a
1
参考资料
- 使用python常用的一些技巧(持续更新): 有很多有用的小技巧,可以没事逛一逛