gpt4 book ai didi

Python:item.method() 和 function(item)

转载 作者:行者123 更新时间:2023-11-30 22:58:23 24 4
gpt4 key购买 nike

选择一些方法以它们所使用的项目为前缀,但有些函数需要项目作为参数,其逻辑是什么?例如:

    L=[1,4,3]    
print len(L) #function(item)
L.sort() #item.method()

我认为修改项目的函数可能需要加上前缀,而返回项目信息的函数则使用它作为参数,但我不太确定。

编辑:

我想问的是为什么python没有L.len()?这两种函数的性质有什么区别?或者是随机选择一些操作是方法而一些操作是函数?

最佳答案

Python 背后的原则之一是 There is Only One Way to Do It 。特别是,要获取序列(数组/元组/xrange...)的长度,您始终使用 len,无论序列类型如何。

但是,排序并不支持所有这些序列类型。这使得它更适合作为一种方法。

a = [0,1,2]
b = (0,1,2)
c = xrange(3)
d = "abc"

print len(a), len(b), len(c), len(d) # Ok

a.sort() # Ok
b.sort() # AttributeError: 'tuple' object has no attribute 'sort'
c.sort() # AttributeError: 'xrange' object has no attribute 'sort'
d.sort() # AttributeError: 'str' object has no attribute 'sort'

关于Python:item.method() 和 function(item),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36214662/

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