【问题标题】:What is the name for?名称是什么?
【发布时间】:2015-03-09 21:13:24
【问题描述】:

我只是想知道,用于以下代码的术语是什么:

.lower()
.upper()
.get()
len()

还有诸如此类的一般命令。

【问题讨论】:

  • 我认为最好在发帖前先浏览一下docs.python.org/2/tutorial 或learnpythonthehardway.org 或diveintopython.net
  • 我了解它们是什么,我只是想知道它们被称为。不要认为我的问题是无知的:P
  • 除了最后一个之外,所有的都是一种特殊类型的函数,称为对象的"method"。 Python 中的几乎所有东西都是一个对象:字符串、集合、数字、函数等。另一方面,len() 是该语言内置或包含的许多函数之一的名称,其中许多函数都用参数调用具有多种不同类型,并且不只与对象类型的一个类或类层次结构相关联。
  • Python 很简洁 :)

标签: python terminology


【解决方案1】:

.lower()、.upper()、.get() 等术语在 python 中被称为方法。

这些是类的成员函数。

在技术上,

方法是一个将类实例作为其第一个参数的函数。方法是类的成员。

class My_Class:
    def method(self, possibly, other, arguments):
        pass # do something here

编辑

感谢@J.F.Sebastian 指出这一点,

len() 是一个函数,而不是一个方法。 len()、dir()、int()、open()、sorted()等是python的内置函数。

更多编辑以澄清概念

一般来说,方法是属于一个类的函数,函数可以在代码的任何范围内。所以用正常的话你可以说所有的方法都是函数,但不是所有的函数都是方法。区分两者的简单方法是. 运算符。如果它前面有 . 运算符,则它是一个方法。一个方法的通用调用是the_instance.the_method()

【讨论】:

  • 谢谢老兄,这个解释很有帮助! =)
  • @Dinar: len() 不是一种方法。它是一个内置函数。
  • 我不同意你的最后一句话:“方法的通用调用是the_parent_class.the_method()。”虽然the_parent_class 肯定是实例的有效名称,但您最好说the_instance.the_method()。对类的方法调用通常只使用类方法和静态方法。
【解决方案2】:

那些是“功能”。与"blah".upper() 这样的“实例”一起使用的通常称为“方法”(属于一个类)。

【讨论】:

  • 哦,对,啊哈。我完全对术语感到困惑,感谢您清理它! :)
猜你喜欢
  • 2019-12-04
  • 2023-03-16
  • 2011-02-27
  • 2010-12-08
  • 2019-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多