Функции в Python: def. Python 3 за начинаещи

В програмните езици функцията се нарича част от кода. Това са отделни блокове в текста на програмата. Дефинира се чрез запазената дума def. В Python можете да получите достъп до функциите на неограничен брой пъти от всяка част на скрипта.

Защо е необходима функция

Функции - Това е незаменим инструмент за програмист. С тяхна помощ разработчикът създава програмата, което я прави по-ясна и по-компактна. С помощта на функции можете да постигнете многократно използване на отделна част от кода без неговото пренаписване.


Това е най-лесният начин за опаковане на логиката на изпълнение на отделните части на програмата. Това намалява количеството и времето, което специалистът изразходва за създаване на скрипт.

Как да напишем първата функция

В Python 3 за начинаещи, познаването му с програмирането е най-простата функция print (). За да го видите в действие, ще ви е необходима среда за разработка. За да направите това, изтеглете езиковото разпространение от официалния сайт и инсталирайте Python на вашия компютър. Отворете менюто Старт и намерете Python в списъка с приложения 3. Разгънете го с левия бутон на мишката. В списъка намерете IDLE средата и я стартирайте. Въведете print ("Hello, World!") И натиснете "Enter". Преводачът ще върне резултата от вашата първа функция. Някои програмисти предпочитат да работят в конзолата. Ако сте в този номер, кликнете върху win + R и напишете python.exe. Обикновеният интерпретатор се отваря само с cmd интерфейса. Напишете програмата, както е описано по-горе, и натиснете Enter, за да видитерезултата



Как се използва def

