【问题标题】:Assign sequence of symbols into a variable/string in Python在 Python 中将符号序列分配给变量/字符串
【发布时间】:2019-02-20 02:31:05
【问题描述】:

应用中需要此符号序列作为密码:

9h/#13/'!O!Nr},w_T0 6!ws%N\c^i,4"

如何将其存储到变量/字符串中?

【问题讨论】:

  • 在我看来它已经是一个字符串。请让你的问题更清楚。这些符号的来源是什么,为什么将该序列转换为字符串似乎很困难? “过程”是什么意思?
  • 你不能仅仅将它分配给一个变量,因为符号使它看起来部分像一个注释/字符串/正则表达式。如果对您来说似乎很简单,您可以实施 pls 吗?
  • 你应该先阅读 python 教程。如果您对这种基本的事情感到困惑,那么您将无能为力。见:docs.python.org/3/tutorial

标签: python string symbols


【解决方案1】:

将这些字符存储在字符串中的一种简单方法是使用 Python 的三引号。

s = '''9h/#13/'!O!Nr},w_T0 6!ws%N\c^i,4"'''

如果您的序列没有以双引号结尾,也可以使用三重双引号,而不是上面的三重单引号。显示字符串的三引号方式专为像您这样的棘手情况而设计,字符串中允许几乎任何文本字符组合。执行命令print(s) 给出你想要的输出:

9h/#13/'!O!Nr},w_T0 6!ws%N\c^i,4"

【讨论】:

  • 尝试这个,我仍然得到 > '9h/#13/\'!O!Nr},w_T0 6!ws%N\\c^i,4" ' 还有一个额外的 \第8位的角色
  • 在末尾附近的另一个反斜杠旁边还有一个额外的反斜杠。您显然在 Python 提示符下键入了s,它显示了字符串的表示,您也可以使用print(repr(s)) 获得它。这就是你可以在 Python 中输入的内容来获取你的字符串——一种处理一些奇怪字符的不同方法,一种称为“转义”的方法,在 Katarina 的回答中提到了这种方法。您可以放心,存储在 Python 中的字符串就是您从 print(s) 看到的字符串。
【解决方案2】:

只需像往常一样声明一个字符串,并将特殊字符'" 转义为\。转义使它像一个字符串文字,而不是一个特殊字符。 str = '9h/#13/\'!O!Nr},w_T0 6!ws%N\c^i,4\"' 输出是 '9h/#13/\'!O!Nr},w_T0 6!ws%N\\c^i,4"'

【讨论】:

  • 不一样:字符串的第8个字符多了一个'\'
  • 是的,但我不确定您是否可以避免这种情况,因为您在字符串中有两种引号类型,但您需要其中一种来引用字符串本身。您需要对其进行转义以告诉 python 它是字符串文字而不是结束引号。您可以禁止密码的引号类型之一吗?这会让事情变得更容易
猜你喜欢
  • 2019-02-08
  • 2013-11-13
  • 2011-01-20
  • 1970-01-01
  • 2014-11-19
  • 2013-02-23
  • 1970-01-01
  • 2013-04-18
  • 1970-01-01
相关资源
最近更新 更多