Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python list()是函数吗?还是姓?_Python_List_Function_Class_Object - Fatal编程技术网

Python list()是函数吗?还是姓?

Python list()是函数吗?还是姓?,python,list,function,class,object,Python,List,Function,Class,Object,您已经知道python中使用的list()。我们使用它来创建一个列表,或者是一个空列表,或者是一个来自其他可重用的列表,比如元组、集合等等 考虑以下几点: list1=list() t=(1,2,3) list2=list(t) 我的主要疑问是,“list”是一个名为list的单独函数,还是类“list”的名称 我怀疑的原因是,创建对象的语法是: obj_name=class_name() 我们已经创建了语法中给定的对象list1和list2 也 仅提供有关类列表的信息。而对于其他内置函数,

您已经知道python中使用的list()。我们使用它来创建一个列表,或者是一个空列表,或者是一个来自其他可重用的列表,比如元组、集合等等

考虑以下几点:

list1=list()
t=(1,2,3)
list2=list(t)
我的主要疑问是,“list”是一个名为list的单独函数,还是类“list”的名称

我怀疑的原因是,创建对象的语法是:

obj_name=class_name()
我们已经创建了语法中给定的对象list1和list2

仅提供有关类列表的信息。而对于其他内置函数,如len(),help()提供函数的信息

help(len)

Output : 
Help on built-in function in module builtins:

len(obj, /)
     Return the number of items in a container.
因此,这里是否使用list()作为类名来定义其对象

或者是否有单独的函数来创建名为list()的“list”类型的变量

更具体地说,在上面的代码中,list()是用作类名还是函数名

如果它是一个内置函数,我能为它编写代码吗


提前感谢

列表
是绑定到类型的内置作用域中的名称。与大多数类型一样,
list
可以调用以创建该类型的新实例。它期望的参数是用于填充新列表的任意iterable值

>>> type(list)
>>> type(list)
<class 'type'>
>>> type(list((1,2,3,)))
<class 'list'>
>>> type(list(range(3)))
<class 'list'>
>类型(列表)
>>>类型(列表)
>>>类型(列表((1,2,3,))
>>>类型(列表(范围(3)))
是一个类,作用域名称
列表
是对
列表
类的引用。调用
list(…)
是隐式调用此类的构造函数
list.\uuu init\uuuu()
,它从可选提供的参数创建列表的新对象实例。全局范围中只有一个
列表
变量可用-它是一个类,而不是一个函数

请参见以下Python REPL输出:

# the 'list' definition is a class, not a function
>>> list
<class 'list'>
>>> type(list)
<class 'type'>

# lists are actually instances of the 'list' builtin class.
>>> type(list())
<class 'list'>
>>> type([])
<class 'list'>
>>> type(len)
<class 'builtin_function_or_method'>
>>> def test():
...    ...
...
>>> type(test)
<class 'function'>
此内置函数与Python中声明的函数不同

请参见以下Python REPL输出:

# the 'list' definition is a class, not a function
>>> list
<class 'list'>
>>> type(list)
<class 'type'>

# lists are actually instances of the 'list' builtin class.
>>> type(list())
<class 'list'>
>>> type([])
<class 'list'>
>>> type(len)
<class 'builtin_function_or_method'>
>>> def test():
...    ...
...
>>> type(test)
<class 'function'>
>>def test():
...    ...
...
>>>型式(试验)

list
的源代码以C语言本机实现,可在GitHub存储库中找到:


有关内置类型的更多文档,请查看以下参考资料:

  • JetBrains为Python标准库生成的骨架:

    • 我对上述答案感到满意。我甚至悬赏给了最合适的答案。但我甚至对这个答案有些怀疑,他也回答了。我想为我的问题提供另一个答案,我想把所有这些都汇编成一个答案

      list()的第一个是类名,更确切地说是类型名。它不是一个函数。我敢肯定。类似地,bool、int、float、complex、set、tuple、dictionary、frozenset、str等其他数据类型也是类

      要验证我的观点,只需使用help():

      它给出了该类列表的描述

      有时我们会有疑问。如果list()不是函数,那么为什么它会包含在python官方网站提供的内置函数列表中

      这是它的链接:

      这也是我提出的问题

      我的回答是。这是传统的。它们曾经是函数。请点击此处:

      因此,即使在这个版本中,他们也遵循同样的原则


      希望这能帮助读者

      这是一个类,而不是一个函数。类只是对象,就像Python中的所有其他对象一样,
      int
      对象,
      dict
      对象,甚至函数对象和类对象。所有的类都是
      类型的实例,它本身就是一个类(一个元类,一个创建类的类)哇,这就是我需要的。此外,list()是一个构造函数。那么为什么我们要把它包括在内置函数列表中呢???请参见此处:在Java等语言中,实例化对象需要一个
      new
      关键字(例如
      newarraylist(…)
      );如果没有
      new
      ,它会转而寻找一个方法。Python采用不同的方法构造新的对象实例。类既是一个类,也是一种伪函数。调用类(例如
      list()
      )时,通过执行该类的内部
      \uuuuu init\uuu
      函数来创建一个新对象。从功能上讲,没有什么区别-调用
      list()
      接收参数并返回数据,这与任何其他函数非常相似;从技术上讲,这不是正常意义上的“功能”,它可以是正常意义上的。但是,python官方网站告诉我们。怎样???他们知道它的内部结构和功能正确吗??@ SanmithaSadhishkumar,我想你可以把类看作是一种特殊类型的函数,而不是与一个显式声明的函数混淆,使用<代码> DEF函数():。出于实际目的,无论是类、内置函数还是
      def
      'd函数,最终结果实际上是相同的。调用这些参数中的任何一个都会接受参数,并可能返回一个值——函数背后的核心概念。重申一下-在全局范围中只有一个
      list()
      定义-它是一个类,一种特殊类型的函数,在幕后有更复杂的调用。请检查我的答案