Попытка обернуть мою голову вокруг функций Python - PullRequest
0 голосов
/ 01 сентября 2018

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

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)

Ответы [ 5 ]

0 голосов
/ 01 сентября 2018

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

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
0 голосов
/ 01 сентября 2018

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

В вашем коде, когда вы вызываете функцию one, он вернет кортеж с 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)
0 голосов
/ 01 сентября 2018

С 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)
0 голосов
/ 01 сентября 2018

IIUC

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

def gib():
    print('gibberish1')

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

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

def two():
    print(2)

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

def gib2():
var1='gibberish1'
var2='2'
    print(var1+var2)
0 голосов
/ 01 сентября 2018
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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...