當前位置: 首頁>>代碼示例>>Python>>正文


Python symbol.comparison方法代碼示例

本文整理匯總了Python中symbol.comparison方法的典型用法代碼示例。如果您正苦於以下問題:Python symbol.comparison方法的具體用法?Python symbol.comparison怎麽用?Python symbol.comparison使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在symbol的用法示例。


在下文中一共展示了symbol.comparison方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: comparison

# 需要導入模塊: import symbol [as 別名]
# 或者: from symbol import comparison [as 別名]
def comparison(cls, nodelist):
        if len(nodelist) > 4:
            msg = "Chained comparison not allowed in environment markers"
            raise SyntaxError(msg)
        comp = nodelist[2][1]
        cop = comp[1]
        if comp[0] == token.NAME:
            if len(nodelist[2]) == 3:
                if cop == 'not':
                    cop = 'not in'
                else:
                    cop = 'is not'
        try:
            cop = cls.get_op(cop)
        except KeyError:
            msg = repr(cop) + " operator not allowed in environment markers"
            raise SyntaxError(msg)
        return cop(cls.evaluate(nodelist[1]), cls.evaluate(nodelist[3])) 
開發者ID:jpush,項目名稱:jbox,代碼行數:20,代碼來源:__init__.py

示例2: get_op

# 需要導入模塊: import symbol [as 別名]
# 或者: from symbol import comparison [as 別名]
def get_op(cls, op):
        ops = {
            symbol.test: cls.test,
            symbol.and_test: cls.and_test,
            symbol.atom: cls.atom,
            symbol.comparison: cls.comparison,
            'not in': lambda x, y: x not in y,
            'in': lambda x, y: x in y,
            '==': operator.eq,
            '!=': operator.ne,
            '<':  operator.lt,
            '>':  operator.gt,
            '<=': operator.le,
            '>=': operator.ge,
        }
        if hasattr(symbol, 'or_test'):
            ops[symbol.or_test] = cls.test
        return ops[op] 
開發者ID:jpush,項目名稱:jbox,代碼行數:20,代碼來源:__init__.py

示例3: comparison

# 需要導入模塊: import symbol [as 別名]
# 或者: from symbol import comparison [as 別名]
def comparison(cls, nodelist):
        if len(nodelist)>4:
            raise SyntaxError("Chained comparison not allowed in environment markers")
        comp = nodelist[2][1]
        cop = comp[1]
        if comp[0] == token.NAME:
            if len(nodelist[2]) == 3:
                if cop == 'not':
                    cop = 'not in'
                else:
                    cop = 'is not'
        try:
            cop = cls.get_op(cop)
        except KeyError:
            raise SyntaxError(repr(cop)+" operator not allowed in environment markers")
        return cop(cls.evaluate(nodelist[1]), cls.evaluate(nodelist[3])) 
開發者ID:aliyun,項目名稱:oss-ftp,代碼行數:18,代碼來源:pkg_resources.py

示例4: __getitem__

# 需要導入模塊: import symbol [as 別名]
# 或者: from symbol import comparison [as 別名]
def __getitem__(self, project_name):
        """Return a newest-to-oldest list of distributions for `project_name`

        Uses case-insensitive `project_name` comparison, assuming all the
        project's distributions use their project's name converted to all
        lowercase as their key.

        """
        distribution_key = project_name.lower()
        return self._distmap.get(distribution_key, []) 
開發者ID:jpush,項目名稱:jbox,代碼行數:12,代碼來源:__init__.py

示例5: normalize_path

# 需要導入模塊: import symbol [as 別名]
# 或者: from symbol import comparison [as 別名]
def normalize_path(filename):
    """Normalize a file/dir name for comparison purposes"""
    return os.path.normcase(os.path.realpath(filename)) 
開發者ID:jpush,項目名稱:jbox,代碼行數:5,代碼來源:__init__.py

示例6: get_op

# 需要導入模塊: import symbol [as 別名]
# 或者: from symbol import comparison [as 別名]
def get_op(cls, op):
        ops = {
            symbol.test: cls.test,
            symbol.and_test: cls.and_test,
            symbol.atom: cls.atom,
            symbol.comparison: cls.comparison,
            'not in': lambda x, y: x not in y,
            'in': lambda x, y: x in y,
            '==': operator.eq,
            '!=': operator.ne,
        }
        if hasattr(symbol, 'or_test'):
            ops[symbol.or_test] = cls.test
        return ops[op] 
開發者ID:MayOneUS,項目名稱:pledgeservice,代碼行數:16,代碼來源:pkg_resources.py

示例7: _parse_version_parts

# 需要導入模塊: import symbol [as 別名]
# 或者: from symbol import comparison [as 別名]
def _parse_version_parts(s):
    for part in component_re.split(s):
        part = replace(part, part)
        if not part or part=='.':
            continue
        if part[:1] in '0123456789':
            # pad for numeric comparison
            yield part.zfill(8)
        else:
            yield '*'+part

    # ensure that alpha/beta/candidate are before final
    yield '*final' 
開發者ID:MayOneUS,項目名稱:pledgeservice,代碼行數:15,代碼來源:pkg_resources.py

示例8: not_test

# 需要導入模塊: import symbol [as 別名]
# 或者: from symbol import comparison [as 別名]
def not_test(self, nodelist):
        # 'not' not_test | comparison
        result = self.com_node(nodelist[-1])
        if len(nodelist) == 2:
            return Not(result, lineno=nodelist[0][2])
        return result 
開發者ID:IronLanguages,項目名稱:ironpython2,代碼行數:8,代碼來源:transformer.py

示例9: comparison

# 需要導入模塊: import symbol [as 別名]
# 或者: from symbol import comparison [as 別名]
def comparison(self, nodelist):
        # comparison: expr (comp_op expr)*
        node = self.com_node(nodelist[0])
        if len(nodelist) == 1:
            return node

        results = []
        for i in range(2, len(nodelist), 2):
            nl = nodelist[i-1]

            # comp_op: '<' | '>' | '=' | '>=' | '<=' | '<>' | '!=' | '=='
            #          | 'in' | 'not' 'in' | 'is' | 'is' 'not'
            n = nl[1]
            if n[0] == token.NAME:
                type = n[1]
                if len(nl) == 3:
                    if type == 'not':
                        type = 'not in'
                    else:
                        type = 'is not'
            else:
                type = _cmp_types[n[0]]

            lineno = nl[1][2]
            results.append((type, self.com_node(nodelist[i])))

        # we need a special "compare" node so that we can distinguish
        #   3 < x < 5   from    (3 < x) < 5
        # the two have very different semantics and results (note that the
        # latter form is always true)

        return Compare(node, results, lineno=lineno) 
開發者ID:IronLanguages,項目名稱:ironpython2,代碼行數:34,代碼來源:transformer.py


注:本文中的symbol.comparison方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。