Методе Инстанце вс. Статиц вс. Цласс у Питхону: важне разлике

Методе Инстанце вс. Статиц вс. Цласс у Питхону: важне разлике

Питхон методе често могу бити збуњујуће када уђете у објектно оријентисано програмирање (ООП). Овај водич покрива три главне врсте метода у Питхону.





3 врсте метода у Питхону

У Питхону постоје три врсте метода: инстанце методе , статичке методе , и разредне методе .





Познавање разлика није увек потребно за кодирање основних Питхон скрипти, али када напредујете у ООП, разлике могу направити велику промену.





Ако сте тек почели са Питхон -ом или само желите да експериментишете, а да не морате ништа да инсталирате, свакако их посетите онлине интерактивне Питхон љуске .

Пре него што почнемо: Разумевање образаца декоратора

Пре него што погледате разлике, важно је разумети образац дизајна познат као украсни узорак , или једноставно назван а декоратер .



Декоратори звуче сложено, али нема чега да се плашите. Декоратори су једноставно функције. Можете их сами написати или користити оне укључене у библиотеке или стандардну библиотеку Питхон.

Као и свака функција, декоратери извршавају задатак. Разлика је у томе што декоратери примењују логику или мењају понашање других функција. Они су одличан начин за поновну употребу кода и могу помоћи у раздвајању логике на индивидуалне проблеме.





Декораторски узорак је Питхонов преферирани начин дефинисања статичких метода или метода класе. Ево како неко изгледа у Питхону:

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@staticmethod
def example_function():
''' This method is decorated! '''
print('I'm a decorated function!')

de = DecoratorExample()
de.example_function()

Декоратори морају непосредно претходити декларацији функције или класе. Почињу са @ знак, и за разлику од нормалних метода, не морате стављати заграде на крај осим ако преносите аргументе.





Могуће је комбиновати више декоратора, написати своје и применити их на часове, али нећете морати да радите ништа од овога за ове примере.

сазнајте шта је избрисан видео са иоутубе -а

Методе инстанци у Питхону

Инстанце методе су најчешћи тип метода у Питхон класама. Они се тако зову јер могу приступити јединственим подацима своје инстанце. Ако имате два објекта направљена од класе аутомобила, сваки од њих може имати различита својства. Могу имати различите боје, величине мотора, седишта итд.

Инстанце методе морају имати себе као параметар, али не морате ово да уносите сваки пут. Селф је још један посебан израз за Питхон. Унутар било ког метода инстанце, можете користити селф за приступ свим подацима или методама који се могу налазити у вашој класи. Нећете им моћи приступити ако не прођете кроз себе.

Коначно, пошто су методе инстанце најчешће, није потребан декоратер. Сваки метод који креирате аутоматски ће бити креиран као метод инстанце, осим ако Питхону не кажете другачије.

Ево примера:

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
self.name = 'Decorator_Example'
def example_function(self):
''' This method is an instance method! '''
print('I'm an instance method!')
print('My name is ' + self.name)

de = DecoratorExample()
de.example_function()

Тхе име приступа се променљивој себе . Приметите то када пример_функција се зове, не морате да уносите себе у --- Питхон то ради уместо вас.

Статичке методе у Питхону

Статичке методе су методе које су на неки начин повезане са класом, али не морају да приступају подацима специфичним за класу. Не морате да користите себе , а не морате чак ни да стварате инстанцу инстанце, можете једноставно позвати свој метод:

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@staticmethod
def example_function():
''' This method is a static method! '''
print('I'm a static method!')

de = DecoratorExample.example_function()

Тхе @статицметход децоратор је коришћен да се Питхону каже да је овај метод статички.

Статичке методе су одличне за помоћне функције које извршавају задатак изоловано. Не морају (и не могу) приступити подацима класе. Требали би бити потпуно самостални и радити само са подацима прослијеђеним као аргументи. Можете користити статички метод да додате два броја заједно или одштампате дати низ.

Методе класа у Питхону

Методе класе су трећи и последњи тип ООП методе који треба знати. Класне методе знају за своју класу. Не могу приступити одређеним подацима инстанце, али могу позвати друге статичке методе.

Методе часа не требају себе као аргумент, али им је потребан параметар тзв цлс . Ово стоји за класа , и попут себе, Питхон аутоматски прослеђује.

Методе класа се креирају помоћу @цлассметход декоратер.

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@classmethod
def example_function(cls):
''' This method is a class method! '''
print('I'm a class method!')
cls.some_other_function()
@staticmethod
def some_other_function():
print('Hello!')

de = DecoratorExample()
de.example_function()

Методе класа су вероватно збуњујуће три врсте метода, али имају своју употребу. Методе класа могу да манипулишу самом класом, што је корисно када радите на већим, сложенијим пројектима.

Када користити сваки тип методе

Можда се чини као тешка и застрашујућа одлука о избору између врста метода у Питхону, али ускоро ћете се снаћи с мало вежбе.

зашто се мој иПхоне не повезује са рачунаром

Чак и ако само за забаву пишете мале скрипте, учење друге ООП функције Питхон -а је велика вештина коју можете знати и може вам помоћи да лакше решите проблем са кодом и лакше ћете га поново користити у будућности.

Укратко:

  1. Методе инсталације: Најчешћи тип методе. Може приступити подацима и својствима јединственим за сваку инстанцу.
  2. Статичке методе: Не могу приступити ничему другом у класи. Потпуно самодостатан код.
  3. Методе часа: Може приступити ограниченим методама у класи. Може изменити детаље специфичне за класу.

Ако је овај водич био мало напреднији или није баш оно што сте тражили, зашто онда не бисте погледали ове курсеве да бисте прешли са почетника на Питхон на професионалца? Ових 5 веб локација су такође одличне за Питхон почетнике. Ако желите физичку употребу Питхона у стварном свету, али вам је досадио Распберри Пи, шта кажете на наш водич за контролишући Ардуино са Питхоном ?

Објави Објави Твеет Емаил Како очистити Виндовс рачунар помоћу командне линије

Ако на вашем Виндовс рачунару недостаје простора за складиштење, очистите смеће помоћу ових брзих помоћних програма командне линије.

Прочитајте следеће
Повезане теме
  • Програмирање
  • Програмирање
  • Питхон
О аутору Јое Цобурн(136 објављених чланака)

Јое је дипломирао рачунарство на Универзитету Линцолн, УК. Он је професионални програмер софтвера и када не лети беспилотним летелицама или не пише музику, често га се може затећи како фотографише или производи видео записе.

Више од Јоеа Цобурна

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили