Python 面向对象基础知识

面向对象基础知识

1.什么是面向对象编程?

- 以前使用函数

- 类 + 对象

2.什么是类什么是对象,又有什么关系?

class 类:
  def 函数1():
    pass
  def 函数2():
    pass

# obj是对象,实例化的过程
obj = 类()
obj.函数1()

========== 面向对象不好 ============

========== 函数编程好 ==============

- 有时候,函数编程能实现?比较麻烦。

- 面向对象非常的简单就能实现。

3.什么时候适用面向对象?

- 1.当多个函数有公共的参数的时候

- 2.根据一个模板创建某些东西

- 3.链接服务器,执行命令,关闭

注:面向对象,可以进行更多的修改需求修改。

4.self就是调用当前方法的对象。

- 函数(方法)保存在类里面。

- 字段保存在对象内存下。

5.静态字段的使用场景。

- 创建的每一个字段都有共同的值,就可以设置为静态字段。

成员属性

class Foo:

  def __init__(self,name):

    #普通字段,属性

    self.NAME = name

    self.Country = "中国"

全局属性

class Foo:

  #静态字段,公有属性

  Country = "中国"

  def __init__(self,name):

    self.NAME = name

6.面向对象三大特性,继承,封装,多态。

封装:

- 类中封装:字段,方法

- 对象中封装了:普通字段的值

例子

class F1:

  def __init__(self,n):

    self.N = n

    print(‘F1‘)

class F2:

  def __init__(self,arg1):

    self.a = arg1

    print(‘F2‘)

class F3:

  def __init__(self,arg2):

    self.b = arg2

    print(‘F3‘)

o1 = F1(‘alex‘)

o2 = F2(o1)

o3 = F3(o2)

########### 输出Alex:o3.b.a.N###########

#o1 = F1(‘alex‘)

#o2 = F2(o1)

#o3 = F3(o2)

#print(o3.b.a.N)

#执行结果

#alex

#注: o3包含o2包含o1包含N赋值alex。

继承:

例子:

求出结果:对应继承。

class F1:

   def __init__(self):

      print(‘F1‘)

    def a1(self):

        print(‘F1a1‘)

    def a2(self):

        print(‘F1a2‘)

class F2(F1):

    def __init__(self):

        print(‘F2‘)

    def a1(self):

        print(‘F2a1‘)

    def a2(self):

        self.a2()

        print(‘F2a2‘)

class F3(F2):

    def __init__(self):

        print(‘F3‘)

# def a1(self):

# print(‘F3a1‘)

def a2(self):

    print(‘F3a1‘)

obj = F3()

obj.a1()                        

多态:

- python:默认支持多态,没有类型限制

- 多态:多种形态。

7.字段与方法

字段:

普通字段(保存在对象中)

静态字段(保存在类中)

方法:

普通方法(保存在类中,调用者对象,至少有一个self参数)

class F1:

    ...

    def a1(self):

        print(self.name)

obj = F1()

obj.a1 = a1()

# 注:obj 对象内存没有存入数据,会占用内存。    

静态方法(保存在类中,调用者类,无需创建对象,可以有任意个参数):

class F1:

    @staticmethod

    def a1():

        print(self.name)

F1.a1()

# 注:相当于函数 @staticmethod。
时间: 2024-10-14 22:34:01

Python 面向对象基础知识的相关文章

Python面向对象基础知识

单下划线.双下划线.头尾双下划线说明: __foo__: 定义的是特殊方法,一般是系统定义名字 ,类似 __init__() 之类的. _foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import * __foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了.

Python入门基础知识实例,值得收藏!

7月的编程语言指数榜已经发布,Python 在今年5月首次超越 Java 拿下榜首位置后,仍保持上涨趋势,正逐渐与 Java 拉开差距.(图为与去年 7 月数据对比) 上周为大家简单介绍了如何安装Python和配置环境?相信大家都将Python安装成功了吧~今天小白就为大家分享一些Python的基础知识,希望大家都能快速入门Python~ 1.在Python 语言中,对象是通过引用传递的. 在赋值时,不管这个对象是新创建的,还是一个已经存在的,都是将该对象的引用(并不是值)赋值给变量. 如:x=

VII python(1)基础知识

VII Python(1)基础知识 1989年诞生(同LinuxOS),google推崇,06年后才开始在中国流行,08年运维开始使用python www.python.org(主流OS默认配的python为2.6或2.7,最好在Ubuntu12.10上使用python,对于开发很方便,否则会浪费很多时间在装某一软件包) https://www.python.org/ftp/python/ Python(简单.容易上手.语法非常简明,任何功能都可实现:胶水语言,粘合剂,能与任何语言结合起来(如j

PHP中oop面向对象基础知识(一)

                                                                                    OOP 基础知识汇总(一) >>>你需要了解以下概念面向对象&面向过程概念:  面向过程:专注于解决一个问题的过程.面向过程的最大特点,是由一个一个的函数去解决处理这个问题的一系列过程.  面向对象:专注于由哪个对象来处理一个问题.面向对象的最大特点,是有一个个具有属性和功能的类,从类中拿到对象,进而处理问题. [

python——面向对象基础

概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发"更快更好更强..." 面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,即:将之前实现的代码块复制到现需功能处. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 while True:     if cpu利用率 > 90%:     

python面向对象基础

面向对象基础 1. 简述 编程方式: 面向过程: 根据代码在脚本的堆叠顺序,从上到下依次执行 函数式编程:将相同功能的代码封装到函数中,直接调用即可,减少代码重复性 面向对象:对函数进行分类和封装,将同类的函数放到一个类中,使调用更简单 为嘛要面向对象 应用需求 要的对系统的cpu.内存.硬盘等进行监控,超过阈值则告警 while True:    if cpu利用率 > 90%:        #发送邮件提醒        连接邮箱服务器        发送邮件        关闭连接    

《大话设计模式》笔记-基础知识2:面向对象基础知识

本书作者介绍每一种设计模式就是用类图(用的UML类图,其基础知识另文介绍)+面向对象语言小程序+人物对话解释知识点.本文就是介绍<大话设计模式>中所用到面向对象的基础知识(基于C#语言),方便阅读本书代码. 类与实例 (1)对象 一切事物皆为对象,对象就是看到.感觉到.听到.摸到等实实在在的东西.准确地说,对象是一个自包含的实体,用一组可识别的特性和行为来标识.面向对象编程,就是针对对象来进行编程的. (2)类 类就是具有相同的属性和功能的对象的抽象的集合.例子如下 "class&q

Python爬虫基础知识及前期准备

学习爬虫有一小段时间了,于是决定把自己学爬虫时所学的,写过的代码以及看过的文档记录下来,权当小结.第一次写这些,如果有错误,请多指教. 首先我们需要了解一下什么是爬虫. 根据百度百科上给出的定义," 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本."简单来说,爬虫类似手动下载网页信息,比如小说.歌曲.说到这,或许会有疑问,既然这样,干嘛还去敲代码,直接人工处理不好吗?话是这么说,但如果下载的

python 面向对象基础和高级复习

面向对象基础 面向对象编程 面向过程编程:类似于工厂的流水线 优点:逻辑清晰 缺点:扩展性差 面向对象编程:核心是对象二字,对象属性和方法的集合体,面向对象编程就是一堆对象交互 优点:扩展性强 缺点:逻辑非常复杂 类与对象 对象:属性和方法的集合体 类:一系列相同属性和方法的集合体 现实世界中先有对象后有类,python中先有类,再实例化出对象 对象的属性的查找顺序 先对象本身-->类-->父类-->父类的父类-->object-->自己定制的元类-->type 给对象