一、初识python面向对象:

class Person: #使用class关键字定义一个类
  age=0 #类变量(静态变量)
  def eat(self,food): #定义一个方法
    self.age=5 #self是实例本身,self.age是实例变量
    print("I will eat %s" %food)

xiaofan=Person() #实例化,生成对象xiaofan
print(xiaofan.age) #调用对象方法,因为还没有调用eat方法,则使用类方法的值
xiaofan.eat("apple") #调用对象方法
print(xiaofan.age) #调用对象,此时调用了eat,则age的值改变了
print(Person.age) #调用类的方法

"""

0
I will eat apple
5
0

"""

#在python 的面向对象当中,类和实例以及实例和实例之间都是拥有独立的内存空间的.

#class 是我们定义类的关键字
#Person 是我们定义类的名称
#() 继承,如果没有继承对象,我们可以吧括号省略掉

#类是对事物的划分,我们使用的是类的实例
#所以我们调用类又叫做类的实例化
#在实例化的过程当中,括号的作用是传参
#类名加上括号就是实例化

二、

构造函数:(初始化函数 __init__)

class Person:
  def __init__(self,food):      #实例化时就被执行了
    self.age=0

    print("hello !!!")      

    print("I will eat %s" %food)          
  def eat(self,food):
    self.age=3
    print("I will eat %s" %food)

xiaofan=Person(milk)
print(xiaofan.age)
xiaofan.eat("rice")
print(xiaofan.age)

"""

hello !!!
I will eat milk
0
I will eat rice
3

#1、构造函数是指类实例化之后自动执行的
#2、构造函数传参需要在实例化的过程中在类的括号当中传
#3、构造函数必须没有返回值

"""

析构函数:实例被删除时执行

class Person:
  def __init__(self):
    print("hello world")
  def __del__(self):
    print("goodbye world")

xiaofan = Person()
del xiaofan

"""

hello world
goodbye world

"""

三、

#如果实例变量有定义,那么实例变量采用自己的值
#如果实例变量没有定义,那么采用类变量的值
#如果类变量也没有定义,那么报错
#但是实例变量无法对其他实例的实例变量产生影响
#也不能对类变量产生影响

初识python面向对象的更多相关文章

  1. 初识python 面向对象

    what the f**k!!这个知识点学不好的最大元凶就是,我还单身??? python基础(四): 面向对象的三个特点: 封装,继承,多态 类: 对象是面向对象编程的核心,在使用对象的过程中,为了 ...

  2. 初识python面向对象编程

    初识python面向对象编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.面向过程的程序设计思想 #!/usr/bin/env python #_*_coding:utf-8 ...

  3. Python面向对象01 /面向对象初识、面向对象结构、类、self、实例化对象

    Python面向对象01 /面向对象初识.面向对象结构.类.self.实例化对象 目录 Python面向对象01 /面向对象初识.面向对象结构.类.self.实例化对象 1. 面向对象初识 2. 面向 ...

  4. python 面向对象专题(一):面向对象初识、面向对象结构、类、self、实例化对象

    https://www.cnblogs.com/liubing8/p/11301344.html 目录 Python面向对象01 /面向对象初识.面向对象结构.类.self.实例化对象 1. 面向对象 ...

  5. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  6. @1-2初识Python爬虫

    初识Python爬虫 Python爬虫(入门+进阶)     DC学院 环境搭建: Python2与Python3的差异:python2与python3整体差异不大,大多是一些语法上的区别,考虑到py ...

  7. 孤荷凌寒自学python第二十一天初识python的类

    孤荷凌寒自学python第二十一天初识python的类 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 类是面向对象的编程语言非常重要的概念. 编程语言的进化史中从顺序编程到结构化编程,最后才 ...

  8. Python面向对象03 /继承

    Python面向对象03 /继承 目录 Python面向对象03 /继承 1. 初识继承 2. 单继承 3. 多继承 4. 总结 1. 初识继承 概念:专业角度:如果B类继承A类,B类就称为子类,派生 ...

  9. python 面向对象专题(三):继承

    目录 Python面向对象03 /继承 1. 初识继承 2. 单继承 3. 多继承 4. 总结 1. 初识继承 概念:专业角度:如果B类继承A类,B类就称为子类,派生类,A类就称为父类,超类,基类 种 ...

随机推荐

  1. MyBatis3: Could not find SQL statement to include with refid ‘

    错误: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.Incompl ...

  2. kettle作业中的js如何写日志文件

    在kettle作业中JavaScript脚本有时候也扮演非常重要的角色,此时我们希望有一些日志记录.下面是job中JavaScript记录日志的方式. job的js写日志的方法. 得到日志输出实例 o ...

  3. 关于Xcode6 Segue 的疑问,没有解决!

    xcode6 的segue 变化了,如图 关于前3个选项,始终没有太明白,我试验结果如下,简单地把几个viewController连接起来时,无论用show,还是showdetail,还是Presen ...

  4. mysql5.6 timestamp

    1.timestamp 默认值 CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 在创建新记录和修改现有记录的时候都对这个数据列刷新 CURRENT_TIME ...

  5. Java面向对象的继承

    继承也是面向对象的又一重要特性,继承是类于类的一种关系,通俗来说狗属于动物类,那么狗这个类就继承了动物类 java中的继承是单继承的,一个类只能继承与一个父类 子类继承父类之后,子类就拥有了父类的所有 ...

  6. LightOJ 1247 Matrix Game (尼姆博弈)

    A - Matrix Game Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submi ...

  7. 搭建Maven工程的时候,做单元测试,报ClassNotFoundException

    搭建Maven工程的时候报错 问题原因是在spring.xml中配置的  classpath:config.properties  没有在工程中创建.

  8. Linux snmp监控

    http://blog.csdn.net/apple_llb/article/details/50494787 http://www.ttlsa.com/monitor/snmp-oid/

  9. 查看CPU是否支持虚拟化

    参考:http://www.cnblogs.com/jankie/archive/2012/07/04/2575695.html 一.Windows平台:使用cpu-Z即可查看. 二.Linux平台: ...

  10. 必须正确理解的---ng指令中的compile与link函数解析

    这个绝对是深入的知识,但看完之后,对NG的理解就很利害啦. http://www.ifeenan.com/angularjs/2014-09-04-%5B%E8%AF%91%5DNG%E6%8C%87 ...