Нови функции се създават с помощта на оператора def. Те са толкова ефективни, колкото вграденият print () или open (), но се различават от функциите на езика за компилация. Python def се отнася за изпълними инструкции. Това означава, че функцията не съществува, докато преводачът не го види и няма да влезе в неговото изпълнение. Операторът def създава нов обект и му дава име. Тоест, когато интерпретаторът започне да изпълнява, той създава нов обект и го свързва с името, дадено след def. Можете да прикачите различни атрибути, за да запишете данните в функции. Сега нека напишем функция, която връща фразата "Здравей, свят!", Само използвайки def:
  • def здравствуй_мир ():
  • print ("Здравейте, свят!")
  • здравствуй_мир () # извикване на функция
  • Здравейте, свят!
  • Синтаксис на функциите и връщане

    Клаузата def в Python се състои от заглавие и се пише, като се използват следните правила:
  • def (аргумент 1 аргумент 2 аргумент N):
  • След заглавната част има блок от инструкции, който започва със задължително отстъпление. В IDLE интерпретатора ще го направи автоматично. Но в бележника или друг текстов редактор можете да забравите да кликнете върху Tab. Тогава функцията няма да започне. Програмният код в блока инструкции се нарича тялото на функцията и се изпълнява всеки път, когато се извиква. Също така, в тялото понякога има връщане:
  • def (аргумент 1 аргумент 2 аргумент N):
  • return
  • Return връща функцията и изпраща обекта на резултатите към програмата. Инструкцията не е задължителна. Функцията ще работи без връщане и ще приключи,когато потокът на контрол достигне края на тялото си.

    Параметри и аргументи

    Всяка функция може да бъде предадена на параметри, които са посочени в скоби след def. В Python те се записват като променливи, разделени със запетаи. Стойностите или препратките към обекти за тези имена се задават в блок от двоеточие. След операцията по присвояване те се наричат ​​аргументи, а не параметри. Аргументите в рамките на функцията не са свързани с обекти извън него, така че в програмирането те са свързани с локални променливи. Областта на видимост е ограничена от функционален блок, който започва с def и завършва с връщане. За да стане по-ясно, дайте пример:
  • x = 12 # присвоява променливи препратки към цели обекти
  • y = 34
  • def пример (x, y): # създава функция с тях Пример
  • x = "Здравейте" # Задайте стойностите на аргументите x, y
  • y = "Python"
  • print (x, y, sep = ",")
  • връщане Няма
  • пример (x, y) # извикване на функцията, без да се забравят параметрите
  • Здравейте, Python
  • print (x, y) 37]
  • 1234
  • Отбележете предпоследната стъпка на кода. В интерпретатора на Python командата print () връща променливите x и y от глобалния обхват. Стойността на аргументите не трябва да се задава във функцията, можете да ги въведете ръчно, когато се нарича:
  • def E_2 (x, y):
  • return x + y
  • E_2 ("Здравей, "" Python! ") # За да бъдат разделени думите, поставете интервал преди затваряне на лапите
  • Здравейте, Python!
  • E_2 (5 4)
  • 10
  • Както може да се види от примера с простата функция E_2, резултатът зависи изцяло от вида на обектите x и y. В първия случай E_2 извършва конкатенация, а във втория е аритметичнадобавяне на операция. Това е принципът на полиморфизма и динамичното типизиране. Фактът, че обектите определят синтактичното значение, определя гъвкавостта и простотата на езика. Няма нужда да губите време, посочвайки типа данни, с който работи функцията.

    Правило LEGB

    Това правило се прилага за работа с променливи в различни области на видимост. По подразбиране всички имена, които създавате във функционалното тяло, се считат за локални. И имената в модула са глобални. Ако искате имената, можете да присвоите стойностите на променливите от първо ниво с помощта на нелокални и глобални инструкции. Правилото LEGB обяснява схемата за разрешаване на имена:
  • Веднага след като интерпретаторът намери променлива вътре в оператора def, той първо търси стойности в локалния обхват.
  • Ако търсенето е неуспешно, то тогава се премества в обхвата на всяка изчерпателна декларация def.
  • След това интерпретаторът се премества към глобалните имена в горното ниво на модула и тези, които са определени като глобални.
  • Ако търсенето не доведе до резултати, интерпретаторът търси имена в вградения обхват на езика на Python.
  • Да разгледаме конкретен пример:
  • L = 85
  • R = 23
  • def example_2 (K):
  • R = 10
  • = L + K + R
  • връщане C
  • example_2
  • 100
  • Променливите L и R са на по-горно ниво и са глобални имена. R, C и K са локални променливи, тъй като присвояването на стойността се извършва вътре в оператора def. Интерпретаторът изпълнява операция по добавяне за локални R, C и K, пренебрегвайки променливата R извън оператора def. След това търся L, а не го намирам сред имената на местните,се премества на по-горно ниво.

    Какво е ламбда

    В допълнение към def, функциите на Python могат да бъдат създадени с помощта на специални изрази, единият от които е lambda. Той получава оригиналното си име в чест на Ламбда-смятане на езика LISP. Подобно на def, lambda създава функция, която може да бъде извикана в бъдеще, но не я свързва с никакво име. На практика, ламбда се използва, когато е необходимо да се отложи изпълнението на кодовия фрагмент.

    Принципи на Lambda-Expression

    На пръв поглед ламбда-изразите наподобяват инструкции def. Първата е ключовата дума lambda, след това аргументите, двоеточие и самият израз:
  • f = lambda x, y, z: x + y + z
  • f (234)
  • 9
  • ] Ламбда-тялото е един-единствен израз, а не блок от инструкции. Поради това, ламбда е ограничена в възможностите и не е толкова универсална, колкото def. Може да се прилага само логика, без цикли докато и за. За ламбда съществуват подобни правила за дефиниране на променливи за търсене. Имената, дадени извън израза, са глобални, вътрешните са локални и нямат ефект един върху друг. Lambda израз е много удобен за вграждане в програмата. Поради малкия размер те минимизират и опростят кода. Но използването на ламбда не е фундаментално. В Python 3, начинаещите ще имат достатъчно деф инструкции за работа.

    Свързани публикации