zoukankan      html  css  js  c++  java
  • python 基本的序列和映射规则

    >>> def checkIndex(key):
    ...     if not isinstance(key,(int,long)):raise TypeError
    ...     if key<0:raise IndexError
    ...
    >>> class ArithneticSequence:
    ...     def __init__(self,start=0,step=1):
    ...             self.start=start
    ...             self.step=step
    ...             self.changed={}
    ...     def __getitem__(self,key):
    ...             checkIndex(key)
    ...             try:return self.changed[key]
    ...             except KeyError:
    ...                     return self.start+key*self.step
    ...     def __setitem__(self,key,value):
    ...             checkIndex(key)
    ...             self.changed[key]=value
    ...
    >>> s=ArithneticSequence(1,2)
    >>> s[4]
    9
    >>> s[4]=2
    >>> s[4]=2
    >>> s[4]
    2
    >>> s[5]
    11
    >>> del s[4]
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: ArithneticSequence instance has no attribute '__delitem__'
    >>> s["four"]
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "<stdin>", line 7, in __getitem__
      File "<stdin>", line 2, in checkIndex
    TypeError
    >>> s[-42]
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "<stdin>", line 7, in __getitem__
      File "<stdin>", line 3, in checkIndex
    IndexError

  • 相关阅读:
    学习学习
    论文
    GitHub地址
    数据库测试用例生成系统设计与实现
    PICT的安装及使用
    Junit安装及使用
    使用source monitor检查代码复杂度
    FindBugs安装及使用
    PMD安装及使用
    Checkstyle安装及使用
  • 原文地址:https://www.cnblogs.com/yhcreak/p/5363338.html
Copyright © 2011-2022 走看看