Форум сайта python.su
Доброго времени суток, есть такой вопрос: как перенести переменную(с содержанием естественно) из общего кода(незнаю как правильно назвать) в функцию? Например:
#!/usr/bin/python
# -*- coding: utf-8 -*-
var1 = "foobar"
def x():
var1 = "anytext"
print var1
def y():
#вот сюда мне нужно перенести var1 который содержит "foobar"
Офлайн
def y():
print var1
Офлайн
def x():
var1='Читайте документацию!'
return var1
def y():
print x()
var1='читайте документацию'
def x():
global var1
var1='или прочтите любой учебник про питон'
def y():
print var1
Отредактировано (Март 12, 2009 17:47:11)
Офлайн
очень странно, раньше ето не работало, а теперь сработало… хм
#!/usr/bin/python
# -*- coding: utf-8 -*-
var1 = "пошел читать документацию"
def x():
print var1
x()
v1 = 1
def asa():
v1 = 2
print v1
asa()
print v1
Отредактировано (Март 12, 2009 18:36:41)
Офлайн
а вопрос то на самом деле интересный
я смог найти только такое решение
x=10
def r():
globals()['x'] = globals()['x'] +10
r()
print x
20
Офлайн
Стоп стоп… Это не одно и тоже:
x=10
def r():
global x
x+=10
r()
print x
Офлайн
А передавать переменную как параметр функции не пробовали?
#!/usr/bin/python
# -*- coding: utf-8 -*-
var1 = "foobar"
def x():
var1 = "anytext"
return var1
def y(var1=x()):
print var1
#или её переназначить
def y():
var1=x()
print var1
Офлайн
Rodegastтак тоже можно, но ситуация была примерно такая:
А передавать переменную как параметр функции не пробовали?#!/usr/bin/python
# -*- coding: utf-8 -*-
var1 = "foobar"
def x():
var1 = "anytext"
return var1
def y(var1=x()):
print var1
#или её переназначить
def y():
var1=x()
print var1
#!/usr/bin/python
var1 = raw_input()
# а дальше в куче мест будет нужна ета переменная...
Отредактировано (Март 14, 2009 21:37:29)
Офлайн
Может стоит использовать класс?
Офлайн
igor.kaistнеумею пока ефективно использовать классы
Может стоит использовать класс?
Офлайн