Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!

Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount

Функции


Какво представляват функциите?

Функциите са удобен начин за разделяне на вашия код на полезни блокове, което ни позволява да подредим кода си, да го направим по-четим, да го използваме повторно и да спестим време. Освен това функциите са ключов начин за дефиниране на интерфейси, така че програмистите да могат да споделят своя код.

Как се пишат функции в Python?

Както видяхме в предишните уроци, Python използва блокове.

Блокът е област от кода, написана във формат:

block_head:
    1st block line
    2nd block line
    ...

Където блоковата линия е още Python код (дори друг блок), а блоковата глава е от следния формат: block_keyword block_name(argument1,argument2, ...) Блоковите ключови думи, които вече знаете, са "if", "for", и "while".

Функциите в Python се дефинират с помощта на блоковата ключова дума "def", последвана от името на функцията като името на блока. Например:

def my_function():
    print("Hello From My Function!")

Функциите също могат да получават аргументи (променливи, предавани от извикващия към функцията). Например:

def my_function_with_args(username, greeting):
    print("Hello, %s , From My Function!, I wish you %s"%(username, greeting))

Функциите могат да върнат стойност на извикващия, използвайки ключовата дума 'return'. Например:

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

Как извиквате функции в Python?

Просто напишете името на функцията, последвано от (), като поставите всички необходими аргументи в скобите. Например, нека извикаме функциите, написани по-горе (в предишния пример):

# Define our 3 functions
def my_function():
    print("Hello From My Function!")

def my_function_with_args(username, greeting):
    print("Hello, %s, From My Function!, I wish you %s"%(username, greeting))

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

# print(a simple greeting)
my_function()

#prints - "Hello, John Doe, From My Function!, I wish you a great year!"
my_function_with_args("John Doe", "a great year!")

# after this line x will hold the value 3!
x = sum_two_numbers(1,2)

Exercise

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

  1. Добавете функция, наречена list_benefits(), която връща следния списък от низове: "По-организиран код", "По-четим код", "По-лесно повторно използване на код", "Позволяване на програмистите да споделят и свързват код заедно".

  2. Добавете функция, наречена build_sentence(info), която получава един аргумент, съдържащ низ и връща изречение, започващо с дадения низ и завършващо със стринга " е предимство на функциите!".

  3. Изпълнете и вижте как всички функции работят заедно!

# Modify this function to return a list of strings as defined above def list_benefits(): return [] # Modify this function to concatenate to each benefit - " is a benefit of functions!" def build_sentence(benefit): return "" def name_the_benefits_of_functions(): list_of_benefits = list_benefits() for benefit in list_of_benefits: print(build_sentence(benefit)) name_the_benefits_of_functions() # Modify this function to return a list of strings as defined above def list_benefits(): return "More organized code", "More readable code", "Easier code reuse", "Allowing programmers to share and connect code together" # Modify this function to concatenate to each benefit - " is a benefit of functions!" def build_sentence(benefit): return "%s is a benefit of functions!" % benefit def name_the_benefits_of_functions(): list_of_benefits = list_benefits() for benefit in list_of_benefits: print(build_sentence(benefit)) name_the_benefits_of_functions() test_output_contains("More organized code is a benefit of functions!") test_output_contains("More readable code is a benefit of functions!") test_output_contains("Easier code reuse is a benefit of functions!") test_output_contains("Allowing programmers to share and connect code together is a benefit of functions!") success_msg("Nice work!")

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!

Previous Tutorial Next Tutorial Take the Test
Copyright © learnpython.org. Read our Terms of Use and Privacy Policy