对象的概念同其他语言的对象相同
一个基本的类
  1. #!/usr/bin/python
    class person:
    def hi(self,name):
    print 'Hello,%s'%name
    p1= person()
    p1.hi('lk')
[root@likun python_scripts]# python 12class.py
Hello,lk
 
类的初始化:
当变量需要在类的多个函数中使用,要在class中假如初始化函数,函数的参数要在创建对象的时候加入
def __init__(self,name,salary):        -- 定义
    self.name1=name
p1= person('lk',20000)                 -- 调用
这时可以用 print p1.name1 ,self就是类本身,也就是创建的p1,因此可以p1直接调用所属变量
  1. [root@likun python_scripts]# cat 12class.py
    #!/usr/bin/python
    class person:
    def __init__(self,name,salary):
    self.name=name
    self.salary=salary
    def hi(self):
    print 'Hello,%s'% self.name
    def hi2(self):
    print 'Yes,%s have %s every month!'%(self.name,self.salary)
    p1= person('lk',20000)
    p1.hi()
    p1.hi2()
[root@likun python_scripts]# python 12class.py
Hello,lk
Yes,lk have 20000 every month!
 
小练习: 
建立一个狗的类(有名字和性别),它可以叫、吃饭、见到异性摇尾巴
  1. [root@likun python_scripts]# cat 13dogclass.py
    #!/usr/bin/python
    class dog:
    def __init__(self,name1,sex1):
    self.name=name1
    self.sex=sex1
    def bark(self,default='low'):
    ifdefault=='low':
    print 'low..............'
    else: print 'hige.............'
    def eat(self,default='like'):
    ifdefault=='like':
    print 'good food,i like it!'
    else: print 'im full~ ~ ~ ~ ~ ~ ~'
    def tail(self,default):
    if self.sex !=default:
    print 'oh! shark~ ~ i like you~ ~'
    else: print 'hello ,you are my friend!'
    d1=dog('www','male') # 创建一个公狗
    d2=dog('mmm','female') # 创建一个母狗
    d1.bark() #狗叫
    d1.eat() #吃饭
    d1.tail('male') #d1见到一个公狗
    d1.tail(d2.sex) #d1见到d2
  1. [root@likun python_scripts]# python 13dogclass.py
    low..............
    good food,i like it!
    hello ,you are my friend!
    oh! shark~ ~ i like you~ ~
真实使用中,不会在class程序文件中建立对象,在使用调用类时再创建对象:
  1. >>>import dogclass
    >>> d1=dogclass.dog('www','male')
    >>> d2=dogclass.dog('mmm','female')
    >>> d1.bark()
    low..............
    >>> d1.eat()
    good food,i like it!
    >>> d1.tail('male')
    hello ,you are my friend!
    >>> d1.tail(d2.sex)
    oh! shark~~~~
    >>> d1.name 'www'
 
类的继承:
  1. classPerson:                              #父类
    def __init__(self,Type,Sex,Age,Name):
    self.race =Type
    self.sex =Sex
    self.age =Age
    self.name =Name
    def talk(self,msg=0):
    self.msg = msg
    if self.msg !=0:
    print self.name,'Saying:',self.msg
    class person_info(Person):  #子类,括号里代表继承了谁
    def __init__(self,Type,Sex,Age,Name,nation,work,salary):
    Person.__init__(self,Type,Sex,Age,Name) #调用父类的初始化方法
    self.country = nation
    self.job = work
    self.salary = salary
    def tell(self,msg):
    return ''' %s's personal information:
    Name :%s
    Age :%s
    Nation:%s
    Work :%s
    ''' % (self.name,self.name,self.age,self.country,self.job)
b1=person_info('yellow','male','18','lk','china','it','20000')
b2=person_info('yellow','male','18','tom','china','it','20000')
g1=person_info('yellow','famale','18','jack','china','it','20000')
 print '%s is looking for boyfriend: %s '%(g1.name,b1.tell('aaa'))
得到结果:
jack is looking for boyfriend:  lk's personal information: 
                        Name  : lk 
                        Age   : 18
                        Nation: china
                        Work  : it
 

