zoukankan      html  css  js  c++  java
  • Python-一切皆对象

    Python 动态、灵活根本是什么?

      Python中一切皆对象,面向对象更加彻底,函数、类也是对象,属于一等公民

    一等公民特性

      1. 可以赋值给一个变量

    def name(name="北门吹雪"):
        print(name)
    
    
    new_name = name
    new_name()

      2. 可以添加到集合对象中

    def name(name="北门吹雪"):
        print(name)
    
    
    def blog(blog="http://www.cnblogs.com/2bjiujiu/"):
        print(blog)
    
    
    funcs = list()
    funcs.append(name)
    funcs.append(blog)
    
    for func in funcs:
        func()

      3. 可以作为参数传递给函数

    def ask_name(name):
        name()
    
    
    def name(name="beimenchuixue"):
        print(name)
    
    
    ask_name(name)

      4. 可以当作函数返回值,装饰器实现原理

    def ask_name(name):
        return name
    
    
    def name(name="beimenchuixue"):
        print(name)
    
    
    hai = ask_name(name)
    hai()
    

    type object class 之间的关系

        

      从继承角度来说,class(list str dict tuple ...)继承 object, type也继承 object

    # 继承关系
    # str 类型继承 object类
    print(str.__bases__)
    # type 类型进程 object类
    print(type.__bases__)
    # object类继承 ()
    print(object.__bases__)

      从实例角度来说,"abc" 是 str类型的实例, str又是type类型的实例, object是 type的实例, type是type自身的实例

    name = "beimenchuixue"
    
    # object class type 实例关系
    # name 是 str 实例
    print(type(name))
    # str 是 type实例
    print(type(str))
    # object是type实例
    print(type(object))
    # type是自己的实例
    print(type(type))

      type > class > object

      object是由class类型构建, class由type类型构建

      

      object类是顶层基类,所有类的基类,type也要继承这个类

      type是一个类,同时也是对象,继承 object类,把自己变成自己的对象,从而实现Python中一切皆对象

      

      获取变量由什么类型构建的   type()

      获取类型的基类       __bases__

      object基类是         ()

      class的基类是        object

      type的基类是         object

    Python 常见的内置类型

      a. 对象

        1. 身份    id()

        2. 类型    type()

        3. 值     对应类型封装这个值

      b. 数值      int float complex bool

      c. None(全局唯一只有一个)    NoneType类型

      d. 迭代

      e. 序列      list tuple str range

      f. 映射       dict

      g. 集合      set frozeset

      h. 上下文管理   with

      i. 其他类型

        1. 模块

        2. class和实例

        3. 函数

        4. 方法

        5. 代码

        6. object对象

        7. type

  • 相关阅读:
    JSON
    vue中跳转页面逻辑
    生命周期的几个阶段
    vue学习大纲
    Vue留言 checked框案列
    Vue内容
    linux -- iptables
    linux --- DNS
    linux --- samba
    linux --- vsftp
  • 原文地址:https://www.cnblogs.com/2bjiujiu/p/9063015.html
Copyright © 2011-2022 走看看