python实例分析金冠53777

作者:操作系统

Python类的专项使用方法实例深入分析,python实例剖判

正文实例叙述了Python类的专项使用方法。分享给我们供我们仿效。具体深入分析如下:

Python 类能够定义专用方法,专项使用方法是在特种情状下或当使用专门语法时由 Python 替你调用的,并非在代码中从来调用(象日常的格局那样)。

1. __init__

好像于布局函数

复制代码 代码如下:

#!/usr/local/bin/python
class Study:
        def __init__(self,name=None):
                self.name = name
        def say(self):
                print self.name
study = Study("Badboy")
study.say()

2. __del__

恍如于析构函数

复制代码 代码如下:

#!/usr/local/bin/python
class Study:
        def __init__(self,name=None):
                self.name = name
        def __del__(self):
                print "Iamaway,baby!"
        def say(self):
                print self.name
study = Study("zhuzhengjun")
study.say()

3. __repr__

应用repr(obj卡塔尔(قطر‎的时候,会自动调用__repr__函数,该函数重返对象字符串表达式,
用以重新建立对象,倘若eval_r(repr(obj卡塔尔(قطر‎State of Qatar会拿走二个对象的正片。

复制代码 代码如下:

#!/usr/local/bin/python
class Study:
        def __init__(self,name=None):
                self.name = name
        def __del__(self):
                print "Iamaway,baby!"
        def say(self):
                print self.name
        def __repr__(self):
                return "Study('jacky')"
study = Study("zhuzhengjun")
study.say()
print type(repr(Study("zhuzhengjun"))) # str
print type(eval_r(repr(Study("zhuzhengjun")))) # instance
study = eval_r(repr(Study("zhuzhengjun")))
study.say()

4. __str__

Python能用print语句输出内建数据类型。一时,程序猿希望定义七个类,必要它的指标也能用print语句输出。Python类可定义特殊措施__str__,为类的指标提供三个不正规的字符串表示。假如类的顾客程序包涵以下语句:

复制代码 代码如下:

print objectOfClass

那么Python会调用对象的__str__主意,并出口那二个方式所再次回到的字符串。

复制代码 代码如下:

#!/usr/local/bin/python
class PhoneNumber:
        def __init__(self,number):
金冠53777 ,                 self.areaCode=number[1:4]
                 self.exchange=number[6:9]
                 self.line=number[10:14]
        def __str__(self):
                return "(%s) %s-%s"%(self.areaCode,self.exchange,self.line)
def test():
         newNumber=raw_input("Enter phone number in the form. (123) 456-7890: n")
         phone=PhoneNumber(newNumber)
         print "The phone number is:"
         print phone
if__name__=="__main__":
         test()

方法__init__接过三个形如"(xxx卡塔尔xxx-xxxx"的字符串。字符串中的每种x都是电话号码的多个位数。方法对字符串进行解释,并将电话号码的不如部分作为质量存款和储蓄。
方法__str__是一个例外措施,它布局并赶回PhoneNumber类的贰个目的的字符串表示。深入剖析器大器晚成旦境遇如下语句:

复制代码 代码如下:

print phone

就能实施以下语句:

复制代码 代码如下:

print phone.__str__()

程序风流洒脱旦将PhoneNumber对象传给内建函数str(如str(phone卡塔尔国State of Qatar,或许为PhoneNumber对象使用字符串格式化运算符%(举例"%s"%phone卡塔尔国,Python也会调用__str__方法。
5. __cmp __

正如运算符,0:等于 1:大于 -1:小于

复制代码 代码如下:

class Study:
     def __cmp__(self, other):
         if other > 0 :
             return 1
         elif other < 0:
             return - 1
         else:
             return 0
study = Study()
if study > -10:print 'ok1'
if study < -10:print 'ok2'
if study == 0:print 'ok3'

打印:ok2 ok3

表明:在对类实行相比时,python自动调用__cmp__方式,如-10 < 0 重临-1,约等于说study 应该小与 -10,估打字与印刷ok2

6. __getitem__

__getitem__ 专项使用方法很简短。象日常的办法 clear,keys 和 values 雷同,它只是重定向到字典,重返词典的值。

复制代码 代码如下:

class Zoo:
     def __getitem__(self, key):
         if key == 'dog':return 'dog'
         elif key == 'pig':return  'pig'
         elif key == 'wolf':return 'wolf'
         else:return 'unknown'
zoo = Zoo()
print zoo['dog']
print zoo['pig']
print zoo['wolf']

打印:
dog pig wolf

7. __setitem__

__setitem__ 轻松地重定向到实在的词典 self.data ,让它来进行专门的工作。

复制代码 代码如下:

class Zoo:
     def __setitem__(self, key, value):
         print 'key=%s,value=%s' % (key, value)
zoo = Zoo()
zoo['a'] = 'a'
zoo['b'] = 'b'
zoo['c'] = 'c'

打印:
key=a,value=a
key=b,value=b
key=c,value=c

8. __delitem__

__delitem__ 在调用 del instance[key] 时调用,你也许记得它看做从词典中剔除单个成分的点子。当您在类实例中央银行使 del 时,Python 替你调用 __delitem__ 专用方法。

复制代码 代码如下:

class A:
     def __delitem__(self, key):
         print 'delete item:%s' %key
a = A()
del a['key']

指望本文所述对大家的Python程序设计具备助于。

本文实例陈述了Python类的专项使用方法。共享给大家供大家参考。具体深入分析如下: Python 类能够定义...

本文由金冠53777-金冠娱乐53777-Welcome发布,转载请注明来源

关键词: