zoukankan      html  css  js  c++  java
  • python 易错总结

    文件的:

      with open 的操作的不能直接在内部return,否则没办法关闭文件(循环传输),最好在with open结束后再使用return

      f open 的文件操作在最近的使用会比较多,在自己关闭文件后renturn

      从文件提取的数据,最后的可能会带 ,注意.

    网络编程:

      需要知道:同步(串行),异步(并行),有时候一些理论和现实生活中的字面理解不太一样

    函数中的迟邦定,关于闭包的:相对而言的局部变量绑定的是值,非局部变量绑定的是空间

    看例子:

    # def create_multipliers():
    #     return [lambda x : i * x for i in range(5)]
    # for multiplier in create_multipliers():
    #     print(multiplier(2))
    

    等价于:

    def create_multipliers():
        multipliers = []
    
        for i in range(5):
            def multiplier(x):
                return i * x
            multipliers.append(multiplier)
    
    

    解决方案:



    def create_multipliers():
        return [lambda x, i=i : i * x for i in range(5)]


    或者,您可以使用 functools.partial 函数: from functools import partial from operator import mul def create_multipliers(): return [partial(mul, i) for i in range(5)]

    什么情况下陷阱不是陷阱

    有时您就想要闭包有如此表现,迟绑定在很多情况下是不错的。不幸的是,循环创建 独特的函数是一种会使它们出差错的情况。

      

      

  • 相关阅读:
    记一次struts项目空指针异常
    struts2问题(已解决)java.nio.file.InvalidPathException: Illegal char <:> at index 3: jar:file:
    Road Map
    API
    Report of program history
    正则表达式验证用户信息
    RegExp( replace()的示例 )
    DOM与BOM部分示例
    伪类与伪元素
    第三次随笔(按钮外观改变)
  • 原文地址:https://www.cnblogs.com/lnrick/p/9368563.html
Copyright © 2011-2022 走看看