gpt4 book ai didi

Python、pycharm将属性由list改为None,为什么?

转载 作者:行者123 更新时间:2023-12-02 08:05:47 24 4
gpt4 key购买 nike

当我创建一个新类时,如果我的属性之一是空列表,pychram 建议将其更改为:

class meet_angle_cond:
def __init__(self, xy_lat_lon_list=None):
if xy_lat_lon_list is None:
xy_lat_lon_list = []
self.xy_lat_lon_list = xy_lat_lon_list

我很难理解为什么这比:

class meet_angle_cond:
def __init__(self, xy_lat_lon_list=[]):
self.xy_lat_lon_list = xy_lat_lon_list

在我看来,这种方式更加有效和可读。

最佳答案

因为列表是可变的。检查这些片段。

def append_to(element, to=[]):
to.append(element)
return to

您可能期望发生的情况

my_list = append_to(12)
print(my_list)

my_other_list = append_to(42)
print(my_other_list)

预期输出,

[12]
[42]

实际输出

[12]
[12, 42]

因此 pycharm 建议您使用 None 作为默认参数。

关于Python、pycharm将属性由list改为None,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59509095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com