今天,我们来介绍Python的面向对象编程,其实面向对象并不陌生,在C++  ,Java  ,PHP中也有大量使用!

  好了,我们来步入正题!

  那什么是面向对象编程呢?

    1. 面向对象编程是一种程序设计的范式

    2. 把程序看作是不同对象的相互调用

    3. 它是对现实世界建立对象模型

  下面我们来介绍一下面向对象的基本思想:

    类和实例,类用于定义抽象类型,实例根据类的定义被创建出来。

    

  如上图所示:人可以看作是一个模型,而张三,李四,王五,计算根据就是根据人这个模型而构造出来的一个个实体。

  而这里我们可以说,人就是类的定义,而张三,李四,王五他们就是实例,如下图所示:

    

    在Python中,类是由关键字class来定义,

      

  面向对象最重要的一个思想是数据封装,我们可以在类中定义属性和方法。

  class Person:

    def __init__(self,name):

      self.name = name

  p1 = Person('zs')

  p2 = Person('ls')

  p3 = Person('ww')

  上面就是面向对象的大体内容,接下来我们详细介绍一下:

  

  1.定义类并创建实例:

    在Python中,类通过class来定义,比如我们来定义一个Person类:

      class Person(object):

        pass...

        ......

      在Python的编程习惯中,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。在这里假设是从object类继承下来!

    有了类的定义,我们就可以创建出具体的实例,创建实例使用类名(),即 ls = Person().

  2.创建实例属性:

    虽然Person类可以创建出ls,ww,等等实例,但是这些实例看上去除了地址不同外,没有什么其他不同。但是如果让每个实例·拥有各自不同的属性,那我们就可以区分他    们了,那么如何给实例赋予属性的!当然了,大家都知道,Python是动态语言,对于每一个实例,都可以直接给他们的属性赋值:

      ls = Person()

      ls.name = 'li si'

      ls.birth = '1995-6-5'

      ls.age = 21

      而且,实例的属性可以像普通变量一样进行操作,ls.age = ls.age + 2

  类与list结合的情况:

    class Person(object):

      pass

    p1 = Person()

    p1.name = 'bart'

    p2 = Person()

    p2.name = 'adam'

    p3 = Person()

    p3.name = 'lisa'

    list1 = [p1,p2,p3]

    list2 = [p1,p2,p3]

    print (list2[0].name)

    print (list2[1].name)

    print (list2[2].name)

好了,我们今天先说到这里,现在我要去上课了,回来之后接着给大家分享哈!

Python的面向对象1的更多相关文章

  1. python基础——面向对象编程

    python基础——面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的 ...

  2. Python的面向对象3

    接下来,我们接着讲Python的面向对象,在上一次的博客中,我们详细介绍了类与对象的属性,今天,我们来详细介绍一下面向对象中的方法! 1.定义实例方法 一个实例的私有属性就是以__开头的属性,无法被外 ...

  3. Python的面向对象2

    我们接着讲解Python的面向对象 1.初始化实例属性 在现实生活中,一种类型的实例会具有相同的某些属性,把这些实例划分为一个类型,则这些实例必然有相似的部分.但是,在创建实例之后,我们一个一个的为实 ...

  4. My way to Python - Day05 - 面向对象-思维导图

    My way to Python - Day05 - 面向对象   思维导图

  5. Python进阶---面向对象的程序设计思想

    Python的面向对象 一.面向过程与面向对象的对比 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...

  6. Python之面向对象一

    引子 小游戏:人狗大战 角色:人和狗 角色属性:姓名,血量,战斗力和性别(种类) 技能:打/咬 用函数实现人打狗和狗咬人的情形 def Dog(name,blood,aggr,kind): dog = ...

  7. python基础——面向对象进阶下

    python基础--面向对象进阶下 1 __setitem__,__getitem,__delitem__ 把对象操作属性模拟成字典的格式 想对比__getattr__(), __setattr__( ...

  8. python基础——面向对象进阶

    python基础--面向对象进阶 1.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 ...

  9. python基础——面向对象的程序设计

    python基础--面向对象的程序设计 1 什么是面向对象的程序设计 面向过程的程序设计的核心是过程,过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优 ...

随机推荐

  1. [Angular 2] Create Angular 2 Porject with Angular CLI

    Install: npm i -g angular-cli Create a project: ng new hello-angular2 Run the project: cd hello-angu ...

  2. linux上安装shell编辑器与linux运维面试题

    分两个部分 一.安装B-shell解释器 安装cygwin  Eclipse要找到安装的bin路径 https://cygwin.com 二.安装编辑器shellEd 下载可以得到一个:net.sou ...

  3. IIS8无法调用Oracle.DataAccess .dll问题

    之前在.net平台下操作Oracle都是用的oracle.dataaccell.dll引用,但是服务器升级为II8后,发布的新服务有关Oracle数据库部分都无法运行,调试了好久发现是IIS8不支持低 ...

  4. .Net设计模式_工厂模式(3)

    3.抽象工厂模式 引言: 我们知道汽车需要很多部件才能组装成一辆成品的车,那么我们需要汽车厂生产很多东西,如:马达.车轴.轮胎等,这些东西组装起来后成为了一辆车. 这些东西就是产品族,图解:(出之ht ...

  5. mysql配置优化

    [笔记]MySQL 配置优化   安装MySQL后,配置文件my.cnf在 /MySQL安装目录/share/mysql目录中,该目录中还包含多个配置文件可供参考,有my-large.cnf ,my- ...

  6. 7.Composer的安装和使用

    1.安装Composer: 局部安装 要真正获取 Composer,我们需要做两件事.首先安装 Composer (同样的,这意味着它将下载到你的项目中): curl -sS https://getc ...

  7. DELETE---删除记录

    DELETE FROM table_name [WHERE conditions]; 例: DELETE FROM userinfo WHERE name='zhangsan'; 说明 1.不添加条件 ...

  8. Nginx高性能服务器安装、配置、运维 (6) —— Nginx日志及日志分割

    七.Nginx日志及日志分割 (1)Nginx日志文件 查看Nginx配置文件: 找到access_log,yum安装默认存储在/var/log/nginx目录下,且默认main格式: main格式定 ...

  9. 监听列表ListVIew的滑动状态

    /*监听列表的滑动状态:暂时用不到 * SCROLL_STATE_FLING 时让图片不显示,提高滚动性能让滚动小姑更平滑 * SCROLL_STATE_IDLE 时显示当前屏幕可见的图片*/ mLi ...

  10. ScriptManager的用法

    资料中如实是说:       1, ScriptManager(脚本控制器)是asp.net ajax存在的基础. 2, 一个页面只允许有一个ScriptManager,并且放在其他ajax控件的前面 ...