矮的萌丶 发表于 2022-7-23 15:32:30

函数的使用

如一个列表nums=
求大佬解释一下,为什么有的函数如sort()和reverse()都是列表名.函数名nums.sort()和nums.reverse()
sorted()函数使用就是sorted(nums) 而不是nums.sorted()
{:10_291:}

矮的萌丶 发表于 2022-7-23 15:33:06

顶一下

柿子饼同学 发表于 2022-7-23 15:35:35

列表是一种对象
加点的 , 表示列表的 方法
直接用的 , 就是函数
(个人理解 , 至于为什么这样 , 不知道)

青出于蓝 发表于 2022-7-23 16:06:01

sorted是函数
sort 是方法

临时号 发表于 2022-7-23 16:13:36

本帖最后由 临时号 于 2022-7-23 16:15 编辑

python中,万物皆对象,包括你的列表nums,它也是一个对象
而对象会有两个东西,属性和方法,而sort函数和reverse函数就是list类定义的方法
调用一个对象的方法就是对象.方法()
而sorted是python中的一个内置函数,它的参数是一个列表对象而已
可以用dir函数来查看list这个类定义的属性和方法
>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__'
, '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__'
, '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__',
'__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__r
educe__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__'
, '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear',
'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort
']
>>>
可以看到,没有sorted方法,只有sort方法和reverse方法

kkl44stupid 发表于 2022-7-23 19:59:56

{:10_261:}

kkl44stupid 发表于 2022-7-23 20:02:01

{:10_261:}

kkl44stupid 发表于 2022-7-23 20:05:52

{:10_256:}

kkl44stupid 发表于 2022-7-23 20:07:11

{:10_256:}

kkl44stupid 发表于 2022-7-23 20:09:21

{:10_261:}
页: [1]
查看完整版本: 函数的使用