【python--列表作为函数参数的注意事项】list=[ ] 和 list=None 的区别

【python–列表作为函数参数的注意事项】list=[ ] 和 list=None 的区别

文章目录

  • 【python--列表作为函数参数的注意事项】list=[ ] 和 list=None 的区别
  • 前言
  • 一、list = [ ]
  • 二、list = None

前言

list作为函数参数时需要注意“[ ]”和“None”的区别

一、list = [ ]

这种写法,
如传进去列表则按传进去的列表操作,且改变原列表的值;
如不传进去列表,则按默认列表操作,这里注意函数中默认列表对于不传列表进去的情况是有叠加效应的。
读者可通过下面的例子仔细体会:

def add_fruits(fruit,fruit_list=[]):
    fruit_list.append(fruit)
    print(fruit_list)

fruit="apple"
add_fruits(fruit)
fruit="orange"
add_fruits(fruit)

fruits=["xxx"]
add_fruits("aaa",fruits)
print(fruits)

add_fruits("bbb")

输出:

['apple']
['apple', 'orange']
['xxx', 'aaa']
['xxx', 'aaa']
['apple', 'orange', 'bbb']

二、list = None

这种写法,
如传进去列表则按传进去的列表操作,且改变原列表的值;
如不传进去列表,则每次函数中都是默认为空列表进行操作。
读者可通过下面的例子仔细体会:

def add_fruits(fruit,fruit_list=None):
    if fruit_list is None:
        fruit_list=[]
    fruit_list.append(fruit)
    print(fruit_list)

fruit="apple"
add_fruits(fruit)
fruit="orange"
add_fruits(fruit)

fruits=["xxx"]
add_fruits("aaa",fruits)
print(fruits)

add_fruits("bbb")

输出:

['apple']
['orange']
['xxx', 'aaa']
['xxx', 'aaa']
['bbb']

你可能感兴趣的:(Python学习,python)