面向对象的学习笔记
 
关键要素:
类: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. 数据中台技术汇(二)| DataSimba系列之数据采集平台

    继上期数据中台技术汇栏目发布DataSimba——企业级一站式大数据智能服务平台,本期介绍DataSimba的数据采集平台. DataSimba采集平台属于DataSimba的数据计算及服务平台的一部 ...

  2. php的header方法

    http://www.cnblogs.com/fengzheng126/archive/2012/04/21/2461475.html

  3. 年度Java技术盘点,懂这些技术的程序员2019发展大好

    与一年前一样,Java仍然是最流行的编程语言.据TIOBE的数据显示,几十年来,Java比其他语言更常名列榜首,Java因为它拥有可移植性.可扩展性和庞大的用户社区,所以许多知名互联网公司使用Java ...

  4. linux下安装glibc-2.14,解决“`GLIBC_2.14' not found”问题

    下载安装包:http://ftp.gnu.org/gnu/glibc/ 我下载的是glibc-2.14.1.tar.gz 解压:tar xzf glibc-2.14.1.tar.gz cd glibc ...

  5. [LC] 242. Valid Anagram

    Given two strings s and t , write a function to determine if t is an anagram of s. Example 1: Input: ...

  6. SHELL用法四(for语句)

    1.SHELL编程For语句案例实战 1)For语句固定的语法格式: For i in (表达式) do 动作1 done 2)For语句案例操作一: #!/bin/bash do echo “$NU ...

  7. Thymeleaf模板笔记

    1.常用标签: 使用thymeleaf模板,首要在html中引入: <html xmlns:th="http://www.thymeleaf.org"> 引入css.j ...

  8. haproxy笔记之六:负载均衡MySQL服务的配置示例

    #--------------------------------------------------------------------- # Global settings #---------- ...

  9. dubbo分布式框架下web层调用业务层一直报空指针异常的解决办法

    java.lang.NullPointerException............... 环境:SSM(通用mapper)+Dubbo 1.检查导包 提示注解@Reference  应该导入  im ...

  10. python基础之文件操作1

    文件操作:os.mknod("test.txt")        创建空文件fp = open("test.txt",w)     直接打开一个文件,如果文件不 ...