Тази статия ще помогне на читателя да разбере основните функции на Python, заедно с някои основни приложения в реалния свят. Ще използваме Visual Studio Code като наш редактор на код. Ако не сте инсталирали Visual Studio Code, инструкциите са дадени в първия блог.

Функции на Python – съдържание:

  1. Функции на Python
  2. Функции на Python като обекти
  3. Съхраняване на функции на Python в структури от данни

Функции на Python

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

Функциите на Python се дефинират с помощта на ключовата дума “def”, следвана от името на функцията. След това в тези скоби “()” се дефинират аргументите. Основният синтаксис на функциите на Python е илюстриран по-долу.

Например:

# Създайте функция
# ключова дума def
def functioname(): 



Забележка:

Името на функцията също има същите норми като декларацията на променливата.

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

# първа функция

def sum(a,b):
	return a+b



В горния кодов блок написахме функция, която ни дава сумата на две числа. Както можете да видите, използвахме ключовата дума “def”, а a и b са аргументите, които в нашия случай ще бъдат числата, за които искаме сумата. Сега използвахме ключова дума, наречена “return”, която се използва за връщане на желаната стойност или низ от функцията след извършване на желаната задача. Стойностите, които се връщат с помощта на ключовата дума return, могат да бъдат допълнително присвоени на други променливи или могат да се използват в функции като аргумент.

Нека сега видим как да използваме тази функция с нашите желани числа.

# първа функция

def sum(a,b):
	return a+b

sum(6,7)

x=sum(6,7)
print(x)

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

Нека стартираме програмата и видим изхода

# Изход

13

Получихме изход 13, което е сумата на 6 и 7. Нека напишем друга функция, която ни дава пълно име, като вземе име и фамилия.

# втора функция
def fullname(fn,ln):
	return fn+ln

x=fullname(“python”,”language”)
print(x)

Както можете да видите, просто дефинирахме функцията fullname и й дадохме параметри име и фамилия. Връщаме пълното име, използвайки “+”, което е оператор за конкатенация в низ, който научихме в блога за променливите.

Нека разгледаме изхода

#Изход

pythonlanguage

Функции на Python като обекти

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

Присвояване на функции на променлива

Тъй като функцията е обект, тя може да бъде присвоена на променлива. Примерът е илюстриран по-долу.

# първа функция

def sum(a,b):
	return a+b

sumab=sum

В горния пример можем да видим, че присвояването на нова променлива не извиква функцията, а просто присвоява функцията на променливата “sumab”. Истинското значение на горния пример е, че променливата “sumab” взема обекта на функцията sum като референция и “sumab” сега сочи към този обект. Следователно sumab може да се използва и като функция сега. Примерът е илюстриран по-долу.

# Нова функция

def sum(a,b):
	return a+b

sumab=sum

s=sumab(7,8)
print(s)

Изход:

#изход

15

Забележка:

Името на функцията, което даваме в декларацията, и обектите на функцията работят много различно. Дори ако изтрием оригиналното име на функцията, ако има друго име, сочещо към този референтен обект на функцията, функцията все пак ще работи. Примерът е илюстриран по-долу.

# Нова функция

def sum(a,b):
	return a+b

sumab=sum

del sum

sum(8,7)

Изход:

#Изход

NameError: “name ‘sum’ is not defined”

Но когато използваме функцията sumab, резултатът е илюстриран по-долу.

# Нова функция

def sum(a,b):
	return a+b

sumab=sum

del sum

sumab(8,7)

Изход:

15

Съхраняване на функции на Python в структури от данни

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

#съхраняване на функции в структури от данни

Storedfunctionslist=[len,str.upper(),str.strip(),str.lower()]

Storedfunctionslist

Итерацията през функциите е точно като итерацията през обектите. Примерът е илюстриран по-долу.

#съхраняване на функции в структури от данни

Storedfunctionslist=[len,str.upper(),str.strip(),str.lower()]

for fun in Storedfunctionslist:
    print(fun, fun('Hello'))

В този блог разгледахме някои основни функции на Python, по-подробните теми за функциите ще бъдат разгледани в следващия блог пост.

python_functions

Може да ви хареса и нашият Курс по JavaScript от начинаещ до напреднал.

Robert Whitney

Експерт по JavaScript и инструктор, който обучава ИТ отдели. Основната му цел е да повиши продуктивността на екипа, като учи другите как да си сътрудничат ефективно при програмирането.

View all posts →

Python Course From Beginner to Advanced in 11 blog posts:

  1. Питон кортежи, списъци, множества и речници. Част 3 от курса по Питон от начинаещ до напреднал в 11 публикации в блога
  2. Функции в Python. Част 7 от курса по Python за начинаещи до напреднали в 11 публикации в блога
  3. Въведение в курса по Python. Част 1 Курс по Python от начинаещ до напреднал в 11 блог поста
  4. Променливи и типове данни в Python. Част 2 от курса по Python за начинаещи до напреднали в 11 блог поста
  5. Питон множества и речници. Част 4 от курса по Питон за начинаещи до напреднали в 11 блог поста
  6. Питон класове и обекти. Част 9 Питон курс от начинаещ до напреднал в 11 блог поста
  7. Файлове в Python. Част 10 от курса по Python от начинаещ до напреднал в 11 публикации в блог.
  8. Цикли в Python. Част 6 от курса по Python от начинаещ до напреднал в 11 блог поста
  9. Разширени функции в Python. Част 8 от курса по Python от начинаещ до напреднал в 11 блог публикации