[python面向对象]--基础篇

1.#类
    #类就是一个模板,模板里可以包含多个函数,函数里实现一些功能
    #定义一个类
    class bar:
        def foo(self,agr):
            print(self,agr)
    obj = bar()
    print(obj)
    print(obj.foo("调用类的方法"))
2.#方法
    #把函数写在类里就是方法
    #构造方法
    #普通方法
        class person:
            def __init__(self,name,age):
                #构造方法的特性,调用   类名() 后,自动执行构造方法
                #self 谁调用类,谁就是self
                self.n = name
                self.a = age
                self.xue = 0
            def show(self):   #普通方法
                print("%s--%s"%(self.n,self.a))
        obj = person("haha",20)

        obj.show()
3.#面向对象三大特性之一:封装
    class bar:
        def __init__(self,n,a):
            self.name = n
            self.age = a
            self.xun = 0
    b1 = bar("zhangw",11)
    b2 = bar("haha",31)
4.#面向对象三大特性之二:继承
    #self永远是执行该方法的调用者
    #继承
    class 父类:
        pass
    class 子类(父类):
        pass
    #子类可以调用父类的方法
    #如果子类中有和父类一样的方法名,则优先调用自己的,也就是重写
    #重写,防止执行父类的方法
    #重写后,如果想要执行父类的方法
        1.#super(子类,self).父类中的方法()
        2.#父类名,父类中的方法(self,...)

    #python中支持多继承
        #原则
            #1.左侧优先,这里的左侧指的是调用的时候,比如:class zilei(fulei1,fulei2),fulei1 优先
            #2.左侧找完再找右侧
            #3。如果左右两侧最后汇聚到同一个根,则最后找根

5.#面向对象三大特性之三:多态
    #原生多态,“鸭子类型”
        #当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子
    class F1:
        pass
    class S1(F1):
        def show(self):
            print(S1.show)
    class S2(F1):
        def show(self):
            print(S2.show)
    def Func(obj):
        print(obj.show())
    s1_obj = S1()
    Func(s1_obj)
    s2_obj = S2()
    Func(s2_obj)

6.#类成员
    #字段
        #普通字段,保存在对象中,只能通过对象访问
        #静态字段,保存在类中,可以用个类,或者对象访问
    #方法
        #普通方法,保存在类中,由对象直接调用,self = > 对象
        #静态方法,保存在类中,由类直接调用
        #类方法,保存在类中,由类直接调用cls = >当前类
    class province:
        country = "中国"
        def __init__(self,name):
            self.name = name
        @staticmethod   #静态方法
        def jingtai():
            print("我是静态方法,不需要对象")
        @classmethod   #类方法
        def classmd(cls):
            print(cls)
            print("haha")
    print(province.country)
    hebei = province("河北")
    print(hebei.name)

    province.jingtai()
    province.classmd()

    #属性,特性
        #@property
    # 由属性的定义和调用要注意一下几点:
    # 定义时,在普通方法的基础上添加 @property 装饰器;
    # 定义时,属性仅有一个self参数
    # 调用时,无需括号
        # 方法:foo_obj.func()
        #属性:foo_obj.prop
    # ############### 定义属性 ###############
    class Goods(object):
        @property
        def price(self):
            print(property)
        @price.setter
        def price(self, val):
            print(val)
        @price.deleter
        def price(self):
            print(666)
    # ############### 调用 ###############
    #obj = Goods()
    #obj.price          # 自动执行 @property 修饰的 price 方法,并获取方法的返回值
    #obj.price = 123    # 自动执行 @price.setter 修饰的 price 方法,并将  123 赋值给方法的参数
    #del obj.price      # 自动执行 @price.deleter 修饰的 price 方法
时间: 2024-08-27 06:27:22

[python面向对象]--基础篇的相关文章

十六、python面向对象基础篇

面向对象基础: 在了解面向对象之前,先了解下变成范式: 编程范式是一类典型的编程风格,是一种方法学 编程范式决定了程序员对程序执行的看法 oop中,程序是一系列对象的相互作用 python支持多种编程范式,面向过程,面向对象,面向切面(装饰器部分)等 -------------------------------------------------------------------- -------------------------------------------------------

问道python之基础篇【一】 认识python

问道python之基础篇[一] 认识python 1.python的简介 1.1.什么是python? Python是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. Python语法简洁清晰,特色之一是强制用空白符作为语句缩进. Python具有丰富和强大的库.它常被昵称为胶水语言,能够用其他语言制作的各种模块(尤其是C++)很轻松地联结在一起. 1.2.python的特点 简单,易学,免费.开源,高层语言,移植性,

问道python之基础篇【二】python入门

问道python之基础篇[二] Python入门 1.python的工作过程 python解释器把源代码转换为字节码的中间形式,然后再把它翻译成机器使用的机器语言并运行. 2.pyc文件 2.1.什么是pyc文件 执行python代码时,如果导入了其他的.py文件,那么在执行过程中会自动生成一个与其同名的.pyc文件,该文件就是python解释器编译之后产生的字节码. ps:代码经过编译可以产生字节码:字节码通过反编译也可以得到代码. Pyc文件一般由3个部分组成: 最开始4个字节是一个Maig

Python学习基础篇第一篇——快速入门(适合初学者)

一.Python学习基础篇第一篇--(快速入门) 建议从Python2.7开始学习,Python2.7可以支持扩展大量的第三方类库,是目前比较成熟的版本 编写代码的软件推荐将python自带的IDLE和PyCharm集成IDE结合起来使用 1.1 Python命令行 Python命令行将以 >>> 开始,比如 >>>print 'Hello World!' 对于验证简单的命令可以在python自带的IDLE中完成  1.2 在Python自带的IDLE写一段小程序 在所

python 面向对象 进阶篇

在上篇<python面向对象>中,简单介绍了python中面向对象的基本知识 在这篇博客中,详细介绍python类的成员,成员修饰符,类的特殊成员. 类的成员 类的成员分为三种:字段,方法和属性 所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的多少,在内存中只创建一份. 字段 字段包括普通字段和静态字段.静态字段,保存在类中.普通字段,保存在对象中. class FOO: country = “中国

python面向对象基础

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

python 面向对象初级篇

Python 面向对象(初级篇) 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发"更快更好更强-" 面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,即:将之前实现的代码块复制到现需功能处. Python while True: if cpu利用率 > 90%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 if 硬盘

Python 面向对象基础知识

面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass # obj是对象,实例化的过程 obj = 类() obj.函数1() ========== 面向对象不好 ============ ========== 函数编程好 ============== - 有时候,函数编程能实现?比较麻烦. - 面向对象非常的简单就能实现. 3.什么时候适用面向对象?

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

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