www.91084.com

GVKun编程网logo

python类名称中的有效字符(python符合类的命名规范)

4

想了解python类名称中的有效字符的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于python符合类的命名规范的相关问题,此外,我们还将为您介绍关于Excel工作表名称的有效字符、html

想了解python类名称中的有效字符的新动态吗?本文将为您提供详细的信息,我们还将为您解答关于python符合类的命名规范的相关问题,此外,我们还将为您介绍关于Excel工作表名称的有效字符、html – 选项值中的有效字符、Java类名称中的有效字符、Objective-C中类名中的有效字符的新知识。

本文目录一览:

python类名称中的有效字符(python符合类的命名规范)

python类名称中的有效字符(python符合类的命名规范)

我正在动态创建python类,我知道并非所有字符在此上下文中都是有效的。

我可以在类库中某处使用某种方法来清理随机文本字符串,以便将其用作类名吗?那个或者允许的字符列表将是一个很好的帮助。


关于与标识符名称冲突的补充:
就像在下面的答案中指出的@Ignacio一样,任何可以有效用作标识符的字符都是类名中的有效字符。您甚至可以毫无保留地将保留字用作类名。但是有一个陷阱。如果您确实使用保留字,则将无法像其他(非动态创建的)类一样使该类可访问(例如,通过执行globals()[my_class.__name__]= my_class)。在这种情况下,保留字始终优先。

答案1

小编典典

Python 3

Python语言参考,第2.3节,“标识符和关键字”

Python中标识符的语法基于Unicode标准附件UAX-31,其详细说明和更改如下所述;有关更多详细信息,另请参阅PEP 3131。

在ASCII范围(U + 0001..U + 007F)中,标识符的有效字符与Python
2.x中的相同:大写字母和小写字母A至Z,下划线_和(除第一个字符外),数字0到9。

Python 3.0引入了ASCII范围之外的其他字符(请参阅PEP
3131)。对于这些字符,分类使用unicodedata模块中包含的Unicode字符数据库的版本。

标识符的长度是无限的。情况很重要。

identifier   ::=  xid_start xid_continue*id_start     ::=  <all characters in general categories Lu, Ll, Lt, Lm,

Lo, Nl, the underscore, and characters with the Other_ID_Start property>
id_continue ::=
xid_start ::=
xid_continue ::=

上面提到的Unicode类别代码代表:

  • Lu-大写字母
  • LL-小写字母
  • LT-标题字母
  • LM-修饰字母
  • 罗-其他字母
  • NL-字母数字
  • Mn-非间距标记
  • 麦克间距组合标记
  • Nd-十进制数
  • PC-连接器标点符号
  • Other_ID_Start-PropList.txt中的显式字符列表,以支持向后兼容
  • Other_ID_Continue-同样

解析时,所有标识符都转换为标准形式NFKC;标识符的比较基于NFKC。

可以在https://www.dcl.hpi.uni-
potsdam.de/home/loewis/table-3131.html上找到列出Unicode 4.1的所有有效标识符字符的非规范HTML文件。

Python 2

Python语言参考,第2.3节,“标识符和关键字”

标识符(也称为 名称 )由以下词汇定义描述:

identifier ::=  (letter|"_") (letter | digit | "_")*letter     ::=  lowercase | uppercaselowercase  ::=  "a"..."z"uppercase  ::=  "A"..."Z"digit      ::=  "0"..."9"

标识符的长度是无限的。情况很重要。

Excel工作表名称的有效字符

Excel工作表名称的有效字符

在Java中,我们使用以下程序包以编程方式创建excel文档:

org.apache.poi.hssf

如果尝试设置工作表的名称(不是文件,而是内部Excel工作表),则在以下情况下会出现错误:

  • 名称超过31个字符
  • 名称包含以下任何字符:/ \ *?[]

但是,在创建具有以下工作表名称的文档后:

@#$%&()+〜`“’:;,。|

没有错误输出,并且在Java中一切正常。当您在Office 2003中打开excel文件时,它会给您一个错误,指出工作表名称无效,并将其重命名为“
Sheet 1”之类的通用名称。

我对我们正在使用的先前介绍的软件包了解不多,但看起来好像没有正确过滤无效的Excel工作表名称。是否知道如何过滤掉所有已知的无效字符?我很想简单地过滤掉所有非单词字符。

html – 选项值中的有效字符

html – 选项值中的有效字符

我只是想知道可以包含哪些有效字符作为< option>的值.

即这是有效的吗?

最佳答案
是的,这完全有效. See the specification:它表示值的内容应该是CDATA,其中几乎所有内容都是有效的,并带有以下警告:

>用字符替换字符实体,
>忽略换行,
>用一个空格替换每个回车或标签.

Java类名称中的有效字符

Java类名称中的有效字符

如何解决Java类名称中的有效字符?

你几乎可以使用任何字符,包括大多数Unicode字符!确切的定义在Java语言规范的3.8:标识符一节中。

一个标识符是无限长序列的Java字母和爪哇位,其中第一个必须是一个爪哇字母。…

字母和数字可能来自整个Unicode字符集,…这允许程序员在使用其母语编写的程序中使用标识符。

标识符不能具有与关键字(§3.9),布尔文字(§3.10.3)或空文字(§3.10.7)相同的拼写(Unicode字符序列),否则会发生编译时错误。

但是,请参阅此问题以了解是否应该这样做。

解决方法

ava类名称中哪些字符有效?还有哪些其他规则管理Java类名称(例如,Java类名称不能以数字开头)?

Objective-C中类名中的有效字符

Objective-C中类名中的有效字符

Objective-C类的有效字符集是什么?

当然,字母,数字和下划线的基本命名约定都可以工作,但是我正在寻找一个特殊字符来避免命名冲突.

$符号似乎工作,但我找不到任何文档. language reference没有提到它.

任何其他?可以参考的任何“官方”文件?

解决方法

历史上,Objective-C编译器已经基于GNU C编译器,它是 allowed dollar signs in identifiers as an extension.据我所知,这是唯一的例外,是命名标识符的规则,字符,数字和下划线序列不以数字开头.

由于Apple为其编译器切换了不同的工具链,因此美元符号似乎保持向后兼容.我会避免在我的新代码中使用它,尤其是因为苹果公司不会将其作为功能进行广告宣传.

关于python类名称中的有效字符python符合类的命名规范的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Excel工作表名称的有效字符、html – 选项值中的有效字符、Java类名称中的有效字符、Objective-C中类名中的有效字符等相关知识的信息别忘了在本站进行查找喔。

本文标签: