Python容器、类型、对象相关概念

Python容器、类型、对象相关概念

1、列表、字典、元组字面量可以跨行定义

2、所有对象都有引用计数

In [51]: importsys

In [52]:sys.getrefcount(s2)

Out[52]:2

3、列表和字典都支持两种类型的复制操作:浅复制和深复制;深复制可使用copy模块中的deepcopy()实现。

深浅复制都是对源对象的复制,占用不同的内存空间;如果源对象只有一级目录的话,源做任何改动,不影响深浅复制对象;如果源对象不止一级目录的话,源做任何改动,都要影响浅复制,但不影响深复制。

4、Python中的所有对象都是“第一类的”,这意味着使用标识符命名的所有对象都具有相同状态,于是,能够命名所有对象都可以直接当数据进行处理;

5、所有序列都支持迭代,并且可以使用.next()方法逐一返回迭代器元素对象;

    In [1]: print d1

    {'y': 666, 'x': 1, 'z': 33, 'm': 55}

    In [2]: i1 = d1.iteritems()

    In [3]: i1.next()

   Out[3]: ('y', 666)

    In[4]: i1.next()

   Out[4]: ('x', 1)

6、所有序列都支持的操作和方法:

        s[i]

        s[i:j]

        s[i:j:stride]

        len(s)

        min(s)

        max(s)

        sum(s)

        all(s)

        any(s)

        s1 + s2: 连接

        s1 * N: 重复

        obj in s1: 成员关系判断

        obj not in s1:

7、可变序列的操作:

        s1[index] = value: 元素赋值

        s1[i:j] = t: 切片赋值

        del s1[index]

        del s1[i:j]

        del s1[i:j:stride]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 面向对象编程中,容器类是指可以包含其他对象的类,例如列表、元组、字典等。Python 中的容器类通常都实现了一些特殊的方法,使得它们可以像原生的容器一样使用。 下面是一个简单的例子,演示了如何实现一个自定义的容器类: ```python class MyList: def __init__(self, *args): self.data = list(args) def __len__(self): return len(self.data) def __getitem__(self, index): return self.data[index] def __setitem__(self, index, value): self.data[index] = value def __delitem__(self, index): del self.data[index] def __iter__(self): return iter(self.data) def __contains__(self, value): return value in self.data ``` 在上面的例子中,我们定义了一个名为 `MyList` 的类,它实现了容器类的一些常用方法,包括 `__init__`、`__len__`、`__getitem__`、`__setitem__`、`__delitem__`、`__iter__` 和 `__contains__`。 我们通过 `__init__` 方法初始化了一个列表,然后通过 `__len__` 方法返回列表的长度,通过 `__getitem__` 方法实现了按下标访问元素的功能,通过 `__setitem__` 和 `__delitem__` 方法实现了设置和删除元素的功能,通过 `__iter__` 方法实现了迭代列表的功能,通过 `__contains__` 方法实现了判断元素是否存在的功能。 现在我们可以使用 `MyList` 类来创建一个列表对象,并像使用原生列表一样使用它: ```python mylist = MyList(1, 2, 3) print(len(mylist)) # 3 print(mylist[0]) # 1 mylist[0] = 0 print(mylist[0]) # 0 del mylist[0] print(len(mylist)) # 2 for item in mylist: print(item) # 2, 3 print(2 in mylist) # True print(0 in mylist) # False ``` 总之,容器类是 Python 面向对象编程中非常重要的一个概念,可以帮助我们更加灵活地处理数据,同时也为我们提供了许多常用的数据结构和算法实现。在编写自己的容器类时,我们可以根据需要实现容器类所需的特殊方法,从而实现自定义的容器类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值