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. activeMQ设置admin的用户名和密码

    ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到 <bean id="securityConstraint" class="o ...

  2. a various of context

    ContextWrapper.getApplicationContext():Return the context of the single, global Application object o ...

  3. hdoj-2019

    #include "stdio.h"void sort(int number[],int n,int m);int main(){ int n,m,i,number[100]; s ...

  4. python中的函数调用绑定,静态方法和类方法

    在C++的类中,有两种函数:普通成员函数和静态成员函数,差别是成员函数通过类实例调用,而静态成员函数通过类名调用.本质上,成员函数在调用的时候会默认把this指针作为第一个参数传入,而静态成员函数不需 ...

  5. iOS 实现简单的Http 服务

    http 是计算机之间通讯协议的比较简单的一种.在iPhone上,由于没有同步数据和文件共享,所以实现PC与设备之间的数据传输的最佳方式就是在程序中嵌套一个http 服务器.在这篇帖子中,我将简单的演 ...

  6. Java Sudoku游戏

    这几天尝试用Java的swing写图形程序,边学习边摸索写了个简单的数独游戏,在编写的过程中学到了不少关于swing的东西,而且对于图形化程序的编写也有了一点简单的认识: 善其事先利其器,既然写图形化 ...

  7. 层次分析模型(AHP)及其MATLAB实现

    今天用将近一天的时间学习了层次分析模型(AHP),主要参考了一份pdf,这个网站,和暨南大学章老师的课件,现写出一些自己总结的要点. 一.层次分析法的基本步骤: 角度一: 实际问题——分解——> ...

  8. Maven Build profiles

    They modify the POM at build time, and are meant to be used in complementary sets to give equivalent ...

  9. Android WindowManager悬浮窗:不需要申请权限实现悬浮

     Android WindowManager悬浮窗:不需要申请权限实现悬浮 附录文章1介绍了Android平台上的悬浮窗WindowManager,WindowManager悬浮窗可以悬浮在And ...

  10. mysql 远程连接失败(linux)

    主要有三个原因:1.mysql授权表里没有远程机器的权限,及需要在授权表mysql.user添加grant all privileges on *.* to 'root'@'远程登陆IP' ident ...