【问题标题】:Using special character ^ or ¨ in python 3 idle crashes the program在 python 3 idle 中使用特殊字符 ^ 或 ¨ 会使程序崩溃
【发布时间】:2012-11-05 21:13:18
【问题描述】:

当我在 python IDLE 版本 3 中使用这些特殊字符 ^¨ 时,会导致程序崩溃。

我是法国人,所以我在我的描述中使用这些特殊字符或在我的代码中使用 cmets。 有没有办法在不崩溃程序的情况下使用它?

谢谢!

【问题讨论】:

  • 您可能需要提供有关“崩溃”的更多具体信息。
  • Carrots "^" 非常好,它们甚至是程序中的有效标记(尽管我忘记了它们的作用,可能是按位异或)。虽然我猜胡萝卜会变成字母的重音,对吧?基本答案是,永远不要在源代码中使用特殊字符。如果您希望您的程序将它们输出到显示器或其他东西上,请使用转义序列。
  • 我不同意这里的@AJMansfield——我认为你应该继续在代码中使用特殊字符,在按照PEP-263 指定编码(首选UTF-8)之后。如果 IDLE 崩溃,那么这是程序的问题,或者更有可能是您的配置(环境变量等)需要解决。
  • 另外:不要使用 IDLE。有点奇怪。我们在 SE 上收到了大量关于 IDLE 的新手问题,这比帮助更令人困惑。换一个真正的 IDE。
  • 是的,在 cmets 中使用 °(度数字符)在尝试保存文件时会导致 IDLE 崩溃,并且所有最近的更改都会丢失。

标签: crash python-3.x character special-characters python-idle


【解决方案1】:

由于此类问题,许多语言规范和大多数编译器都特别建议不要使用特殊字符。

但是,来自http://docs.python.org/2/reference/lexical_analysis.html

2.3 版中的新功能:编码声明可用于指示 字符串文字和 cmets 使用的编码不同于 ASCII。

所以包含该声明,它应该起作用。

如果您已经有这样的声明,那么问题可能不是因为字符本身,而是因为您的设置将 ^ 和 ¨ 重音符号与其他字符组合在一起的方式。虽然那时,我真的只是在黑暗中拍摄。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多