标签: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