对象的概念同其他语言的对象相同
一个基本的类
  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. linux下卸载Oracle

    1.卸载数据库软件--10g[oracle]# cd /u01/app/oracle/product/10.2.0/db_1/oui/bin[oracle]# ./runInstaller -igno ...

  2. 配置iptables,把80端口转到8080

    在Linux的下面部署了tomcat,为了安全我们使用非root用户进行启动,但是在域名绑定时无法直接访问80端口号.众所周知,在unix下,非root用户不能监听1024以上的端口号,这个tomca ...

  3. xdebug参数说明

    ;;;;;;;;;;;;;;;;;;;;;;;;; Basic Features; xdebug基本功能,如堆栈跟踪,递归错误安全输出,时间内存跟踪等;;;;;;;;;;;;;;;;;;;;;;;;; ...

  4. SpringBoot集成整合pageHelper分页插件

    今天来讲讲springboot 集成 pagehelper插件, 引入jar 依赖包 <!-- 分页插件 --><dependency> <groupId>com. ...

  5. require.js模块化管理和加载js(按需加载)简单实例教学

    一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代 ...

  6. flutter 极光推送

    一.配置极光开发者 1.注册极光开发者 https://www.jiguang.cn/push 2.创建应用 二.创建APP 1.添加依赖 pubspec.yaml  添加: flutter_jpus ...

  7. 洛谷 P1577 切绳子【二分答案】

    题目描述 有N条绳子,它们的长度分别为Li.如果从它们中切割出K条长度相同的 绳子,这K条绳子每条最长能有多长?答案保留到小数点后2位. 输入输出格式 输入格式: 第一行两个整数N和K,接下来N行,描 ...

  8. CF A.Mishka and Contest【双指针/模拟】

    [链接]:CF/4892 [题意]: 一个人解决n个问题,这个问题的值比k小, 每次只能解决最左边的或者最右边的问题 解决了就消失了.问这个人能解决多少个问题. [代码]: #include<b ...

  9. CF982 C Cut 'em all!【树/DFS/思维】

    [链接]:CF982C [题意]:有一颗树,你需要切掉一些边,使这颗树分拆成若干个节点为偶数的联通分量,最多能切掉几条边.若不能切,输出-1. [分析]: 1.若点数n为奇数,因为奇数不可能分为偶数, ...

  10. Unity防破解 —— 重新编译mono

        Unity4.x版本导出android包时,只能选择mono,无法使用il2cpp,这就造成了我们的程序集很容易被修改--很多朋友在发布项目时觉得即使代码暴露出去也没什么关系,只有项目火了才有 ...