zoukankan      html  css  js  c++  java
  • 面向对象 名称空间 类与对象

    面向对象

    核心体现:将数据和处理数据的程序封装到对象中

    Python:面向对象的语言
    Python 用面向过程与面向对象两种方式解决问题

    函数与方法:解决问题的功能
    函数(属性):通过函数名直接调用
    方法:通过附属者.语法调用

     

    名称空间操作

    拥有名称空间的对象:有__dict__属性,该属性是指向对象的名称空间
    能产生名称空间的对象:文件 | 函数 | 类 | 包(__init__.py文件)
    可以为__dict__属性添加值,简化为.语法,也可以对__dict__整体赋值一个字典

    import re
    print(re.__dict__)
    
    re.__dict__['name'] = 're模块'
    print(re.__dict__['name'])
    
    re.__dict__['action'] = lambda x: x
    print(re.__dict__['action'](1000))
    
    
    def fn():
        pass
    print(fn.__dict__)
    
    fn.name = 'fn函数'
    print(fn.name)
    
    def test():
        print("可以成为fn功能的函数")
    fn.action = test
    fn.action()

    类与对象的概念

      -- 类是抽象的,不是真实存在:具有相同特征(属性)和行为(方法)个体的集合的抽象
        -- 对象具象的,是真实存在的:具有特征与行为的实际个体(类的实际体现:实例化)

      区别:两个人同时思考一个名字,想到的一定是同一个物体,就一定是对象,反之一定是类

    语法

    类会随所属文件加载而加载(执行内部所有代码),形成类的名称空间

    1.每个实例化出来的对象及类都有自己的名称空间
    2.类与对象都可以通过.语法来拓展新功能
    3.提前在类中定义的属性与方法,在对象一产生就可以使用这些属性和方法
    4.对象查找属性的顺序:先找自身的,如果没有找类的(只有访问权没有修改权

    # 类的声明:
    class 类名:  # class定义类语法的关键字
        pass
    
    
    # 对象的产生: 对象的实例化
    对象1 = 类名()
    对象2 = 类名()
    对象3 = 类名()

     

    对象查找属性的顺序

    优先加载自身的名字,如果没有再考虑类的

    class People:
        # 类自带(不同在外界额外添加)的属性与方法(初始设置)
        identify = '人类'
        def sleep(self):
            print('睡觉')
        
        
    p1 = People()
    p2 = People()
    
    p1.identify = '新人类'
    print(p1.identify)   # 访问自己的
    p1.__dict__.clear()  # 删除自己的
    print(p1.identify)   # 访问类的
    
    print(p2.identify)   # p2没有自己的,访问类的

    什么是类?你觉得类最重要的部分是什么? 
       1.一系列属性和方法的集合体(一个类就是一个功能)
       2.类的继承与封装
          对象属性和方法查找
          反射

  • 相关阅读:
    指针数组/数组指针
    hdu 5053 the Sum of Cube(上海网络赛)
    Archlinux YouCompleteMe+syntastic vim自己主动补全插件,显示缩进和状态栏美化,爽心悦目的vim
    sgu139Help Needed!推断15数码是否有解,以及推断N数码是否有解的推论
    hdu 4932 Miaomiao's Geometry(暴力)
    Theano学习笔记(一)——代数
    Tomcat全攻略
    send,recv,sendto,recvfrom
    git合并远端分支到本地分支的两种方式
    php实现记忆化递归--以斐波那契数列为例(还是以边学边做为主,注重练习)
  • 原文地址:https://www.cnblogs.com/zhouyongv5/p/10725600.html
Copyright © 2011-2022 走看看