• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python类的专用方法实例分析

Python类的专用方法实例分析

作者:shichen2014 字体:[增加 减小] 来源:互联网

shichen2014 通过本文主要向大家介绍了python 类实例化,python 类实例,python创建类实例,python实例方法,python开发实例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了Python类的专用方法。分享给大家供大家参考。具体分析如下:

Python 类可以定义专用方法,专用方法是在特殊情况下或当使用特别语法时由 Python 替你调用的,而不是在代码中直接调用(象普通的方法那样)。

1. __init__

类似于构造函数
class Study:
        def __init__(self,name=None):
                self.name = name
        def say(self):
                print self.name
study = Study("Badboy")
study.say()</div>
2. __del__

类似于析构函数
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()</div>
3. __repr__

使用repr(obj)的时候,会自动调用__repr__函数,该函数返回对象字符串表达式,
用于重建对象,如果eval_r(repr(obj))会得到一个对象的拷贝。
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()</div>
4. __str__

Python能用print语句输出内建数据类型。有时,程序员希望定义一个类,要求它的对象也能用print语句输出。Python类可定义特殊方法__str__,为类的对象提供一个不正式的字符串表示。如果类的客户程序包含以下语句:
那么Python会调用对象的__str__方法,并输出那个方法所返回的字符串。
class PhoneNumber:
        def __init__(self,number):
                 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()</div>

方法__init__接收一个形如"(xxx) xxx-xxxx"的字符串。字符串中的每个x都是电话号码的一个位数。方法对字符串进行分解,并将电话号码的不同部分作为属性存储。
方法__str__是一个特殊方法,它构造并返回PhoneNumber类的一个对象的字符串表示。解析器一旦遇到如下语句:
就会执行以下语句:
程序如果将PhoneNumber对象传给内建函数str(如str(phone)),或者为PhoneNumber对象使用字符串格式化运算符%(例如"%s"%phone),Python也会调用__str__方法。
5. __cmp __

比较运算符,0:等于 1:大于 -1:小于
     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'</div>
打印:ok2 ok3

说明:在对类进行比较时,python自动调用__cmp__方法,如-10 < 0 返回 -1,也就是说study 应该小与 -10,估打印ok2

6. __getitem__

__getitem__ 专用方法很简单。象普通的方法 clear,keys 和 values 一样,它只是重定向到字典,返回字典的值。
     def __getitem__(self, key):
   

您可能想查找下面的文章:

  • Python类的动态修改的实例方法
  • Python中动态创建类实例的方法
  • Python类的动态修改的实例方法
  • Python中动态创建类实例的方法
  • Python实例一个类背后发生了什么
  • python类和继承用法实例
  • python类装饰器用法实例
  • python类继承用法实例分析
  • Python类的用法实例浅析
  • python类继承用法实例分析

相关文章

  • Python中的字符串替换操作示例
  • python实现自动登录人人网并采集信息的方法
  • Python读写配置文件的方法
  • Python生成随机密码
  • python定时执行指定函数的方法
  • 解析Mac OS下部署Pyhton的Django框架项目的过程
  • python设置windows桌面壁纸的实现代码
  • python基于socket实现网络广播的方法
  • Python使用面向对象方式创建线程实现12306售票系统
  • pyv8学习python和javascript变量进行交互

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 简单介绍Python的Tornado框架中的协程异步实现原理
    • python实现跨文件全局变量的方法
    • Python获取文件ssdeep值的方法
    • 使用PyInstaller将Python程序文件转换为可执行程序文件
    • python脚本设置系统时间的两种方法
    • python django事务transaction源码分析详解
    • Python多维/嵌套字典数据无限遍历的实现
    • Python基本语法经典教程
    • python获取指定网页上所有超链接的方法
    • 用python实现面向对像的ASP程序实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有