Python中的tilde运算符有什么用?
我能想到的一件事是在字符串或列表的两面都做一些事情,例如检查字符串是否为回文:
def is_palindromic(s):
return all(s[i] == s[~i] for i in range(len(s) / 2))
还有其他好的用法吗?
它是从C借来的一元运算符(采用单个参数),其中所有数据类型只是解释字节的不同方式。这是“取反”或“补码”操作,其中输入数据的所有位都取反。
在Python中,对于整数,该整数的二进制补码表示形式的位被颠倒(b <- b XOR 1
对于每个单独的位而言),并且结果再次解释为二进制补码整数。因此对于整数,~x
等于(-x) - 1
。
~
运算符的形式化形式为operator.invert
。要在您自己的类中支持此运算符,请为其提供一个__invert__(self)
方法。
>>> import operator
>>> class Foo:
... def __invert__(self):
... print 'invert'
...
>>> x = Foo()
>>> operator.invert(x)
invert
>>> ~x
invert
对于具有相同类实例的实例的“补码”或“逆”有意义的任何类,都可以用作反转运算符。但是,如果使用不当,运算符重载会导致混乱,因此请确保在为__invert__
类提供方法之前这样做确实有意义。(请注意,字节字符串[ex:'\xff'
]不支持此运算符,即使将字节字符串的所有位取反也很有意义。)
问题内容: 我在一些代码中看到了这一点,但我不知道它的作用: 什么是运营商做? 问题答案: 那是一个双重的非按位运算符。用作的更快替代品
问题内容: 在我的.sh文件中,我有此文件,而$ SOME_PATH导出为。但是,当我运行此.sh文件时,出现了错误消息,例如不存在这样的“〜/ path / to / path /”。 我将〜替换为$ HOME,然后错误消失了。那么代字号在这儿呢? 提前致谢。 问题答案: 采用 如果路径中有空格,请引用它
本文向大家介绍R中波浪号(〜)的用途是什么?,包括了R中波浪号(〜)的用途是什么?的使用技巧和注意事项,需要的朋友参考一下 Tilde运算符用于定义统计模型公式中因变量和自变量之间的关系。代字号运算符左侧的变量是因变量,代字号运算符右侧的变量被称为自变量。因此,代字号运算符有助于定义因变量取决于代字号运算符右侧的自变量。 示例 此处,y是因变量,x1,x2和x3是自变量。
问题内容: 这是我的脚本: 在“ read caminho”中,我可能会从用户那里收到〜/ somefolder之类的路径。当脚本接收到这样的路径时,mv和mkdir都不会进行波浪号扩展,因此它将尝试创建〜/ somefolder而不是/ home / username / somefolder,因此失败。 如何确保将波浪号转换为HOME变量? 问题答案: 您可能需要评估该变量以正确替换它。一个例
问题内容: 我一直以为并且是完全相同的,因此可以互换使用。今天,当我尝试在共享服务器上安装与memcached的python绑定 pylibmc时 ,使用的错误给了我,但没有给我 。我想说明原因。 libmemcached 是 pylibmc 的要求。我在主目录下安装了 libmemcached, 因为服务器上没有root。结果,要安装 pylibmc ,我需要确保安装脚本知道在哪里可以找到 li
问题内容: 搜索角色并不容易。我查看了一些CSS,发现了这个 这是什么意思? 问题答案: 该选择器实际上是[通用同级组合器(在选择器级别4中重命名为后续同级组合[器): 通用同级组合器由分隔两个简单选择器序列的“波浪号”(U+007E,〜)字符组成。这两个序列所表示的元素在文档树中共享相同的父对象,而第一个序列所表示的元素在第二个所表示的元素之前(不一定紧接)。 考虑以下示例: 与第4个和第5个列