1 Star 0 Fork 0

xinban/Python的内置函数

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
可变于不可变.py 1.05 KB
一键复制 编辑 原始数据 按行查看 历史
xinban 提交于 2021-09-16 09:15 . test1
foo = ['hi']
print(foo)
# Output: ['hi']
bar = foo
bar += ['bye']
print(foo)
print(bar)
# Output: ['hi', 'bye']
'''
这个情况只是针对可变数据类型。
当你将一个变量赋值为另一个可变类型的变量时,
对这个数据的任意改动会同时反映到这两个变量上去。
新变量只不过是老变量的一个别名而已。
'''
def add_to(num, target=[]):
target.append(num)
return target
add_to(1)
# Output: [1]
add_to(2)
# Output: [1, 2]
add_to(3)
print(add_to(42)) # [1, 2, 3, 42]
print(add_to(42)) # [1, 2, 3, 42, 42]
# Output: [1, 2, 3]
'''
在Python中当函数被定义时,默认参数只会运算一次,
而不是每次被调用时都会重新运算。
你应该永远不要定义可变类型的默认参数,除非你知道你正在做什么
'''
def add_to(element, target=None):
if target is None:
target = []
target.append(element)
return target
# 现在每当你在调用这个函数不传入 target 参数的时候,一个新的列表会被创建
print(add_to(42)) # [42]
print(add_to(42)) # [42]
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/qitu1024/built-in-functions-of-python.git
[email protected]:qitu1024/built-in-functions-of-python.git
qitu1024
built-in-functions-of-python
Python的内置函数
master

搜索帮助