2015-01-12 2 views
0

мне было просто интересно, что терминология, используемая для битов кода, таких как:Как называется?

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

И только общие команды, такие, как, что.

+0

Я думаю, что лучше всего, если вы пройдете через https://docs.python.org/2/tutorial/ или http://learnpythonthehardway.org/ или http: // www .diveintopython.net/перед публикацией – zehnpaard

+0

Я понимаю, что это такое, мне просто интересно, как вызваны. Не воспринимайте мой вопрос как незнание: P – Dinar

+2

Все, кроме последнего, являются специальным типом функции, называемой ["методом"] (http://en.wikipedia.org/wiki/Method_%28computer_programming%29) объект. Почти все в Python - это объект: строки, множества, числа, функции и т. Д. ['Len()'] (https://docs.python.org/2/library/functions.html?highlight=len#len) с другой стороны, это имя одной из многих функций, встроенных или включенных в язык, многие из которых вызываются с аргументами из нескольких разных типов и не связаны только с одной иерархией классов или классов типов объектов , – martineau

ответ

4

Термины .lower(), .upper(), .get() и т. Д. Называются методами в python.

это функции, которые являются членами класса.

В техническом смысле,

Метод представляет собой функцию, которая принимает экземпляр класса в качестве первого параметра. Методы являются членами классов.

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

EDIT

спасибо за @ J.F.Sebastian за указав его,

len() является функцией, а не метод. len(), dir(), int(), open(), sorted() и т. Д. Встроены в функции python.

Еще более редактирования для концептуальных уточнений

Вообще говоря, методы функций, которые принадлежат к классу, функции могут быть на любой объем кода. Итак, в нормальных словах вы можете сказать, что все методы - это функции, но не все функции - это методы. Легкий способ отличить друг от друга - это оператор .. Если ему предшествует оператор ., это метод. Общее назначение метода: the_instance.the_method()

+0

Спасибо, чувак, это объяснение помогает много! =) – Dinar

+0

@Dinar: 'len()' не является методом. Это встроенная функция. – jfs

+0

Я не согласен с вашим последним предложением: «Общее обращение к методу -' the_parent_class.the_method() '." Хотя 'the_parent_class', безусловно, является допустимым именем для экземпляра, вам лучше сказать' the_instance.the_method() '. Вызов методов на классы обычно производится только с помощью методов класса и статических методов. – glglgl

2

Это «функции». Те, которые используются с «экземпляром», например "blah".upper(), часто называются «методами» (класса).

+0

О, хорошо, ага. Я полностью смутил терминологию, спасибо за ее очищение! :) – Dinar