1、类和实例:类是对象的定义,而实例是真正的事物。他存放了类中所定义的对象的具体信息
关键字是class,后面紧跟着一个类名,随后是定义类的雷替代码。通常有各种各样的定义和声明组成。
class newClass(base):
     'define neewClass class'
类分为经典类和新式类。所以得新式类必须继承至少一个父类
创建一个实例的过程称作实例化:aclass=newClass()
2.方法:类的功能。在Python中,方法定义在类的定义中,但只能被实例所调用。调用一个方法的途径:(1)定义一个类(和方法),(2)创建一个实例 (3)用这个实例用调用方法
例子:def aClass(object):
              def printfoo(self):
                  print ('You invoked printFoo()')
注意self参数,他在所有的方法声明中都存在,代表实例对象本身。
3、创建一个类:
class AddrBookEntry(object):
    'Address book entry class'
    def __init__(self,nm,ph):
        self.nm=nm
        self.ph=ph
        print ('Created instance for:',self.name)
    def updataPhone(self,newph):
        self.ph=newph
        print ('Updated phone# for:',self.name)
4、创建类的实例:
>>> bobi=AddrBookEntry('bobi','110')
Created instance for: bobi
>>> dier=AddrBookEntry('dier','123')
Created instance for: dier
5、访问实例属性:
>>> bobi.nm
'bobi'
>>> bobi.ph
'110'
6、方法调用:
>>> bobi.updataPhone('18800295576')
Updated phone# for: bobi
>>> dier.updataPhone('18721589896')
Updated phone# for: dier
>>> dier.ph
'18721589896'
7、创建子类:
靠继承来进行子类化
 class EmplAddrBookEntry(AddrBookEntry):
    'Employee Address Book Entry class'
    def __init__(self,nm,ph,idnum,em):
        AddrBookEntry.__init__(self,nm,ph)
        self.empid=idum
        self.email=em
    def updateEmail(self,newem):
        self.email=newem
        print('Updated E-mail address for:',self.nm)
8、使用子类:
>>> jack=EmplAddrBookEntry('jack','2213445',11,'123@345.com')
Created instance for: jack
>>> jack.updataPhone('123')
Updated phone# for: jack
>>> jack.updateEmail('www@com')
Updated E-mail address for: jack
>>> jack
<__main__.EmplAddrBookEntry object at 0x00000000032450F0>
>>> jack.email
'www@com'

Python面向对象编程——引言的更多相关文章

  1. python 面向对象编程学习

    1. 问题:将所有代码放入一个py文件:无法维护 方案:如果将代码才分放到多个py文件,好处: 1. 同一个名字的变量互相不影响 2.易于维护 3.引用模块: import module 2.包:解决 ...

  2. python 面向对象编程(一)

    一.如何定义一个类 在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法. 类是对现实世界中一些事物的封装,定义一个类可以采用下面的方式来定义: class c ...

  3. Python面向对象编程指南

    Python面向对象编程指南(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1SbD4gum4yGcUruH9icTPCQ 提取码:fzk5 复制这段内容后打开百度网 ...

  4. python面向对象编程进阶

    python面向对象编程进阶 一.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 1 ...

  5. Python面向对象编程(下)

    本文主要通过几个实例介绍Python面向对象编程中的封装.继承.多态三大特性. 封装性 我们还是继续来看下上文中的例子,使用Student类创建一个对象,并修改对象的属性.代码如下: #-*- cod ...

  6. Python 面向对象编程——访问限制

    <无访问限制的对象> 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑.但是,从前面Student类的定义来看(见:Py ...

  7. Python 面向对象编程 继承 和多态

    Python 面向对象编程 继承 和多态 一:多继承性 对于java我们熟悉的是一个类只能继承一个父类:但是对于C++ 一个子类可以有多个父亲,同样对于 Python一个类也可以有多个父亲 格式: c ...

  8. Python 面向对象编程基础

    Python 面向对象编程基础 虽然Pthon是解释性语言,但是Pthon可以进行面向对象开发,小到 脚本程序,大到3D游戏,Python都可以做到. 一类: 语法: class 类名: 类属性,方法 ...

  9. python面向对象编程学习

    python面向对象编程 基本概念理解 面向对象编程--Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作 ...

随机推荐

  1. 创建一个Windows窗体

    20140702加: WS_OVERLAPPEDWINDOW这个属性如果写成WS_OVERLAPPED,则窗口没有最大最小按钮以及左边的系统的菜单. vs2010下的代码提示快捷键:CTRL + J ...

  2. svn出现权限不足时的解决方法

    将所有svn目录设置为当前用户所有....即可 sudo chown will:will . -R

  3. Makefile总结和反序字符数组,整体右移数组,杨辉三角!

    2015.1.23今天我值日 继续接着昨天Makefile的目标开始记录:第一种:有 .PHNOY声明,但是冒号后面没有依赖文件.PHNOY:clean clean://没有依赖文件 rm *.0 t ...

  4. iOS-MVC详解

    MVC与模板概念的理解 MVC(Model View Controller)模型-视图-控制器 MVC本来是存在于Deskt op程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC 的 ...

  5. Oracle 触发器,事物

    触发器:自动执行,可以实现表的约束. 1.行级触发器: CREATE OR REPLACE TRIGGER del_deptid AFTER DELETE ON deptment --触发器条件 DE ...

  6. Tomcat集群---Cluster节点配置(转)

    <!-- Cluster(集群,族) 节点,如果你要配置tomcat集群,则需要使用此节点. className 表示tomcat集群时,之间相互传递信息使用那个类来实现信息之间的传递. cha ...

  7. 如何避免后台IO高负载造成的长时间JVM GC停顿(转)

    译者著:其实本文的中心意思非常简单,没有耐心的读者建议直接拉到最后看结论部分,有兴趣的读者可以详细阅读一下. 原文发表于Linkedin Engineering,作者 Zhenyun Zhuang是L ...

  8. python xlrd和xlwtxlutils包的使用

    安装xlrd读取模块 首先去官网或者pypi下载安装包,然后解压到任意目录 在dos下进入该目录,执行python setup.py install安装 验证成功进入python,执行import 包 ...

  9. Spring初始化 Map 和 解析Json value

    单独定义Map数据结构的bean: <bean id= "expToLevelMap" class="org.springframework.beans.facto ...

  10. Java Servlet——改进的CGI

    一.关于Servlet 在上一篇随笔中,我们看到了CGI存在的不足,其每次请求都需加载和运行一个CGI程序.若使用Java编写CGI程序,需要为每个请求都启动一个系统进程以及JVM,其执行效率大大降低 ...