8、面向对象class的更多相关文章

  1. angular2系列教程(六)两种pipe:函数式编程与面向对象编程

    今天,我们要讲的是angualr2的pipe这个知识点. 例子

  2. 一起学 Java(二)面向对象

    一.方法函数 函数也称为方法,就是定义在类中的具有特定功能的一段独立代码.用于定义功能,提高代码的复用性. 函数的特点1> 定义函数可以将功能代码进行封装,便于对该功能进行复用:2> 函数 ...

  3. js面向对象学习 - 对象概念及创建对象

    原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...

  4. 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型

    前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的 ...

  5. .NET 基础 一步步 一幕幕[面向对象之对象和类]

    对象和类 本篇正式进入面向对象的知识点简述: 何为对象,佛曰:一花一世界,一木一浮生,一草一天堂,一叶一如来,一砂一极乐,一方一净土,一笑一尘缘,一念一清静.可见"万物皆对象". ...

  6. 简单分析JavaScript中的面向对象

    初学JavaScript的时候有人会认为JavaScript不是一门面向对象的语言,因为JS是没有类的概念的,但是这并不代表JavaScript没有对象的存在,而且JavaScript也提供了其它的方 ...

  7. Java程序员应该了解的10个面向对象设计原则

    面向对象设计原则: 是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton.Decorat ...

  8. JavaScript学习笔记(三)——this、原型、javascript面向对象

    一.this 在JavaScript中this表示:谁调用它,this就是谁. JavaScript是由对象组成的,一切皆为对象,万物皆为对象.this是一个动态的对象,根据调用的对象不同而发生变化, ...

  9. 带你一分钟理解闭包--js面向对象编程

    上一篇<简单粗暴地理解js原型链--js面向对象编程>没想到能攒到这么多赞,实属意外.分享是个好事情,尤其是分享自己的学习感悟.所以网上关于原型链.闭包.作用域等文章多如牛毛,很多文章写得 ...

  10. .NET基础拾遗(2)面向对象的实现和异常的处理基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

随机推荐

  1. 【bzoj3510】首都 LCT维护子树信息(+启发式合并)

    题目描述 在X星球上有N个国家,每个国家占据着X星球的一座城市.由于国家之间是敌对关系,所以不同国家的两个城市是不会有公路相连的. X星球上战乱频发,如果A国打败了B国,那么B国将永远从这个星球消失, ...

  2. 最短路算法详解(Dijkstra,Floyd)

    最短路径 在一个无权的图中,若从一个顶点到另一个顶点存在着一条路径,则称该路径长度为该路径上所经过的边的数目,它等于该路径上的顶点数减1.由于从一个顶点到另一个顶点可能存在着多条路径,每条路径上所经过 ...

  3. linux下检测可用串口并使用minicom打开(改进版)

    之前使用的方式是这样的 http://www.cnblogs.com/zqb-all/p/7073612.html 这两天看到minicom的参数,可以直接使用 -D 指定设备,于是修改成了这样 建立 ...

  4. KVM分析报告

    转载   KVM分析报告   虚拟化技术工作组 2008-12-31 1.    概述 1.1.    KVM简介 KVM是以色列开源组织Qumranet开发的一个开源虚拟机监控器,从Linux-2. ...

  5. jsp页面点击打印按钮调用系统 的打印功能

    <script language=javascript> function prt() { var btn_obj = document.getElementById("prin ...

  6. mysql索引作用的简单理解

    转自:http://blog.csdn.net/pengsidong/article/details/62104703,有添加 索引好比书的目录,好比新华字典的拼音.偏旁部首查字,可以帮助人快速查找到 ...

  7. 编译opencv2.4.11时出现错误:error: ‘NppiGraphcutState’ has not been declared

    安装cuda之后再安装opencv时出现错误: /data/opencv-2.4.11/modules/gpu/src/graphcuts.cpp:120:54: error: ‘NppiGraphc ...

  8. MyBatis3-实现多表关联数据的查询

    前提: 1.新建Article表和增加模拟数据,脚本如下: Drop TABLE IF EXISTS `article`; Create TABLE `article` ( `id` ) NOT NU ...

  9. 【python】抄写大神的糗事百科代码

    照着静觅大神的博客学习,原文在这:http://cuiqingcai.com/990.html 划重点: 1. str.strip() strip函数会把字符串的前后多余的空白字符去掉 2. resp ...

  10. linux用grep查找包含两个关键字的命令

    linux用grep查找包含两个关键字的命令 http://zhidao.baidu.com/link?url=VsFxeJXmU7W7hy1UH7eT6QAbUsVz9Ru2ABPuWYHWm4kB ...