python之路---16 初识面向对象

三十五.初识面向对象

  一 .面向对象和面向过程比较

    ①面向过程:一切以事物的发展流程为核心

           优点:负责的问题流程化,编写相对简单

         缺点:可扩展性差

    ②面向对象:一切以对象为中心. 一切皆为对象.

          具体的某一个事务就是对象

         优点:可扩展性强

         缺点:编程的复杂度高于面向过程

  二.类和对象

    ①类:就是图纸,创建对象的第一步

        对象:通过类造出来的具体事物,

    ②基本格式

    class  类名:            #创建类    类名用驼峰格式

      def __init__(self,参数):         # self当前类的对象,参数一般作为属性

        self.属性 = 值

        self.属性 = 值  

      def 方法(self , 参数)                   #即函数

        方法体(函数体,return)

    变量 = 类名()       #创建对象

    变量.属性           #访问对象的属性信息

    变量.方法()      #访问类中的方法

  三.3大特征     ( 封装, 继承, 多态.)

  ①封装   1.对属性的封装  2.对方法和功能的封装 3.模块和包

  ②继承 : ?类可以?动拥有?类中除了私有属性外的其他所有内容.

          对父类进行扩展

      当出现xxx是一种yyy类型的东西. 可以使用继承关系

      父类的对象不能执行子类中的功能

      类中的方法的查询顺序. 先找自己, 然后再找父类

    1.基本格式

    2.支持多继承

  ③多态    同一个对象,多种形态

        (鸭子模型, 只要会嘎嘎叫就是好鸭子,有超强的可扩展性)

原文地址:https://www.cnblogs.com/amirky/p/10211575.html

时间: 2024-10-13 01:51:49

python之路---16 初识面向对象的相关文章

Python之路,Day7 - 面向对象编程进阶

本节内容 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业开发一个支持多用户在线的FTP程序 面向对象高级语法部分 静态方法 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法什么是静态方法呢其实不难理解普通的方法可以在实例化后直接调用并且在方法里可以通过self.调用实例变量或类变量但静态方法是不可以访问实例变量或类变量的一个不能访问实例变量和类变量的方法其实相当于跟类本身已经没什么关系了它与类唯一的关联就是需要通过

python 之路7 初学面向对象 以及 文件配置模块

1.基本的读取配置文件 -read(filename) 直接读取ini文件内容 -sections() 得到所有的section,并以列表的形式返回 -options(section) 得到该section的所有option -items(section) 得到该section的所有键值对 -get(section,option) 得到section中option的值,返回为string类型 -getint(section,option) 得到section中option的值,返回为int类型,

Python之路,Day8 - 面向对象编程进阶

本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 经典类vs新式类 把下面代码用python2 和python3都执行一下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #_*_coding:utf-8_*_ class A:     def __init__(self):

【python之路34】面向对象作业之学生选课系统

一.需求: 1.可以注册管理员账号,管理员账号可以创建老师和课程 2.学生可以注册和登陆,学生可以从课程列表选课,可以进行上课登记查看 二.代码 1.文件目录 bin 存放可执行文件 config 存放可配置文件 db 存放数据文件 lib 存放实现类 目录结构如图: 2.admin.py 中的代码 #!usr/bin/env python # -*- coding:utf-8 -*- """admin注册登录,以及用admin账号创建老师和课程""&qu

【python之路16】作业

#!usr/bin/env python # -*- coding:utf-8 -*- # 数据库中原有 old_dict = { "#1": {'hostname': 'c1', 'cpu_count': 2, 'mem_capicity': 80}, "#2": {'hostname': 'c1', 'cpu_count': 2, 'mem_capicity': 80}, "#3": {'hostname': 'c1', 'cpu_count

Python之路 day2 初识字典

1 #Author:ersa 2 ''' 3 key-value 键值对 4 字典是无序的,不需要下标,有key 5 字典的查找.修改.添加.判断.删除 6 ''' 7 8 info = { 9 'stu1101': "TengLan Wu", 10 'stu1102': "LongZe Luola", 11 'stu1103': "XiaoZe Maliya", 12 } 13 14 #输出 15 print("输出所有的key&qu

8、python全栈之路-初识面向对象

八.初识面向对象 http://www.cnblogs.com/Eva-J/articles/7293890.html#_label1 1.楔子 #面向对象编程 #面向对象的思想 #对象就是一个实实在在的,可以准确描述出来的实体,比如说egg,alex #面向对象的编程是一种上帝视角的切换 #之前你使用的面向过程的编程是面向结果去编程,一个流水线下来有固定的结果 #好想  可扩展性差 容易引起代码的安全问题 #面向对象 #类:具有相同属性和方法的一类事物 #对象:具有具体的属性的事物 2.初识类

Python之路【第五篇】:面向对象和相关

Python之路[第五篇]:面向对象及相关 面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 1 2 3 4 5 6 class Foo(object):     pass obj = Foo() isinstance(obj, Foo) 二.issubclass(sub, super) 检查sub类是否是 super 类的派生类 1 2 3 4 5 6 7 class F

数学之路-python计算实战(16)-机器视觉-滤波去噪(邻域平均法滤波)

# -*- coding: utf-8 -*- #code:[email protected] #邻域平均法滤波,半径为2 import cv2 import numpy as np fn="test3.jpg" myimg=cv2.imread(fn) img=cv2.cvtColor(myimg,cv2.COLOR_BGR2GRAY) #加上椒盐噪声 param=20 #灰阶范围 w=img.shape[1] h=img.shape[0] newimg=np.array(img)