Рубрики
Без рубрики

Функции Python

Большинство приложений, независимо от языка программирования, в которых они написаны, разбиты в … Теги с Python, учебником, начинающим, программированием.

Большинство приложений, независимо от языка программирования, в них написаны, разбиты на более мелкие блоки, известные как функции, а Python ничем не отличается.

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

# define a basic function
def func1():
    print("I am a function")

func1()
print(func1())
print(func1)

Выход:

I am a function
I am a function
None

Таким образом, функции определены с деф ключевое слово. Клона указывает на начало блока возможностей функции. Пара вещей, чтобы заметить здесь. В некоторых случаях, на других языках программирования, эта толстая кишка будет заменена в сказе Java или C с фигурными скобками для указания объема. Это не то, как работает Python. Python использует толстую кишку, а затем следующая строка с отступом, она зависит от вас, сколько пробелов вы хотите отступить.

В результате вы можете увидеть, что Я функция напечатал, а затем та же строка, за которой следует слово Нет , а затем, наконец, эта строка 0x0000025c054dbf70 Отказ Таким образом, в первом случае функция называется напрямую, которая выполняет содержимое функции, вызывая оператор печати для печати строки. Во втором случае функция также называется внутри функции печати, поэтому вывод такой же, как и в первом случае, но затем выполняется внешнее оператор печати, и поскольку наша функция не возвращает значение, Python оценивает Возвращаемое значение, чтобы быть постоянным Python None, а затем просто печатает строковое представление этого. В последнем случае сама функция вообще не выполняется, поскольку мы не включаем эти маленькие скобки, которые будут вызывать функцию. Мы просто печатаем значение самого определения функции, которое оценивает эту строку 0x0000025c054dbf70 Отказ Это просто демонстрирует, что сами функции – это объекты, которые могут быть переданы на другие произведения кода Python.

Функция с аргументами

# function that takes arguments
def func2(arg1, arg2):
    print(arg1, arg2)

# function that returns a value
def cube(x):
    return x * x * x

func2(10, 20)
print(func2(10, 20))
print(cube(3))

Выход:

10 20
10 20
None
27

Вы можете увидеть, что на первой строке, 10 и 20 печатаются с пространством между между ними, и это похоже на первый результат, а затем вторая строка, у нас есть 10 и 20 снова напечатаны со значением None, И снова это происходит потому, что нет возвращаемого значения от Func2. А затем для функции куба, когда мы печатаем кубик из трех, мы получаем значение 27. Таким образом, в этом случае функция возвращает значение, и это то, что печатается.

Функция со значением по умолчанию для аргумента

# function with default value for an argument
def power(num, x = 1):
    result = 1
    for i in range(x):
        result *= num   #result*=num is same as result=result*num
    return result

print(power(2))
print(power(2, 3))
print(power(x = 3, num = 2))

Выход:

2
8
8

Сила функции в основном принимает номер и поднимает его к данной мощности. А в определении функции у меня есть X равен единице, поэтому это присваивает значение по умолчанию для этого аргумента. Здесь Печать (мощность (2)) Я называю мощность функции, но я не даю ему ценность для X, поэтому X будет по умолчанию для одного. А вот Печать (Power (X,)) Я отменяю порядок, в котором называются аргументы. Таким образом, Python позволяет вам вызывать функции с их именованными параметрами вместе со своим значением, и когда вы это сделаете, переводчик Python определяет, какие аргументы для подачи значений. Вам не нужно вызывать функцию с аргументами в определенном порядке, если вы просто поставляете имена вместе со значениями.

Функция с переменным количеством аргументов

#function with variable number of arguments
def multi_add(*args):
    result = 0
    for x in args:
        result += x
    return result

print(multi_add(1, 2, 3))
print(multi_add(1, 2, 3, 10))
print(multi_add(1, 2, 3, 10, 16))

Выход:

6
16
32

Что я здесь сделал, определяет функцию, называемую multi_add, и символ Star означает, что я могу пройти в переменном количестве аргументов. Функция затем петли по каждому аргументу и добавляет их все в течение всего, что затем возвращается. Вы можете комбинировать список вариабельных аргументов с набором формальных аргументов, но просто имейте в виду, что список вариантов аргумента всегда должен быть последним параметром.

Оригинал: “https://dev.to/ahmedgouda/python-functions-2e1a”