对象的概念同其他语言的对象相同
一个基本的类
  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. HDU 2105 The Center of Gravity (数学)

    题目链接 Problem Description Everyone know the story that how Newton discovered the Universal Gravitatio ...

  2. 【C语言】一次内存泄露的分析的记录

    今天运行一个程序,程序刚启动时占用内存很小,在运行过程中发现占用的内存会一直增大. 用cat /proc/pid/statm的方式查看发现也确实在一直增大. 而且这个程序移植到另外一个平台后,会直接无 ...

  3. Ubuntu Touch环境搭建

    最近搞了一下Nexus 5的MultiRom Manger,体验了一把Ubuntu Touch和Android L,总体感觉还不错,不过Android L的NFC驱动还有问题,Ubuntu Touch ...

  4. python实战===石头剪刀布,简单模型

    #石头剪刀布 import random import time win_list = [("石头","剪刀"),("布","石头 ...

  5. Perl的Expect模块学习

    Perl的Expect模块学习 http://www.xuebuyuan.com/1852717.html

  6. git 提示 Please move or remove them before you can merge 解决办法

    解决Git冲突造成的Please move or remove them before you can merge git clean -d -fx其中x -----删除忽略文件已经对git来说不识别 ...

  7. 推荐下载App,如果本地安装则直接打开本地App(Android/IOS)

    推荐下载App,如果本地安装则直接打开本地App(Android/IOS) - 纵观现在每家移动网站,打开首页的时候,都有各种各样的形式来提示你下载自身的移动App(Android/IOS),这是做移 ...

  8. k8s的chart学习(下)

    1.开发自己的chart Kubernetes 给我们提供了大量官方 chart,不过要部署微服务应用,还是需要开发自己的 chart,下面就来实践这个主题. 1.1创建 chart 执行 helm ...

  9. 抽象语法树简介(ZZ)

    转载自: http://www.cnblogs.com/cxihu/p/5836744.html (一)简介 抽象语法树(abstract syntax code,AST)是源代码的抽象语法结构的树状 ...

  10. Centos 下,配置 Apache + Python + Django + postgresSQL 开发环境

    用 Python 搭建一个 Web 服务器 文章结构 一.安装  Apache.Python.django 二.安装 mod_wsgi,Apache 为 Python 提供的 wsgi 模块  三.将 ...