Как использовать переменную из другой функции

У меня есть 2 функции. В первой я записываю переменные, которые мне нужны и в следующей в хочу их использовать. Но мне выдает ошибку, что переменные не найдены

def firstdef():
    name1 = input('name: ')
    seconddef()    

def seconddef():
    global name1
    print(name1)

firstdef()

Ответы (3 шт):

Автор решения: S. Nick

Попробуйте так:

def firstdef():
    name1 = input('name: ')
    seconddef(name1)    

def seconddef(name1):
#    global name1
    print(name1)

firstdef()
→ Ссылка
Автор решения: strawdog

Либо так:

def firstdef():
    name1 = input('name: ')
    return name1

def seconddef():
    print(firstdef())

seconddef()
→ Ссылка
Автор решения: Shamus Rezol
# c7414f376fc94e62acb9d4b10312d2be.py
# Date: September 24th, 2020.

x = 10
y = 10

def refresh():
    """ Возводит переменную x в 10-ю степень."""

    '''
    Указываем на то, что мы обращаемся именно к
    глобальной переменной x.
    '''
    global x
    x = x ** 10

    '''
    Иная ситуация, когда мы не указываем на испльзование
    именно глобальной переменной. В этом случае создается
    новая локальная переменная.
    '''
    #y = y ** 10# UnboundLocalError: local variable 'y' referenced before assignment
    y = 256 ** 10
    print(locals())

refresh()
print(
    '-' * 8,
    "\nx:", x,
    "\ny:", y,
    "\ny == 256^10:", y == 256 ** 10,
    '\n' + '-' * 8)

def use_x():

    '''
    Для использования глобальной переменной
    x необходимо явно указать это.
    '''
    global x
    print("Using", x)

use_x()

 

{'y': 1208925819614629174706176}
--------
x: 10000000000
y: 10
y == 256^10: False
--------
Using 10000000000
→ Ссылка