网上看到的代码:
1 2 3 4 5 |
def clear_list(l): l = [] ll = [1,2,3] clear_list(ll) print(ll) |
输出是[1,2,3],并不是一个空列表,是不是很奇怪?
首先=号是赋值,而不是改变原列表内容,所以在函数内只是赋值而已,因为在函数内所以 l只是内部变量,函数运行完就消失了,也就是说函数内的变量只是作用域在[……]
网上看到的代码:
1 2 3 4 5 |
def clear_list(l): l = [] ll = [1,2,3] clear_list(ll) print(ll) |
输出是[1,2,3],并不是一个空列表,是不是很奇怪?
首先=号是赋值,而不是改变原列表内容,所以在函数内只是赋值而已,因为在函数内所以 l只是内部变量,函数运行完就消失了,也就是说函数内的变量只是作用域在[……]
自定义一个异常需要继承Exception类或子类,虽然BaseException是Exception的父类,但如果继承BaseException可能会导致捕获不到自定义的异常,来看个例子:
1 2 3 4 5 6 7 |
class MyError(BaseException): pass try: raise MyError except Exception: print('---my error---') |
y运行这段代码会进行报错,没有捕获到我们[……]