a = 'b' 使字符串 'a' 可以更改为变量 a 以等于字符串 'b'
a = 'b' make it so string 'a' can be changed to the variable a to equal the string 'b'
所以在python中我想把一个字符串改成文字:
a = 'b'
b = 'c'
c = 'd'
encoded = input('Type encoded text and enter for decoded text: ')
decoded_list = MAKE_LITERAL_AND_SHOW_VALUES(list(encoded))
##Example: ['a','b','c'] becomes [a, b, c] so becomes ['b','c','d']
decoded = CONCATENATE(decoded_list)
##Example: ['b','c','a'] becomes 'bcd'
print(decoded)
是否有任何函数可以实现这一点?
可以改用字典吗?我的意思是,您的直接问题的答案是使用 globals()
...(但我不推荐)
a = 'b'
b = 'c'
c = 'd'
def MAKE_LITERAL_AND_SHOW_VALUE(encoded):
return [globals()[i] for i in encoded]
print MAKE_LITERAL_AND_SHOW_VALUE(encoded)
备选方案是:
letterDict = {'a':'b', 'b':'c', 'c':'d'}
那么,如果你想使用它:
def MAKE_LITERAL_AND_SHOW_VALUE(encoded):
letterDict = {'a':'b', 'b':'c', 'c':'d'}
return [letterDict[i] for i in encoded]
免责声明:
(根据 MattDMo 的建议)
在 99.9% 的时间里使用 globals()
是个坏主意。这显然是我编造的数字,但关键是它几乎总是不必要的。我敢猜测您喜欢这种方法的原因与大多数初学者一样;它看起来使用起来很直观,在某些情况下你可能会写更少的代码,等等。
问题是您可能会养成坏习惯。依赖模块的全局字典不是一个好的设计选择。这增加了耦合,减少了封装并使代码通常很难调试。这与在函数内部使用 global
传递变量没什么不同。随着程序的复杂性增加,不要指望其他人或您自己(将来)会对阅读您编写的代码感到满意。
所以在python中我想把一个字符串改成文字:
a = 'b'
b = 'c'
c = 'd'
encoded = input('Type encoded text and enter for decoded text: ')
decoded_list = MAKE_LITERAL_AND_SHOW_VALUES(list(encoded))
##Example: ['a','b','c'] becomes [a, b, c] so becomes ['b','c','d']
decoded = CONCATENATE(decoded_list)
##Example: ['b','c','a'] becomes 'bcd'
print(decoded)
是否有任何函数可以实现这一点?
可以改用字典吗?我的意思是,您的直接问题的答案是使用 globals()
...(但我不推荐)
a = 'b'
b = 'c'
c = 'd'
def MAKE_LITERAL_AND_SHOW_VALUE(encoded):
return [globals()[i] for i in encoded]
print MAKE_LITERAL_AND_SHOW_VALUE(encoded)
备选方案是:
letterDict = {'a':'b', 'b':'c', 'c':'d'}
那么,如果你想使用它:
def MAKE_LITERAL_AND_SHOW_VALUE(encoded):
letterDict = {'a':'b', 'b':'c', 'c':'d'}
return [letterDict[i] for i in encoded]
免责声明:
(根据 MattDMo 的建议)
在 99.9% 的时间里使用 globals()
是个坏主意。这显然是我编造的数字,但关键是它几乎总是不必要的。我敢猜测您喜欢这种方法的原因与大多数初学者一样;它看起来使用起来很直观,在某些情况下你可能会写更少的代码,等等。
问题是您可能会养成坏习惯。依赖模块的全局字典不是一个好的设计选择。这增加了耦合,减少了封装并使代码通常很难调试。这与在函数内部使用 global
传递变量没什么不同。随着程序的复杂性增加,不要指望其他人或您自己(将来)会对阅读您编写的代码感到满意。