草庐IT

python - 为什么 python 不允许在函数名和变量名中使用连字符?

我一直想知道为什么python中的函数名和变量名之间不能使用连字符尝试过Lisp和Clojure等允许使用连字符的函数式编程语言。为什么python不这样做。#Thiswon'twork--SyntaxErrordefis-even(num):returnnum%2#Thiswillworkdefis_even(num):returnnum%2我确信Guido爵士一定是因为某些原因才这么做的。我用谷歌搜索但无法找到答案。任何人都可以对此有所了解吗? 最佳答案 因为连字符用作减法运算符。想象一下你可以有一个is-even函数,然后你有

Python正则表达式,删除除连字符以外的所有标点符号用于unicode字符串

我有这段代码用于从正则表达式字符串中删除所有标点符号:importregexasrere.sub(ur"\p{P}+","",txt)如何更改它以允许使用连字符?如果你能解释一下你是怎么做到的,那就太好了。我明白这里,如果我错了,请纠正我,P后面的任何东西都是标点符号。 最佳答案 [^\P{P}-]+\P是\p的补充-不是标点符号。所以这匹配任何not(不是标点符号或破折号)-导致除破折号之外的所有标点符号。示例:http://www.rubular.com/r/JsdNM3nFJ3如果您想要一种不复杂的方式,另一种选择是\p{P}

名称中带有破折号或连字符 (-) 的 Python 模块

我有一个名为foo-bar.py的现有python模块,其名称中有一个破折号更改模块名称是我希望避免的,因为模块是共享的,我必须追查所有使用它的地方,这样我的特殊情况才能正常工作。有没有办法加载名称中包含通常禁止的“-”的模块?(我确实知道这不是最佳实践。但是对于这种情况,我不希望重新设计和测试更大的应用程序集。而且我认为我的公司主管不会批准我参加是时候实现这样的改变了。) 最佳答案 您可以使用__import__()来做到这一点.例如:foobar=__import__("foo-bar")但您确实应该重命名模块。这样可以避免模块

java - 如何为名称中包含 "requires"(连字符)的 Artifact 添加 "-"

我已将这些依赖项包含在我的Mavenpom.xml中:org.apache.httpcomponentshttpclient${httpclient.version}commons-iocommons-io2.4我正在尝试在module-info.java中添加此依赖项,如下所示:moduleio.github.wildcraft.restclient{requireshttpcore;//nocompilationproblemrequireshttpclient;//nocompilationproblemrequirescommons-io;//showscompilatione

java - Java 包中的连字符公司名称

假设您正在为BarBazIncorporated开发foo项目的核心模块。您的代码片段可能如下所示:packagecom.barbaz.foo.core;importcom.barbaz.foo.util;如果贵公司的网站不是barbaz.com,而是bar-baz.com,那么约定是什么? 最佳答案 太阳时代JavaLanguageSpecification给出了一个建议的约定:Ifthedomainnamecontainsahyphen,oranyotherspecialcharacternotallowedinanidenti

mysql - 为什么 "_"(下划线)匹配 "-"(连字符)?

我必须使用此查询查找PDF手册:root@localhost:test>select*fromawherenamelike'%taz_manual%.pdf%';+--------------------+------------------+-------------+|name|description|size|+--------------------+------------------+-------------+|taz-manual-1.1.pdf|Manualv1.0TA-Z|31351902||taz-manual-0.2.pdf|Manualv1.0T1-A|357

linux - 如何处理以连字符 (-) 字符开头的文件名?

不知何故,在某个时候,我不小心在我的主目录中创建了一个名为“-s”的文件。它大约500kb,我不知道它是否包含重要数据。我想不出任何方法来处理这个文件任何事情,因为我用来尝试查看、复制或移动它的每个命令都将文件名解释为一个参数。我试过把它放在引号里,用反斜杠转义,两者的结合,似乎没有任何效果。另外,当我第一次向我的同事提出这个问题时,我们困惑了一段时间,直到有人终于无意中听到并问“你为什么不直接重命名它?”在我向他解释cp和mv都认为文件名是一个参数所以它不起作用之后,他说“不,不是从命令行,而是从Gnome执行。”我羞怯地听从了他的建议,而且奏效了。但是,如果您没有窗口管理器并且命令

python - 当模块名称中包含 '-' 破折号或连字符时如何导入模块?

我想导入foo-bar.py,这个可行:foobar=__import__("foo-bar")这不是:from"foo-bar"import*我的问题:有什么方法可以使用上述格式,即from"foo-bar"import*来导入具有-的模块是吗? 最佳答案 从Python3.1开始,您可以使用importlib:importimportlibfoobar=importlib.import_module("foo-bar")(https://docs.python.org/3/library/importlib.html)

python - 在空格或连字符上拆分?

在Python中,如何拆分空格或连字符?输入:Youthinkwedidthisun-thinkingly?期望的输出:["You","think","we","did","this","un","thinkingly"]我能走多远mystr.split('')但我不知道如何分割连字符和空格andthePythondefinitionofsplitonlyseemstospecifyastring.我需要使用正则表达式吗? 最佳答案 如果您的模式对于一个(或可能两个)replace来说足够简单,请使用它:mystr.replace(

regex - 删除 Ruby 中连字符周围的空格

我有下一个字符串:'富吧''foo-bar''foo-bar''foo-bar''foo-bar-baz''foo-bar-baz''foo-barbaz'等等在ruby​​中使连字符周围没有空格的最佳方法是什么?没有连字符的单词之间的空格应该保留。预期结果示例:'foo-bar''foo-bar-baz''foo-barbaz' 最佳答案 快速有效的方法是使用正则表达式:"foo-bar-baz-blerpblorp".gsub(/\s*-\s*/,"-")=>"foo-bar-baz-blerpblorp"\s*表示“零个或多个