Python面向对象OOP

一 OOP

    与C++和Java一样,Python同样具有OOP设计。

过程式:从前到后,一条一条,机器能接受的顺序性方式;方式大概为“首先你应该做什么,第二应该做什么,高级点的做点假设如果遇到什么情况要做什么,或者一件事情要做多少多少遍,… …,”

OOP式:从“类与对象”方式来抽象和理解世界。例如首先物体(Object)大概可以分为“生物”与“非生物”,“生物”又能分为“人、动物、植物”等,“人”又分为“男人,女人”等。。。大自然在世界之巅,不断分类设定。类似于“族谱”,上下之间能“继承”。

类与对象。类是抽象的,是一群的概述,对象是具体的,独立的,例如我存在一个独立的人。对象拥有所在类的属性和方法,同样拥有属于自己对象的属性(方法)。

现实世界中,类拥有属性(attribute)和行为(action);抽象数据中,类拥有数据(data)和方法(method)。类之间,存在继承(inheritance)与改良,类与对象之间,存在实例化。在实例化之后,对象能够在继承的类成员之外,增加属于自己的数据成员。

二  Python OOP

末 Python 中的坑

Python 很强大,坑也不少,一个一个填吧。

一 Python 处理中文及编码方式

    Python3.0之前,由于编码的缘故,处理中文夹杂情况,十分痛苦。要想彻底让它不是问题,第一,理解编码方式之间转换;第二,几个实际例子在手。

二 Python基础语法

1. 浅拷贝赋值,传值与传地址调用

首先看两个例子,关于一个函数参数为int和list两种类型时的不同操作,以增加++一个值为例。

# 传值value参数

a = 1
def  change_integer(a):
    a = a + 1
    return a

# 传地址address参数
b = [1,2,3]
def change_list(b):
    b[0] = b[0] + 1
    return b

# test value
print change_integer(a)
print ‘a = ‘,a

print change_list(b)
print ‘b[0] = ‘,b[0]

#Result:
>a = 1
>b[0] = 2

第一个integer例子中,将一个int类型变量传递给函数,原整型变量a不发生变化。

第二个list例子中,将一个list类型变量传递给函数,原listb会发生变化。

原因在于,对于基本数据类型(例如int),函数会在内存中复制一个新的变量,从而不影响原来变量,这叫“值传递”;

对于list来说,并不属于基本变量,函数传递的是一个指针,指向序列在内存中的地址,从而影响原来的值,称为“指针传递”。

同理,对于matrix或者array类型的数据,也属于非基本类型,因此array_a = array_b这样行为,array_b做操作时同样会影响到array_a,特别注意!!

时间: 2024-10-17 21:51:53

Python面向对象OOP的相关文章

python面向对象OOP入门

 一.面向对象简介 面向对象编程不是python独有,几乎所有高级语言都支持;面向对象不管在那个语言中都有三大特性:即:封装.继承.多态;具体的本文主要讲python面向对象--类及三大特性的具体实现; 二.面向对象之python类特性一:封装 python通过类实现面向对象的编程;编程大致分为面向过程式的函数式编程,和面向对象编程; 类(Class)和实例(Instance)是面向对象最重要的概念. 1.类的简单定义与使用 class '类名':     语句块 如: class Foo:  

python 面向对象oop

1 oop 对象世界观  -- oop是目前人类认知最接近实际生活的语言 一切事务皆对象 对象有运动规律和内部状态 对象之间可以相互调用 2.面向对象 唯一性:对象具有唯一性,不存在两个相同的对象,除非他们是同一个对象 可以分类性 : 对象可以分类 3.oop 分类 封装 继承 多态 具体类: 结构 classs 类名: 类体 创建对象使用类名(__init__ 函数除第一个参数外的参数列表) 创建对象的时候 实际执行了 __init__函数, __init__ 并不会创建对象,但会初始化对象

python面向对象之类成员

一.概述 上篇<python面向对象OOP>介绍了python面向对象的基础初级入门部分,提到了类的定义,使用,类的三大特性;经典类,新式类在查找时的区别等,有了前面的基础,本文接着描述面向对象中类成员;先整体描述下,类中的成员分以下几部分: #类成员  #字段(属性):      普通字段  属于对象,保存在对象中,只能通过对象访问      静态字段  属于类,保存(一份)在类中(所有对象共享的字段属性),执行时可以是类访问也可以是对象访问  #方法:      普通方法  保存在类中,又

python面向对象编程(OOP)

python作为一种解释性语言,其主要的编程方式就是面向对象,而且python的框架django也是主要面向对象的编程. 类(class)和对象(object) 类(class)是用来描述具有相同属性(attribute)和方法(method)对象的集合.对象(object)是类(class)的实例.比如学生都有名字和分数,他们有着共同的属性.这时我们就可以设计一个学生类,用来记录学生的名字和分数,并自定义打印出来. 属性(attribute):类里面用于描述所有对象共同特征的变量或数据.比如此

我对 python 面向对象的理解

一.引言 面向对象的编程---object oriented programming,简称:OOP,是一种编程的思想.OOP把对象当成一个程序的基本单元,一个对象包含了数据和操作数据的函数.面向对象的出现极大的提高了编程的效率,使其编程的重用性增高. python面向对象的重要术语: 1.多态(polymorphism):一个函数有多种表现形式 2.继承(inheritance)子项继承父项的某些功能 3.封装(encapsulation)把需要重用的函数或者功能封装,方便其他程序直接调用 4.

python 面向对象初级篇

Python 面向对象(初级篇) 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发"更快更好更强-" 面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,即:将之前实现的代码块复制到现需功能处. Python while True: if cpu利用率 > 90%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 if 硬盘

Python面向对象编程总结(上)

在我学习python之前一直认为python是脚本型语言,不能用面相对象的方法进行编程,当我学习了python之后我发现我错了,python不但支持面相对象而且使用的人还挺多的.我从接触编程开始就是学习的Java语言,所以面相对象编程的思想在我的脑海里根深蒂固,让我一下从面向对象编程转换到面向过程编程还有一些不适应呢,所以我就来总结一下python面向对象编程的方法和过程.我将按照面向对象的构成要素来分析,依次为类和实例.属性.方法.封装.继承.多态,如果有什么问题还请大家积极指出,我所用的版本

python 面向对象介绍

1.python 面向对象的主要特性.主要有类.对象.三大特点:封装.继承.多态.本次主要介绍内容:属性.方法.构造函数.析构函数.私有方法.私有属性. oop 是使用类和对象来实现对真是世界的描述.万事万物皆可为类.基于面向对象的程序使人更加容易理解的你逻辑.提高开发效率 class 类.对具有相同属性的对象的抽象.可以理解为模板.在类中定义了这些对象共同拥有的属性和方法.(上帝创造地球的模板) object 对象.对象是类的实例化.一个类可以实例化多个对象.每个对象可以具有不同的属性.例如人

Python—面向对象

####python的面对对象### python是一门面向对象语言 熟悉面向对象编程有: python java c++ 1.面向对象和面向过程 面向对象 oop:object oriented programming 面向对象的基本概念 我们之前学习的编程方式就是面向过程的 面向过程和面向对象,是两种不同的编程方式 对比面向过程的特点,可以更好的了解什么是面向对象 过程和函数(都是对一段功能的代码进行封装) 过程:是早期的一个编程概念 过程类似于函数,只能执行,但是没有返回值 函数:不仅能执