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

  • 相关阅读:
    Dirichlet Process 和 Dirichlet Process Mixture模型
    也说说EM
    Seven Steps to Success Machine Learning in Practice
    matlab norm 范式
    nginx中时间的管理
    Android中解析网络请求的URL
    jsp if else c标签 总结
    Android开发系列之button事件的4种写法
    oracle中split的使用
    Unix C++(boost) 线程同步和线程组
  • 原文地址:https://www.cnblogs.com/yhcreak/p/5363338.html
Copyright © 2011-2022 走看看