对象的概念同其他语言的对象相同
一个基本的类
  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. Android 性能优化 - 详解内存优化的来龙去脉

    前言 APP内存的使用,是评价一款应用性能高低的一个重要指标.虽然现在智能手机的内存越来越大,但是一个好的应用应该将效率发挥到极致,精益求精. 这一篇中我们将着重介绍Android的内存优化.本文的篇 ...

  2. Linux下程序对拍_C++ (付费编号1001)

    本博客为精品博客,涉及利益问题,严禁转载,违者追究法律责任 一.对拍背景 对拍是一种十分实用的检查程序正确性的手段,在比赛时广泛使用 我们一般对拍两个程序,一个是自己不确定正确性的高级算法,另一个一般 ...

  3. CentOS 7 主机加固手册-上

    TIPs: 世界上有一撮人专门研究主机安全加固基线,有兴趣的读者可以到 http://benchmarks.cisecurity.org/ 获取更加详细专业的主机安全基线配置文档.或者到 https: ...

  4. python学习笔记 操作文件和目录

    如果我们要操作文件.目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如dir.cp等命令. 如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操 ...

  5. appium的使用

    这套教程年久失修,问题的人也比较多,于是,我重新整理了一套appium入门教程. appium新手入门(1)—— appium介绍 appium新手入门(2)—— 安装 Android SDK app ...

  6. 该配置节不能包含 CDATA 或文本元素

    当执行程序时报“该配置节不能包含 CDATA 或文本元素” ,有可能是你的web.config中有异常的文本节点,比如

  7. unixbench安装使用

    UnixBench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试linux系统主机的性能.Unixbench的主要测试项目有:系统调用.读写.进程. ...

  8. PHPExcel 使用(1)

    最近在项目中要用到PHP生成EXCEL,上网找了一下,发现PHPEXCEL挺不错,用了一下,感觉还行,就是设置单元格格式的时候比较麻烦,总体来说功能还是比较强大的,还有生成PDF什么的,发一个实例吧 ...

  9. Centos7/RHEL 7 配置静态路由

    如图: 业务地址:192.168.10.0/24    192.168.20.0/24管理地址:172.168.10.0/24    172.168.20.0/24 需求:每台主机配置两张网卡,分别连 ...

  10. 怎么在32位windows系统上搭建爬虫框架scrapy?

    禁止转载: 自学python,然后搭建爬虫框架scrapy.费了我一上午的心血.终于搭建成功,以防以后忘记搭建流程,特此撰写此贴,开写 ******************************** ...