Loading

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()

ref: https://stackoverflow.com/questions/44734297/how-to-profile-python-3-5-code-line-by-line-in-jupyter-notebook-5

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

参考资料

posted @ 2020-11-08 20:41  摇头晃脑学知识  阅读(75)  评论(0编辑  收藏  举报