Найти - Пользователи
Полная версия: из name1 в name2
Начало » Центр помощи » из name1 в name2
1
Wylamin
Весь код:
 class Basa():
    name1 = "Да"
    name2 = "Нет"
print(Basa.name1)

В терминале получится:
>>> Да
Но я хочу чтобы получилось нет, то есть
 print(Basa.name2)
, но я хочу сделать это по принципу
 print(Basa.name + (1+1))
, но так не работает
Wylamin
у меня появилось недорешение:
 name1 = "Да"
name2 = "Нет"
print(eval("name" + str(1+1)))
решается с помощью eval()
но мне нужно не
 name1 = "Да"
name2 = "Нет"
а нужно
 class Basa:
    name1 = "Да"
    name2 = "Нет"
xam1816

Wylamin
но я хочу сделать это по принципу
print(Basa.name + (1+1))

для чего такие выкрутасы?
doza_and
Wylamin
, но я хочу сделать это по принципу

print(Basa.name + (1+1))

, но так не работает
Вы можете хотеть чего угодно. Если пользуетесь языком python то должны пользоваться его правилами. Если правила не нравятся и вам нужны свои, то берете и пишете свой язык программирования. Все просто :).

При написании языков питона, или своего требуется логичность мышления.

Если вы пишете
 print(Basa.name2)
То почему тогда во втром примере
 print(eval("name" + str(1+1)))
а не:
 print(eval("Basa.name" + str(1+1)))
???
Wylamin
doza_and
в примере с print(“name” + str(1+1))
у меня не было объектов, у меня были переменные name1 и name2
в общем я решил его
Я записал name1, name2 в другой файл как переменные и импортировал его в свой основной и пользовался функцией eval
Wylamin
xam1816
типо база данных
py.user.next
Wylamin
Я записал name1, name2 в другой файл как переменные и импортировал его в свой основной и пользовался функцией eval
Да это всё не делается вообще никогда. Поэтому можешь делать, как хочешь. Для динамического формирования имён можно использовать функцию setattr().
  
>>> class A: pass
... 
>>> 
>>> setattr(A, 'n', 1)
>>> 
>>> A.n
1
>>> 
>>> setattr(A, 'n' + str(2), 2)
>>> 
>>> A.n2
2
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB