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


Python HyperParser._eat_identifier方法代碼示例

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


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

示例1: test_eat_identifier

# 需要導入模塊: from idlelib.HyperParser import HyperParser [as 別名]
# 或者: from idlelib.HyperParser.HyperParser import _eat_identifier [as 別名]
    def test_eat_identifier(self):
        def is_valid_id(candidate):
            result = HyperParser._eat_identifier(candidate, 0, len(candidate))
            if result == len(candidate):
                return True
            elif result == 0:
                return False
            else:
                err_msg = "Unexpected result: {} (expected 0 or {}".format(
                    result, len(candidate)
                )
                raise Exception(err_msg)

        # invalid first character which is valid elsewhere in an identifier
        self.assertFalse(is_valid_id('2notid'))

        # ASCII-only valid identifiers
        self.assertTrue(is_valid_id('valid_id'))
        self.assertTrue(is_valid_id('_valid_id'))
        self.assertTrue(is_valid_id('valid_id_'))
        self.assertTrue(is_valid_id('_2valid_id'))

        # keywords which should be "eaten"
        self.assertTrue(is_valid_id('True'))
        self.assertTrue(is_valid_id('False'))
        self.assertTrue(is_valid_id('None'))

        # keywords which should not be "eaten"
        self.assertFalse(is_valid_id('for'))
        self.assertFalse(is_valid_id('import'))
        self.assertFalse(is_valid_id('return'))

        # valid unicode identifiers
        self.assertTrue(is_valid_id('cliche'))
        self.assertTrue(is_valid_id('cliché'))
        self.assertTrue(is_valid_id('a٢'))

        # invalid unicode identifiers
        self.assertFalse(is_valid_id('2a'))
        self.assertFalse(is_valid_id('٢a'))
        self.assertFalse(is_valid_id('a²'))

        # valid identifier after "punctuation"
        self.assertEqual(HyperParser._eat_identifier('+ var', 0, 5), len('var'))
        self.assertEqual(HyperParser._eat_identifier('+var', 0, 4), len('var'))
        self.assertEqual(HyperParser._eat_identifier('.var', 0, 4), len('var'))

        # invalid identifiers
        self.assertFalse(is_valid_id('+'))
        self.assertFalse(is_valid_id(' '))
        self.assertFalse(is_valid_id(':'))
        self.assertFalse(is_valid_id('?'))
        self.assertFalse(is_valid_id('^'))
        self.assertFalse(is_valid_id('\\'))
        self.assertFalse(is_valid_id('"'))
        self.assertFalse(is_valid_id('"a string"'))
開發者ID:whqkdhfh13,項目名稱:sswp,代碼行數:58,代碼來源:test_hyperparser.py

示例2: is_valid_id

# 需要導入模塊: from idlelib.HyperParser import HyperParser [as 別名]
# 或者: from idlelib.HyperParser.HyperParser import _eat_identifier [as 別名]
 def is_valid_id(candidate):
     result = HyperParser._eat_identifier(candidate, 0, len(candidate))
     if result == len(candidate):
         return True
     elif result == 0:
         return False
     else:
         err_msg = "Unexpected result: {} (expected 0 or {}".format(
             result, len(candidate)
         )
         raise Exception(err_msg)
開發者ID:whqkdhfh13,項目名稱:sswp,代碼行數:13,代碼來源:test_hyperparser.py


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