Python面向对象程序设计第一弹

类和对象:

  定义类:

    class 类名:

      属性

      方法

  定义类的对象:

    类的对象名=类名()

  类的属性:分为公有和私有,类似于c++的private和public,私有变量名前面添加__

  构造函数:在创建类的对象的时候,对类进行初始化的函数。(它的功能远不止赋值这么简单,思维不要被局限了)

       形式:def __init__(self,其他参数)

            语句块

       关于其中的self,self代表的是类的实例,代表当前对象的地址。(按照我的逻辑解释,因为类里面的函数作用在类的对象上,那么对象就是自身,用self表明)

      

       延伸:关于类的实例:http://blog.sina.com.cn/s/blog_44178ab70100br3c.html。

       类方法:不需要定义对象,直接用类名.函数(),这个函数就是类方法

          类的实例方法:需要定义对象,然后运用定义的对象名.函数()进行调用,这个就是实例方法。

  析构函数:与构造函数类似,只不过是在结尾的时候进行,而且需要自己主动调用(构造函数不需要主动调用,由其定义可知)

  静态属性与静态方法:

     1)它们都是属于类的

    2)静态方法无须传入self参数,无法访问实例变量。

                什么是实例变量?

                在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。类的每个对象维护它自己的一份实例变量的副本。

    3)直接通过类名访问

    4)静态方法定义

类的继承:

  格式:

    class  类名(基类名):

 1 #这的确是一段值得研究的程序,在这里我只想提出:作为子类,既可以用自己名字,也可以用老爸的名字来调用对应的属性和方法
 2 #但是,如果子类有和父亲一样的名字的属性和方法,那么会替代,只能用父类自己的名字调用。
 3 class citizen:
 4     def __init__(self):
 5         citizen.IDCard=‘515611‘
 6         citizen.name=‘Naruto‘
 7         citizen.age=18
 8     def kk(self):
 9         print(citizen.IDCard,citizen.name,citizen.age)
10
11 class student(citizen):
12     def __init__(self):
13         student.number=‘123123‘
14         student.room=‘153‘
15         student.age=97
16     def kk(self):
17         #如何输出以前的值?依旧用citizen?还是用student?好像都可以。
18         print(citizen.IDCard,citizen.name,citizen.age,student.number,student.room,student.age)
19
20 # c=citizen()
21 # c.kk()
22 d=student()
23 d.kk()
24 # print(citizen.IDCard)
时间: 2024-08-24 11:39:53

Python面向对象程序设计第一弹的相关文章

python面向对象程序设计(类成员)第二节

python 面向对象程序设计(类成员) 目录: (1)        类成员和实例成员 (2)        公有成员和私有成员 (3)        方法 (一)类成员与实例成员: 实例属性属于实例(对象),只能通过对象名访问. 类属性属于类,类名或对象名都可以访问,属于类的数据成员是在类中所有方法之外定义的. class Car:     price = 1000   #类属性     def __init__(self,c):         self.color = c car1 =

面向对象程序设计第一单元总结

一.基于度量的程序结构分析 基于度量的程序结构分析,主要运用IntelliJ里面自带的Diagram功能生成类关系图,以及Metrics插件进行复杂度分析. 其中复杂度分析相关指标含义如下: Complexity Metrics(复杂度分析) 这部分我们需要使用的主要是方法和类的复杂度分析. 方法的复杂度分析主要基于循环复杂度的计算.循环复杂度是一种表示程序复杂度的软件度量,由程序流程图中的“基础路径”数量得来. ev(G):即Essentail Complexity,用来表示一个方法的结构化程

Python面向对象程序设计之抽象工厂模式之二-一个更加pythonic的抽象工厂

上一篇文章我们说到DiagramFactory和其SvgDiagramFactory子类以及它们使用到的类比如(Diagram,SvgDiagram等等),能够很好的实现预订的功能并且也符合抽象工厂的设计模式. 然而,我们的实现并非是非常完美的,至少还有以下几点不足: 1)我们并不需要保存每个工厂的状态,因此,在向create_diagram传递参数的时候,就没有必要传递工厂的实例. 2)SvgDiagramFactory的代码几乎和DiagramFactory完全一样,唯一的区别就在于其返回值

Python基础学习——第一弹

高级语言-------->字节码---------->机器码 低级语言-------->机器码 性能:高级<低级 高级语言的自动垃圾处理机制,方便,开发效率高. php类:快速搭建网站,适用于写网页,有局限性. python/C/java:人工智能. python/java:既能写页面,又能写后台功能. Java执行效率高于python,Java能做的事,python都能做,并且开发效率更高. 数据库才是程序执行速度的元凶. python种类: Jpython IronPython

03,Python网络爬虫第一弹《Python网络爬虫相关基础概念》

引入 为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的应用还是从就业上. 我们都知道,当前我们所处的时代是大数据的时代,在大数据时代,要进行数据分析,首先要有数据源,而学习爬虫,可以让我们获取更多的数据源,并且这些数据源可以按我们的目的进行采集. 优酷推出的火星情报局就是基于网络爬虫和数据分析制作完成的.其中每期的节目话题都是从相关热门的互动平台中进行相关数据的爬取,然后对爬取到的数据进行数据分析而得来的.另一

python面向对象的3个特点

封装 封装是从业务逻辑中抽象对象时,要赋予对象相关数据与操作,将一些数据和操作打包在一起的过程.封装是使用对象的主要魅力之一,它提供了一个简单方法来创建复杂方案,解决了世界是如何工作的这一问题,我们自然的认为周围的世界是由相互作用的对象组成,每个对象都有自己相关的数据,并能完成一定的功能,从设计的角度来看,封装还提供了一个重要的服务,它分开了是什么和怎么做这两个问题.对象的实现与使用是相互独立的,封装的另外一个优势是支持代码复用,它可以将常用功能以组件方式打包起来.        当程序处理对象

Python学习第一弹——Python环境搭建

一.Python简介: Python,是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.Python语法简洁而清晰,具有丰富和强大的类库.它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起.常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用

Python基础(16)_面向对象程序设计(类、继承、派生、组合、接口)

一.面向过程程序设计与面向对象程序设计 面向过程的程序设计:核心是过程,过程就解决问题的步骤,基于该思想设计程序就像是在设计一条流水线,是一种机械式的思维方式 优点:复杂的问题的简单化,流程化 缺点:扩展性差 面向对象的程序设计:核心是对象,对象是特征(变量)与技能(函数)的结合体,是一种上帝式的思维方式 优点:解决了程序的扩展性 缺点:可控性差 二.类和对象 以游戏举例,基于面向对象设计一个款游戏:英雄联盟,每个玩家选一个英雄,每个英雄都有自己的特征和和技能,特征即数据属性,技能即方法属性,特

赵栋 201771010137 《面向对象程序设计(java)》第一周学习总结

<面向对象程序设计(java)>第一周学习总结第一部分:课程准备部分 平台名称 注册账号 博客园:www.cnblogs.com/ https://www.cnblogs.com/zd0421/ 程序设计评测:https://pintia.cn/ [email protected] 代码托管平台:https://github.com/ STPPKJ 中国大学MOOC:https://www.icourse163.org/ 17393165076 以下回答是或否 是否加入课程班级博客群 是 是否