面向对象的学习笔记
 
关键要素:
类:class
用来描述具有相同的属性和方法的对象的集合,它定义了该集合中每个对象所共有的属性和方法。
 
数据成员:
类的不同属性数据
 
对象:
类的一个实例
 
方法:
类中定义的函数,实现相关的功能
 
面向对象编程:
简称oop 是一种程序设计思想,oop把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数(方法)
面向对象的设计思想是从自然界中来的,因为在自然界中,类和实例(instance)的概念是很自然的。class是一种抽象概念,比如我们定义的student类,是指学生这个概念,而实例则是一个个体的student对象。
 
三大特性:封装、继承、多态
 
 
 
 
定义类 。
class Student (object): 以学生为例:
类体
 
class是类的定义的关键词,class后面紧接着的是类名,即Student,类名通常以大写单词开头,紧接泽(object)表示该类是从哪个类继承下来的,通常如果没有明确的类就使用object类,括号内一般为空默认就是继承object类,这是所有类最终都会继承的类,也就是基类。
class Student ():
 
属性初始化
由于类可以起到模版的作用,因此,可以在创建实例对象的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的—init— 方法,如在创建Student 实例的时候,就把name,city等属性绑上去。
—init—方法的第一个参数self,表示创建的实例本身,因此 ,在—init—方法内部就可以把各种属性绑的到self,因为self就是指向创建的实例本身。有了—init—方法,在创建实例的时候,就不能传入空的参数,必须传入鱼—init—方法匹配的参数,但self不需要传,python解释器自己会把实例变量传进去。
class Student ():
 
def __init__(self,name,city):
self.name=name
self.city=city
 
 
定义方法:
类的方法除类第一个参数事self外,其他和普通函数一样。要调用一个方法,只需要在实例变量上直接调用
class Student ():
 
def __init__(self,name,city):
self.name=name
self.city=city
print ("my name is %s and come from %s" % (name, city))
 
def talk(self):
 
print ("hell0")
 
stu1=Student('uu','changsha')
stu1.talk()
 
stu2=Student('ll','shanghai')
stu2.talk()
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

python学习的新篇章--面向对象的更多相关文章

  1. 【python学习-5】面向对象的python

    python是一种面向对象的编程语言,虽然与C++一样,支持面向过程的程序设计,python完全可以使用函数.模块等方式来完成工作,但是当使用python编写一个较大的项目时,则应该考虑使用面向对象的 ...

  2. python 学习day6(面向对象)

    博客部分内容转自:http://www.cnblogs.com/wupeiqi/p/4493506.html 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法 ...

  3. python 学习笔记7 面向对象编程

    一.概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发"更快更好更强..." ...

  4. Python学习之路--面向对象

    1.面向对象概述 面向过程:根据业务逻辑从上到下写垒代码  函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可  面向对象:对函数进行分类和封装,让开发“更快更好更强...”  面向 ...

  5. python学习笔记六 面向对象相关下(基础篇)

    面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以将多函数中公用的变量封装到对象中) 对象,根据模板创建的 ...

  6. python学习笔记_week6_面向对象

    面向对象 介绍(特性(class.object--->封装.继承,多态)).--->世界万物,皆可分类:世界万物,皆可对象 只要是对象,就肯定属于某种品类:只要是对象,就肯定有属性 你是上 ...

  7. 从零开始的Python学习Episode 20——面向对象(3)

    面向对象之封装 封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体. 隐藏 在python中用双下划线开 ...

  8. 从零开始的Python学习Episode 19——面向对象(2)

    面向对象之继承 继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python支持多继承),父类又可称 为基类或超类,新建的类称为派生类或子类. 子类会“”遗传”父类的属性,从而解决代码重用问 ...

  9. Python学习笔记016——面向对象

    面向对象是指用类来描述一个对象(实例),用类来建立实例与实例的关联关系 对象 : object     实例 : instance 1 类 1.1 什么是类 类是用来描述对象的工具,用类可以创建一个或 ...

随机推荐

  1. 瑞星:以虚拟化安全“Hold住”企业用户

    自从云计算的概念诞生的哪一天起,就吸引了无数人的目光.自从2006年开始,云计算经过了雾里看花的朦胧.众说纷纭的迷茫,到现在各类应用与服务呈现出了百花齐放的姿态,引领着信息科技迈入了新纪元,而服务器虚 ...

  2. HttpClient简介与案例分析

    HttpClient简介 HTTP 协议可能是现在 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.虽然在 JDK 的 jav ...

  3. understanding android build layer · Dylan

    build / android 先看看Android官方的解释 Understand Build Layers The build hierarchy includes the abstraction ...

  4. Halcon算子函数

    Chapter_1_:Classification 1.1  Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一個訓練樣本添加到一個高斯混合模型的 ...

  5. 对《java程序员上班那点事》笔者对数组占用内存质疑

    1.<java程序员上班那点事>笔者对数组占用内存的描述 2.实际测试情况: /** * 测试一维数组占用内存 */ public static void testOneArray() { ...

  6. PyTorch模型加载与保存的最佳实践

    一般来说PyTorch有两种保存和读取模型参数的方法.但这篇文章我记录了一种最佳实践,可以在加载模型时避免掉一些问题. 第一种方案是保存整个模型: 1 torch.save(model_object, ...

  7. ionic2踩坑之ionic build android报错

    自己项目一直跑的好好好好的,build还是run都没问题,今天忽然一个小伙伴build一直报错.\ 错误如下: Error occurred during initialization of VMCo ...

  8. SpringMVC学习笔记三:Controller的返回值

    springMVC的返回值有ModelAndView,String,void,Object类型 项目目录树: 该项目是在前面项目的基础上修改的,这里的pom.xml文件需要加入使用到的包,应为@Res ...

  9. 对Vue为什么不支持IE8的解释之一

    在JavaScript对象中有一个Object.defineProperties(obj, props)方法 该方法主要用来给指定对象添加自定义属性 可以接收两个参数: 第一个参数 要定义或者修改属性 ...

  10. 如何在linux中查找python安装包的路径

    [root]# python -c "import fasttext;print(fasttext)"<module 'fasttext' from '/root/anaco ...