Пытаюсь осмыслить функции Python

Я пытаюсь напечатать:

gibberish1
2

с помощью нескольких функций.

Я не уверен, каким образом следует вызывать функции, какие аргументы потребуются для указанных вызовов или какие параметры мне нужны для функций в приведенном ниже сценарии.

__

Как мне использовать обе функции в следующем случае?

def function_one():
    variable_one = 1
    variable_two = 2
    return variable_one, variable_two


def function_two():
    use_function_one_variable = 'gibberish' + str(variable_one)
    print(use_function_one_variable)
    print(variable_two)

Пожалуйста, не делайте больше работы для других, портя ваши сообщения. Размещая сообщения в сети Stack Exchange (SE), вы предоставляете SE безотзывное право в соответствии с Лицензия CC BY-SA 3.0 на распространение этого контента (т.е. независимо от вашего будущего выбора). Согласно политике SE, распространяется не вандализированная версия сообщения. Таким образом, любой вандализм будет пресечен. Если вы хотите узнать больше об удалении сообщения, см .: Как работает удаление? ...

Makyen 14.01.2019 06:00
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
104
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

def function_one():
    variable_one = 1
    variable_two = 2
    return variable_one, variable_two


def function_two():
    print_this_one, print_this_two = function_one()
    print_this_one += 'gibberish'
    print_this_two += 'more gibberish'
    print(print_this_one)
    print(print_this_two)

С function_two() необходимо вызвать в function_one():

def function_two():
    v1, v2 = function_one()
    use_function_one_variable = 'gibberish' + str(v1)
    print(use_function_one_variable)
    print(v2)

IIUC

Если вам нужна функция, которая печатает только gibberish1, вы можете сделать следующее:

def gib():
    print('gibberish1')

Затем, если вы наберете gib(), он напечатает то, что вы ищете.

Если вам нужна функция, которая печатает 2, вы делаете то же самое:

def two():
    print(2)

Если вам нужна функция, которая объединяет оба, вам нужно, чтобы ваш номер был строкой.

def gib2():
var1='gibberish1'
var2='2'
    print(var1+var2)

Каждая функция имеет собственную локальную область видимости, поэтому, вообще говоря, к переменным, определенным в этой функции, можно получить доступ только из нее. Один из способов обойти это - передать переменные из функции с помощью return, что вы и делаете здесь.

В вашем коде, когда вы вызываете функцию один, он вернет кортеж с variable_one и variable_two. Чтобы получить доступ к ним из function_two, вы можете вызвать function_one изнутри следующим образом:

 def function_two():
    variable_one, variable_two = function_one()
    use_function_one_variable = 'gibberish' + variable_one
    print(use_function_one_variable)
    print(variable_two)
Ответ принят как подходящий

Следующий фрагмент кода:

def function_one():
    variable_one = 1
    variable_two = 2
    return variable_one, variable_two


def function_two():
    variable_one, variable_two = function_one()
    use_function_one_variable = 'gibberish' + str(variable_one)
    print(use_function_one_variable)
    print(variable_two)

function_two()

производит желаемый результат:

gibberish1
2

Вы можете проверить с помощью print(type(function_one())), что function_one() возвращает tuple. Следовательно, вы можете получить доступ к любому из его возвращаемых значений путем индексации: например, доступ к возвращаемому значению variable_one осуществляется с помощью function_one()[0], а к возвращаемому значению variable_two осуществляется доступ с помощью function_one()[1].

Stefano Gogioso 31.08.2018 23:49

Другие вопросы по теме