Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Python для новичков
  • » Python. Можно как то из получающей функции проверить имя переменной которая была в нее передана и прикрутить это к if блоку? [RSS Feed]

#1 Июнь 7, 2014 23:53:09

lenivaya10001
Зарегистрирован: 2014-06-06
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Python. Можно как то из получающей функции проверить имя переменной которая была в нее передана и прикрутить это к if блоку?

def func2(x):
#-если в func2 была передана переменная с именем xoxa, тогда print("xoxa молодец")
#-в противном случае print("tato нерд")
return "мне повезет"
def func1():
xoxa=11
tato=22
x=func2(xoxa)
x=func2(tato)

Офлайн

#2 Июнь 8, 2014 01:16:48

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Python. Можно как то из получающей функции проверить имя переменной которая была в нее передана и прикрутить это к if блоку?

не надо путать имена переменных и их значения.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Июнь 8, 2014 06:31:12

lenivaya10001
Зарегистрирован: 2014-06-06
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Python. Можно как то из получающей функции проверить имя переменной которая была в нее передана и прикрутить это к if блоку?

JOHN_16
не надо путать имена переменных и их значения.
уже посоветовали на тостере

Офлайн

#4 Июнь 8, 2014 09:03:04

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Python. Можно как то из получающей функции проверить имя переменной которая была в нее передана и прикрутить это к if блоку?

def f(a):
    for i in globals():
        if a is globals()[i]:
            print i
            #break
    else:
        print 'no one'
Что-то в этом духе.

Отредактировано Shaman (Июнь 8, 2014 09:42:29)

Офлайн

#5 Июнь 8, 2014 11:17:31

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Python. Можно как то из получающей функции проверить имя переменной которая была в нее передана и прикрутить это к if блоку?

Это даже не пэхэпэ…



Офлайн

#6 Июнь 8, 2014 12:28:22

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Python. Можно как то из получающей функции проверить имя переменной которая была в нее передана и прикрутить это к if блоку?

Всякое пэхэпе зачастую начинается с постановки задачи.

Офлайн

#7 Июнь 8, 2014 13:30:00

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Python. Можно как то из получающей функции проверить имя переменной которая была в нее передана и прикрутить это к if блоку?

А если:

def func1():
   xoxa=11
   tato=11
   x=func2(xoxa)
   x=func2(tato)
тогда то что делать? Оба имени ассоциированы с одним значением.

А так интересная идея. Сделать чтобы результат вызова несколько зависел от имени переменной которая использовалась при выборе. :) Уверен что те кто сделает рефакторинг будут дооооолго искать в чем дело.



Офлайн

#8 Июнь 8, 2014 13:34:53

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Python. Можно как то из получающей функции проверить имя переменной которая была в нее передана и прикрутить это к if блоку?

While it is quite possible to emulate the interface of functions in Cython’s own function type, and recent Cython releases have seen several improvements here, the “inspect” module does not consider a Cython implemented function a “function”, because it tests the object type explicitly instead of comparing an abstract interface or an abstract base class. This has a negative impact on code that uses inspect to inspect function objects, but would require a change to Python itself.
И так далее и так далее…

Офлайн

#9 Июнь 8, 2014 14:55:45

lenivaya10001
Зарегистрирован: 2014-06-06
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Python. Можно как то из получающей функции проверить имя переменной которая была в нее передана и прикрутить это к if блоку?

doza_and
А если:
так еще злее постановка вопроса
def func1():
   xoxa,tato=11
   x=func2(xoxa)
   x=func2(tato)

Офлайн

#10 Июнь 8, 2014 15:15:31

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Python. Можно как то из получающей функции проверить имя переменной которая была в нее передана и прикрутить это к if блоку?

@func3
def func2(x):
    . . .

Офлайн

  • Начало
  • » Python для новичков
  • » Python. Можно как то из получающей функции проверить имя переменной которая была в нее передана и прикрутить это к if блоку?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version