python类getitem()的实例源码

test_slicing.py 文件源码 项目:hostapd-mana 作者: adde88 项目源码 文件源码 阅读 30 收藏 0 点赞 0 评论 0
def test_char_ptr(self):
        s = "abcdefghijklmnopqrstuvwxyz"

        dll = CDLL(_ctypes_test.__file__)
        dll.my_strdup.restype = POINTER(c_char)
        dll.my_free.restype = None
        res = dll.my_strdup(s)
        self.assertEqual(res[:len(s)], s)
        self.assertEqual(res[:3], s[:3])
        self.assertEqual(res[:len(s):], s)
        self.assertEqual(res[len(s)-1:-1:-1], s[::-1])
        self.assertEqual(res[len(s)-1:5:-7], s[:5:-7])
        self.assertEqual(res[0:-1:-1], s[0::-1])

        import operator
        self.assertRaises(ValueError, operator.getitem,
                          res, slice(None, None, None))
        self.assertRaises(ValueError, operator.getitem,
                          res, slice(0, None, None))
        self.assertRaises(ValueError, operator.getitem,
                          res, slice(None, 5, -1))
        self.assertRaises(ValueError, operator.getitem,
                          res, slice(-5, None, None))

        self.assertRaises(TypeError, operator.setslice,
                          res, 0, 5, u"abcde")
        self.assertRaises(TypeError, operator.setitem,
                          res, slice(0, 5), u"abcde")
        dll.my_free(res)

        dll.my_strdup.restype = POINTER(c_byte)
        res = dll.my_strdup(s)
        self.assertEqual(res[:len(s)], range(ord("a"), ord("z")+1))
        self.assertEqual(res[:len(s):], range(ord("a"), ord("z")+1))
        dll.my_free(res)
univ.py 文件源码 项目:zeronet-debian 作者: bashrc 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def __getitem__(self, i):
        if isinstance(i, slice):
            return self.clone(operator.getitem(self._value, i))
        else:
            return self._value[i]
univ.py 文件源码 项目:zeronet-debian 作者: bashrc 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def __getitem__(self, i):
        if isinstance(i, slice):
            return self.clone(operator.getitem(self._value, i))
        else:
            return self._value[i]
univ.py 文件源码 项目:zeronet-debian 作者: bashrc 项目源码 文件源码 阅读 30 收藏 0 点赞 0 评论 0
def __getitem__(self, i):
        if isinstance(i, slice):
            return self.clone(
                operator.getitem(self._value, i)
                )
        else:
            return self._value[i]
tag.py 文件源码 项目:zeronet-debian 作者: bashrc 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def __getitem__(self, idx):
        if isinstance(idx, slice):
            return self.__class__(
               self.__baseTag, *getitem(self.__superTags, idx)
            )
        return self.__superTags[idx]
univ.py 文件源码 项目:plugin.video.bdyun 作者: caasiu 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def __getitem__(self, i):
        if isinstance(i, slice):
            return self.clone(operator.getitem(self._value, i))
        else:
            return self._value[i]
univ.py 文件源码 项目:plugin.video.bdyun 作者: caasiu 项目源码 文件源码 阅读 30 收藏 0 点赞 0 评论 0
def __getitem__(self, i):
        if isinstance(i, slice):
            return self.clone(operator.getitem(self._value, i))
        else:
            return self._value[i]
univ.py 文件源码 项目:plugin.video.bdyun 作者: caasiu 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def __getitem__(self, i):
        if isinstance(i, slice):
            return self.clone(
                operator.getitem(self._value, i)
                )
        else:
            return self._value[i]
tag.py 文件源码 项目:plugin.video.bdyun 作者: caasiu 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def __getitem__(self, idx):
        if isinstance(idx, slice):
            return self.__class__(
               self.__baseTag, *getitem(self.__superTags, idx)
            )
        return self.__superTags[idx]
testutils.py 文件源码 项目:radar 作者: amoose136 项目源码 文件源码 阅读 37 收藏 0 点赞 0 评论 0
def assert_equal_records(a, b):
    """
    Asserts that two records are equal.

    Pretty crude for now.

    """
    assert_equal(a.dtype, b.dtype)
    for f in a.dtype.names:
        (af, bf) = (operator.getitem(a, f), operator.getitem(b, f))
        if not (af is masked) and not (bf is masked):
            assert_equal(operator.getitem(a, f), operator.getitem(b, f))
    return
univ.py 文件源码 项目:aws-cfn-plex 作者: lordmuffin 项目源码 文件源码 阅读 32 收藏 0 点赞 0 评论 0
def __getitem__(self, i):
        if isinstance(i, slice):
            return self.clone(operator.getitem(self._value, i))
        else:
            return self._value[i]
