欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Python 的哪些特性或用法让你相见恨晚?

程序员文章站 2022-05-18 19:05:58
...
RT。最好附上实例或伪代码,方便大家交流哈!

来自Quora的相同问题:Python (programming language): What are the Python features you wish you'd known earlier?

回复内容:

Hidden features of Python

比较符连写:

>>> x = 5
>>> 1  x  10
True
>>> 10 > x  9
True
  1. 测试程序执行的时间
    import time
    class Timer:
    
        def __enter__(self):
            self.start = time.clock()
            return self
    
        def __exit__(self,*args):
            self.end = time.clock()
            self.interval = self.end-self.start
    
    
    with Timer() as t:
        dosomesuch()
    print t.interval
    
    x,y=y,x dir()
    还有列表解析式 [i*2 for i in range(100)] 让我们大喊三声:
    递归+yield 真好用啊
    递归+yield 真好用啊
    递归+yield 真好用啊

    这绝对是解决一些难题的专用利器.我用它来实现自定义的文件夹遍历函数..对比os.walk函数,我可以在遍历时进行任何操作,灵活许多.

    我用它实现了嵌套字典的漂亮输出,在未理解递归之前,我不敢想象自己能解决这种问题.上例子:
    def superPrint(inidic={},indent=chr(32)):
        length=len(inidic)
        for i,d in enumerate(inidic.items()):
            #if the k or v is string object,add ' to both sides
            k,v=["'%s'"%x if isinstance(x,(str,unicode)) else x for x in d]
            #if the v is dict object,recurse across v and return a string
            if isinstance(v,dict):
                v=''.join(superPrint(v,indent+chr(32)*(len(str(k))+3)))
            if length==1:
                yield "{%s: %s}"%(k,v)
            elif i==0:
                yield "{%s: %s,\n"%(k,v)
            elif i==length-1:
                yield "%s%s: %s}"%(indent,k,v)
            else:
                yield "%s%s: %s,\n"%(indent,k,v)
    
    比较喜欢map ,reduce,filter省去了很多废话有没有,还有list comprehension。。。
    还有高阶函数,闭包。。
    另外么,getattr ,hasattr函数吧。。。
    with as 结构
    in关键字 也很省事。。


    其实这些特性别的语言也有,但是第一次见是在python中。。 python 的元组 、序列 、字典 数据结构及其容易操作,切片很实用。
    还有Python有很多友好方便的语法糖。
    help(something)
    
    果断是缩进。。Python 的哪些特性或用法让你相见恨晚?

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  2. Python 的哪些特性或用法让你相见恨晚?

专题推荐

作者信息
Python 的哪些特性或用法让你相见恨晚?

认证0级讲师

推荐视频教程
  • Python 的哪些特性或用法让你相见恨晚?javascript初级视频教程
  • Python 的哪些特性或用法让你相见恨晚?jquery 基础视频教程
  • 视频教程分类
    相关标签: Python programming features language earlier

    上一篇: 在node中引用了connect之后,用它自带的中间件总是会报错

    下一篇: Html5 Canvas初探学习笔记(12) -图片裁减和调整

    推荐阅读