标签:float 定义 哪些 har enc oat ring 引用 实参
可变类型为参数
不能类型为参数
def flist(l):
  l.append(0)
  print(l)
  
l = []   #指向同一个内存地址
flist(l)  # [0]
flist(l)  # [0,0]
#list作为可变类型传递,可变类型在同一对象上修改
def fstr(s):
  s += 'a'
  print(s)
  
s = 'hehe'  #不可变类型传递,每次赋值在一个新对象上操作,传递的形参指向新的对象
fstr(s)  # 'hehea'
fstr(s)  # 'hehea'搞懂可变和不可变内置对象有利于理解函数参数的副作用
# 默认参数只计算一次
def flist(l=[1]):
        l.append(1)
    print(l)
    
flist()         # [1,1]
flist()         #[1,1,1]函数传递中 *args, **kwargs含义是什么
什么时候需要捕获处理异常呢?看python内置异常的类型
try:
   # func                   #可能会抛出异常的代码
except  (Exception1, Exception2) as e:  #可以捕获多个异常并处理
     # 异常处理的代码
else:
  # pass                # 异常没有发生的时候代码逻辑
finally:
   pass                 # 无论异常有没有发生都会执行代码,一般处理资源的关闭和释放class MyException(Exception);
        pass
try:
  raise MyException('my exception')
except Exception as e:
  print(e)标签:float 定义 哪些 har enc oat ring 引用 实参
原文地址:https://www.cnblogs.com/only-me/p/11358375.html