univ.py 文件源码 项目:aws-cfn-plex 作者: lordmuffin 项目源码 文件源码 阅读 37 收藏 0 点赞 0 评论 0
def __getitem__(self, i):
        if isinstance(i, slice):
            return self.clone(operator.getitem(self._value, i))
        else:
            return self._value[i]
univ.py 文件源码 项目:aws-cfn-plex 作者: lordmuffin 项目源码 文件源码 阅读 30 收藏 0 点赞 0 评论 0
def __getitem__(self, i):
        if isinstance(i, slice):
            return self.clone(
                operator.getitem(self._value, i)
                )
        else:
            return self._value[i]
tag.py 文件源码 项目:aws-cfn-plex 作者: lordmuffin 项目源码 文件源码 阅读 30 收藏 0 点赞 0 评论 0
def __getitem__(self, idx):
        if isinstance(idx, slice):
            return self.__class__(
               self.__baseTag, *getitem(self.__superTags, idx)
            )
        return self.__superTags[idx]
test_objectify.py 文件源码 项目:Taigabot 作者: FrozenPigs 项目源码 文件源码 阅读 31 收藏 0 点赞 0 评论 0
def test_child_index(self):
        root = self.XML(xml_str)
        self.assertEqual("0", root.c1.c2[0].text)
        self.assertEqual("1", root.c1.c2[1].text)
        self.assertEqual("2", root.c1.c2[2].text)
        self.assertRaises(IndexError, operator.getitem, root.c1.c2, 3)
test_objectify.py 文件源码 项目:Taigabot 作者: FrozenPigs 项目源码 文件源码 阅读 28 收藏 0 点赞 0 评论 0
def test_child_index_neg(self):
        root = self.XML(xml_str)
        self.assertEqual("0", root.c1.c2[0].text)
        self.assertEqual("0", root.c1.c2[-3].text)
        self.assertEqual("1", root.c1.c2[-2].text)
        self.assertEqual("2", root.c1.c2[-1].text)
        self.assertRaises(IndexError, operator.getitem, root.c1.c2, -4)
test_elementtree.py 文件源码 项目:Taigabot 作者: FrozenPigs 项目源码 文件源码 阅读 31 收藏 0 点赞 0 评论 0
def test_simple(self):
        Element = self.etree.Element

        root = Element('root')
        root.append(Element('one'))
        root.append(Element('two'))
        root.append(Element('three'))
        self.assertEqual(3, len(root))
        self.assertEqual('one', root[0].tag)
        self.assertEqual('two', root[1].tag)
        self.assertEqual('three', root[2].tag)
        self.assertRaises(IndexError, operator.getitem, root, 3)

    # test weird dictionary interaction leading to segfault previously
test_elementtree.py 文件源码 项目:Taigabot 作者: FrozenPigs 项目源码 文件源码 阅读 31 收藏 0 点赞 0 评论 0
def test_element_indexing_with_text(self):
        ElementTree = self.etree.ElementTree

        f = BytesIO('<doc>Test<one>One</one></doc>')
        doc = ElementTree(file=f)
        root = doc.getroot()
        self.assertEqual(1, len(root))
        self.assertEqual('one', root[0].tag)
        self.assertRaises(IndexError, operator.getitem, root, 1)
test_elementtree.py 文件源码 项目:Taigabot 作者: FrozenPigs 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def test_element_indexing_negative(self):
        Element = self.etree.Element
        SubElement = self.etree.SubElement
        a = Element('a')
        b = SubElement(a, 'b')
        c = SubElement(a, 'c')
        d = SubElement(a, 'd')
        self.assertEqual(d, a[-1])
        self.assertEqual(c, a[-2])
        self.assertEqual(b, a[-3])
        self.assertRaises(IndexError, operator.getitem, a, -4)
        a[-1] = e = Element('e')
        self.assertEqual(e, a[-1])
        del a[-1]
        self.assertEqual(2, len(a))
test_elementtree.py 文件源码 项目:Taigabot 作者: FrozenPigs 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def test_attrib_dict(self):
        ElementTree = self.etree.ElementTree

        f = BytesIO('<doc one="One" two="Two"/>')
        doc = ElementTree(file=f)
        root = doc.getroot()
        attrib = dict(root.attrib)
        self.assertEqual('One', attrib['one'])
        self.assertEqual('Two', attrib['two'])
        self.assertRaises(KeyError, operator.getitem, attrib, 'three')


问题


面经


文章

微信
公众号

扫码关注公众号