python_day6_对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python_day6_对象相关的知识,希望对你有一定的参考价值。

6.1: 类与对象实例

    

python是一门面向对象编程语言,其中编程方式分为三种范式:

1、面向过程编程

2、函数式编程

    分为两种:数学层次的编程与python函数式编程

3、面向对象编程

    对象是由类产生的具体存在


6.1: 类与对象

    什么是类:

        类:把一类事物的相同的特征和动作整合到一起就是类,类是一个抽象的概念

    什么是对象:

        对象:就是基于类而创建的一个具体的事物(具体存在的),也是特征和动作整合到一起。


    面向对象设计: 把一类事物的相同的数据和动作整合到一起,即是面向对象设计

        def Botany(name,variety,type):
            # 特征,名称,品种,类型
            def init(name,variety,type):
                Bot = {
                    'Name':name,
                    'variety':variety,
                    'type':type,
                    'see':see
                }
                return Bot
            # 动作,查看一下它
            def see(Botany):
                print('这是一朵 %s花' %Botany['Name'])

            return init(name,variety,type)

        fy=Botany('玫瑰','花','观赏类')
        print(fy)
        fy['see'](fy)

        结果:
            {'Name': '玫瑰', 'variety': '花', 'type': '观赏类', 'see': <function Botany.<locals>.see at 0x00000000027CF840>}
            这是一朵 玫瑰花

    面向对象编程: 用定义类+实例/对象的方式去实现面向对象的设计


    类:

        class 类名:           经典类

            pass


        class 类名(object):   新式类

            pass


            # 在python3中,上述两种定义方式全都是新式类


        class.__dict__   查看类的属性字典


        class te1:
            def __init__(self,name):
                self.name = name

            def play_tv(self):
                print('%s 正在看电视'%self.name)
                
        def in_name():
            name=input('请输入名称: ')           # 类的每个功能体都必须放开,init也可以定义,init建议只存放字典类数据
            p1=te1(name)
            p1.play_tv()

        in_name()

        结果:

    请输入名称: xx
    xx 正在看电视

  

        # hu = 'xa'
        class te1:
            hu = 'yy_hu'
            def __init__(self,name):
                self.name = name
                # 执行带.的都是执行类里面的函数,如果不带.那么它会直接执行 类 外的函数
                print('>>>>>>>>>:%s'%hu)            # 全局函数hu不加注释的时候 返回结果>>>>>>>>>:hu
                print('>>>>>>>>>:%s'%te1.hu)        # 返回结果>>>>>>>>>:yy_hu

        p1=te1('xi')

    实例:指的是类生成的某个对象,调用 __init__ 的过程

        实例应当具备类的特征以及数据属性

        实例没有函数属性, 函数属性只属于类


        实例只建议使用查,不建议修改或增加函数。

        # 创建一个类

        class te1:
            # 创建构造方法
            def __init__(self,name,age,gender):
                self.name = name
                self.age = age
                self.gender = gender

        huan=te1('huan',111,'man')

        # 查看类的字典
        print(huan.__dict__)    # {'name': 'huan', 'age': 111, 'gender': 'man'}

        # 修改
        huan.age='222'
        print(huan.age)         # 222

        # 增加一个键值对
        huan.__dict__['hu']='test'  
        print(huan.__dict__)            # {'name': 'huan', 'age': '222', 'gender': 'man', 'hu': 'test'}

        # 删除
        del huan.age
        print(huan.__dict__)    # {'name': 'huan', 'gender': 'man'}


以上是关于python_day6_对象的主要内容,如果未能解决你的问题,请参考以下文章

学习python_day6

Python_Day7_面向对象学习

python_day6_其他模块

python_day6

python_day8 面向对象常用 补充

python_day6_re模块补充