Python学习8——面向对象

写在开头:

这部分学习总结本来应该是抽象的延续,但是我却不想用“抽象2”来给标题命名,我觉得这节的内容更适合称为“面向对象”。

下面是跟随《Python基础教程》(第3版)第7章来学习的。

创建自定义对象是Python的核心概念,Python可以同java语言一样,被视为是一种面向对象语言。在面向对象编程中,术语对象大致意味着一系列访问和操作这些数据的方法。

有一点java基础的同学应该都了解,面向对象的3个基本特征:封装,继承,多态

多态:可对不同类型的对象执行相同的操作,而这些操作就像“被施了魔法”一样能够正常的运行。

你收到一个对象,却不知道它是如何实现的,它可能有很多种形态,但你可以访问它。

>>> ‘abc‘.count(‘a‘)
1
>>> [1,2,‘a‘].count(‘a‘)
1

上面的栗子,你不在乎这个变量是列表还是字符串,你都能调用count,只要你提供一个字符作为参数,它都能正常运行。

>>> def length_message(x):
    print(‘The length of‘,repr(x),‘is‘,len(x))

>>> length_message(‘Fnord‘)
The length of ‘Fnord‘ is 5

repr()返回的是一个对象的string格式,可用于任何对象。

封装:向外部隐藏不必要的细节。让你无需知道对象的构造就能使用它。

待续...

原文地址:https://www.cnblogs.com/suancaipaofan/p/11094415.html

时间: 2024-09-30 00:43:20

Python学习8——面向对象的相关文章

python学习之面向对象高级特性

类属性与实例属性类属性就是类对象所拥有的属性,它被所有类对象的实例对象所共有,在内存中只存在一个副本.在前面的例子中我们接触到的就是实例属性(对象属性),它不被所有类对象的实例对象所共有,在内存中的副本个数取决于对象个数. 05_类属性鱼实例属性.py import random class Turtle(object): # power是类属性. power = 100 def __init__(self): # x,y:实例属性. self.x = random.randint(0, 10)

Python学习笔记-面向对象

一.什么是面向对象的程序设计 1.面向过程的程序设计 面向过程:核心是过程二字,过程即解决问题的步骤,就是先干什么,再干什么.基于该思想写程序就好比在设计一条流水线,是一种机械式的思维方式. 优点:复杂的过程流程化,进而简单化 缺点:扩展性差 2.面向对象的程序设计 面向对象:核心是对象二字,对象是特征与技能的结合体.基于该思想编写程序就好比在创造一个世界,世界是由一个个对象组成,是一种"上帝式"的思维方式 优点:可扩展性强 缺点:编程复杂度高,容易出现过度设计问题 二.类与对象 对象

Python 学习笔记 - 面向对象(类成员)

上一篇学习了Python面向对象的3大特性,封装,继承和多态,这一篇继续学习类成员,包括字段,方法,属性以及他们的修饰符. 1.字段 字段分为静态字段和普通字段.静态字段属于类,而普通字段属于对象,因此静态字段在内存中只保存一份,而普通字段在每个对象中都保存了一份.定义的时候静态字段定义在类的范围里面,而普通字段定义在方法里面. 例如: >>> class Foo:     # 字段(静态字段)     CC = 123     def __init__(self):         #

Python 学习笔记 - 面向对象(基础)

之前学习的编程方式都是通过面向过程来实现的,对于一些重用的代码,进一步的使用了函数,增强了代码的可读性和重用性.Python同时还支持面向对象的编程. 面向对象有三大特性: 封装 继承 多态 首先来看看封装.封装包括两点,把内容封装到某个地方:调用封装的内容 例1: class c1:     def __init__(self,name,obj):         self.name = name         self.obj = obj class c2:     def __init_

Python学习笔记——面向对象编程

接下来学习面向对象编程,基础的就不记录了,只记录一些Python特有的或者高级的特性. http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318645694388f1f10473d7f416e9291616be8367ab5000 1. 类的定义 定义类使用class关键字,后面紧跟类名(首字母大写),接着是从哪个类继承下来的(所有类最终会继承object). 通过类名加参

从0开始的Python学习014面向对象编程

 简介 到目前为止,我们的编程都是根据数据的函数和语句块来设计的,面向过程的编程.还有一种我们将数据和功能结合起来使用对象的形式,使用它里面的数据和方法这种方法叫做面向对象的编程. 类和对象是面向对象编程的两个重要方面.对于类和对象的关系,举个例子就像学生和小明同学的关系一样.学生(类)是一个拥有共同属性的群体,小明同学(对象)是其中一个有自己特性的个体. 对于一个对象或类的变量被称为域,函数被称为类或对象的方法. 域有两种类型--属于每个对象或属于类本身,分别成为实例变量和类变量. 类使用cl

python学习_day26_面向对象之封装

1.私有属性 (1)动态属性 在python中用双下划线开头的方式将属性隐藏起来.类中所有双下划线开头的名称,如__x都会自动变形成:_类名__x的形式.这种自动变形的特点是: a.类中定义的__x只能在内部使用,如self.__x,引用的就是变形的结果.b.这种变形其实正是针对外部的变形,在外部是无法通过__x这个名字访问到的.c.在子类定义的__x不会覆盖在父类定义的__x,因为子类中变形成了:_子类名__x,而父类中变形成了:_父类名__x,即双下滑线开头的属性在继承给子类时,子类是无法覆

Python学习:面向对象(OOP)

类和实例 1.类(class):有属性有方法就是类.下面是Student类: class Student(object):     def __init__(self, name, score):         self.name = name         self.score = score     def print_score(self):         print('%s: %s'%(self.name,self.score))     def get_grade(self):

python学习总结(面向对象进阶)

-------------------类属性和实例属性关系------------------- 1.类属性和实例属性关系 1.实例属性 实例对象独有的属性 2.类属性 类名访问类属性 3.实例中无同名属性时,可访问到类属性,当定义同名实例属性时,则无法访问 4.常用的查找指令 1.vars :查看实例内属性 2.dir :显示类属性和所有实例属性 3.type :显示类型 -------------------方法------------------- 1.实例方法 隐含的参数为类实例self