`
saber7
  • 浏览: 10216 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于python中类的小总结2

阅读更多

一、特殊方法定制类,看一个程序吧:
class RoundFloatManual(object):
    def __init__(self, val):
        assert isinstance(val, float),"Value must be a float!"
        self.value = round(val, 2)
    def __str__(self):
        return '%.2f' % self.value
    __repr__ = __str__

>>> r = RoundFloatManual(5.568)
>>> r
5.57

加法:
>>> class Time60(object):
    def __init__(self, hr, min):
        self.hr = hr
        self.min = min
    def __repr__(self):
        return '%d:%d' % (self.hr, self.min)
    def __add__(self, other):
        return self.__class__(self.hr + other.hr, self.min + other.min)

   
>>> a = Time60(10, 30)
>>> b = Time60(5, 20)
>>> a + b
15:50

原位加:
class Time60(object):
    def __init__(self, hr, min):
        self.hr = hr
        self.min = min
    def __repr__(self):
        return '%d:%d' % (self.hr, self.min)
    def __add__(self, other):
        return self.__class__(self.hr + other.hr, self.min + other.min)
    def __iadd__(self, other):
        self.hr += other.hr
        self.min += other.min
        return self
>>> a = Time60(10, 30)
>>> b = Time60(5, 20)
>>> a += b
>>> a
15:50
与上面一样,当使用到“+”加好的时候,就去自动调用__add__方法,使用到“+=”的时候就去调用__iadd__()方法。

迭代器
>>> from random import choice
>>> class RandSeq(object):
    def __init__(self, seq):
        self.data = seq
    def __iter__(self):
        return self
    def next(self):
        return choice(self.data)
>>> for eachItem in RandSeq(('rock', 'paper', 'scissors')):
            print eachItem

           
scissors
rock
paper
paper
rock
paper
……

二、关于单双下划线开头的方法名
Python 用下划线作为变量前缀和后缀指定特殊变量。

_xxx      不能用'from module import *'导入
__xxx__ 系统定义名字
__xxx    类中的私有变量名

核心风格:避免用下划线作为变量名的开始。
参考http://saber7.iteye.com/blog/835141

 

未完……

关于python中类的小总结1

关于python中类的小总结2

分享到:
评论

相关推荐

    Python学习心得&总结.doc

    Python学习心得&总结.doc

    selenium python API分类总结

    selenium python API分类总结.pdf

    python总结

    python总结。

    python类与对象小结

    我初步总结一下关于python类和对象常用的它们的一些语法。

    15天精通Python-Python总结-Python基础-pyhthon小代码.docx

    15天精通Python-Python总结-Python基础-pyhthon小代码 Python总结 引言 语言分类 机器语言—汇编语言—高级语言(C语言—java/python)--php/perl/ruby C语言—面向过程 Java/python—面向对象 Python 是面向过程、...

    小甲鱼Python课后习题

    ·语句和语法——在python中输入代码来建立并处理对象,以及python一般的语法模型。 ·函数——python基本的面向过程工具,用于组织代码和重用。.. ·模块——封装语句、函数以及其他工具,从而可以组织成较大的组件...

    python的re模块总结.docx

    python的re模块总结全文共4页,当前为第1页。python的re模块总结全文共4页,当前为第1页。Python之re模块 python的re模块总结全文共4页,当前为第1页。 python的re模块总结全文共4页,当前为第1页。 Python用" \\\\...

    人工智能-项目实践-鸢尾花分类-Python 基于BP神经网络实现鸢尾花的分类

    人工智能-项目实践-鸢尾花分类-Python 基于BP神经网络实现鸢尾花的分类 本文用Python实现了BP神经网络分类算法,根据鸢尾花的4个特征,实现3种鸢尾花的分类。 算法参考文章:纯Python实现鸢尾属植物数据集神经网络...

    python中类变量与成员变量的使用注意点总结

    python 的类中主要会使用的两种变量:类变量与成员变量。类变量是类所有实例化对象共有的,而成员变量是每个实例化对象自身特有的。下面这篇文章主要给大家介绍了在python中类变量与成员变量的一些使用注意点,需要的...

    浅谈PyQt5中异步刷新UI和Python多线程总结

    PyQt是Qt的python接口,PyQt的文档较少,但接口和函数可以完全参照Qt,继承了Qt中大量的控件以及信号机制,十分方便。以下简介一个基本的PyQt程序。 – 需要导入的类主要来自三个包 – from PyQt5.QtWidgets import...

    Python语法总结

    Python语法总结,语法学习讲义和笔记。 部分目录: 1. Python 3 1.1. 数据类型: 3 1.1.1. 整数,浮点数,字符串,布尔值(True、False),空值(None) 3 1.1.2. 数据类型list——数组: 3 1.1.3. tuple——常值...

    Python知识点总结.doc

    python相关知识点,包括数据类型,语法,常用函数,类等,都是基础知识,学习过程积累的,也包括网上收集的。

    智能问答系统python实现

    基于知识图谱的智能问答系统python实现(复旦大学论文基于qa语料和知识库的问答系统)_python 智能问答,python 智能问答系统-机器学习代码类资源本代码实现是基于python实现的基于复旦大学崔万云博士的learing ...

    python类装饰器装饰方法通用编码模型分析.pdf

    python装饰器是一个用于封装函数、...本文首先探讨了实现装饰方法的类装饰器应具有的基本结构,接着对通用的两种编码模型进行了语法和流程的深入分析,并总结了各自的特点,为编写类装饰器装饰方法提供扎实的理论基础。

    Python 中的 Socket 编程

    Python 中的 Socket 编程 说明 译者注 授权 开始 Socket API 概览 TCP Sockets 客户端 / 服务器echo 程序 echo 程序的服务端 echo 程序的客户端 运行echo 程序的客户端和服务端 查看 socket 状态 通信流程的分解 ...

    清华大学精品Python学习PPT课件-第12章 Python项目实战:数据可视化.pptx

    清华大学精品Python学习PPT课件-第8章 Python类和对象.pptx 清华大学精品Python学习PPT课件-第9章 Python异常.pptx 清华大学精品Python学习PPT课件-第10章 Python文件操作.pptx 清华大学精品Python学习PPT课件-第11...

    老男孩第三期Python全栈开发视频教程 零基础系统学习Python开发视频+资料

    ├─(2) 02 python s3 day41 JS的基础规范.avi ├─(3) 03 python s3 day41 JS的基本数据类型.avi ├─(4) 04 python s3 day41 JS的运算符.avi ├─(5) 05 python s3 day41 JS的控制语句与循环.avi ├─(6) 06 ...

    python知识点总结

    2. 数据结构:Python 中的列表、元组、字典、集合等数据结构的使用和操作。 3. 函数和模块:定义和调用函数,创建和使用模块,以及模块的导入和使用。 4. 文件操作:读取和写入文件,处理文件内容和路径,以及异常...

    自己对python类package几种安装方法总结:手动、自动、在线、离线方式

    自己对python类package几种安装方法总结:手动、自动、在线、离线方式。并配有比较详细直观的实例操作步骤说明。

Global site tag (gtag.js) - Google Analytics