zoukankan      html  css  js  c++  java
  • [python] 之 函数陷阱

    一、本地变量是静态检测的

    在函数中进行分配的变量名是默认为本地变量的(遵循LEGB法则),它们存在于函数的作用域中,只在函数运行时存在,函数运行结束,变量消失。

    二、默认的可变对象

    可变类型的默认参数在函数调用之间保存了他们的状态

    三、没有return语句的函数,返回None

     1 def saver(x=[]):
     2     x.append(1)
     3     print(x)
     4     
     5 print (saver([2]))
     6 print (saver())
     7 print (saver())
     8 print (saver())
     9 
    10 #输出
    11 [2, 1]
    12 None
    13 [1]
    14 None
    15 [1, 1]
    16 None
    17 [1, 1, 1]
    18 None
  • 相关阅读:
    ConcurrentHashMap源码阅读
    java中Scanner类nextLine()和next()的区别和使用方法
    setuid
    lsattr
    设置umask
    touch
    od
    vi 搜索
    nl
    cat 参数
  • 原文地址:https://www.cnblogs.com/xiaofeiIDO/p/6009597.html
Copyright © 2011-2022 走看看