Como retornar um nome de variável em Python (por exemplo, b = 3, eu quero imprimir b como str)
Um nome de variável em python refere-se a um valor (ou a nenhum valor se a variável não for inicializada). A qualquer momento, um valor pode ter zero a muitos nomes. Ao passar de função para função ou entre espaços de nomes, o nome "mesmo" não se refere necessariamente ao mesmo valor. So if I had b=3 and returned to you:
- return("the value of b is", b)
I’d return to you a tuple with a string that contains the variable name ‘b’ as a string and some other readable text (maybe we should simplify the spec of the return value to leave out the “other readable text” and the 2nd value in the tuple is a value that you could inspect to discover the value was an int with the numeric value of 3. Mas qual é a utilidade do primeiro elemento desse tuple retornado? A sub-rotina que você chamou que tinha atribuído b=3 agora retornou, então seu nome b já nem sequer está definido. O valor inteiro de 3 continua a ser o segundo valor anónimo no tuple retornado. Se a sua função atual tem uma variável chamada b que b é, muito provavelmente, um b totalmente diferente do b na sub-rotina agora retornada.
Acho que o que me está faltando é a coisa específica que você tinha em mente quando fez a pergunta. Acho que vamos acabar tendo uma grande discussão sobre os problemas de segurança de expor o acesso às variáveis do seu programa Python a um potencial acesso inesperado e descontrolado por parte do usuário do seu programa. Você está escrevendo algum tipo de intérprete? Ou talvez uma ferramenta de depuração? Será importante para sua ferramenta manter os nomes e valores das variáveis do usuário armazenados distintamente do seu próprio espaço de nomes para o seu código.
Então, por um lado, eu admito que não sei o que você tinha em mente, mas estou bastante confortável em afirmar que você está provavelmente no caminho errado e não deve fazer o que você parece querer fazer. Se você realmente quer, você é livre para responder "Não realmente, aqui está o porquê" e podemos discutir isso mais adiante, mas eu sinceramente espero convencê-lo de algumas escolhas infelizes de design que você simplesmente ainda não me contou.
Obrigado pelo A2A. Diverti-me a pesquisar no Google os resultados da pesquisa por
p>p>introspecção depython
Artigos semelhantes
- Como resolver TypeError: tipo(s) de operando não suportado(s) para -: 'str' e 'str' em Python
- O que faz 'Erro: Só pode concatenar str (não "int") a str' significar em Python?
- How to fix “str” object is not callable when using set() function in Python 3.6.4
- What does 'str' object does not support item assignment' error mean in python?