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

Python-一切皆对象的更多相关文章

  1. python 进阶读书笔记1 -- 理解python一切皆对象

    理解python一切皆对象: 1.所有的类都是由type创建的 2.所有的类的基类都是object 3.type是类,也是实例,type的基类是object,type对象是由type创建的 4.obj ...

  2. Python小世界:彻底搞懂Python一切皆对象!!!

    前言 犹记得当初学习Python的时候,对于Python一切皆对象很是懵逼,因为Python是面向对象的动态型语言,而在函数及高阶函数的应用中,如若对于一切皆对象不是有很透彻的了解,基础不是那么牢固的 ...

  3. Python高级编程-Python一切皆对象

    Python高级编程-Python一切皆对象 Python3高级核心技术97讲 笔记 1. Python一切皆对象 1.1 函数和类也是对象,属于Python的一等公民 ""&qu ...

  4. Python一切皆对象

    Python从设计之初就是一门面向对象的语言,它有一个重要的概念,即一切皆对象. Java虽然也是面向对象编程的语言,但是血统没有Python纯正.比如Java的八种基本数据类型之一int,在持久化的 ...

  5. python一切皆对象的理解

    min_error=pls(x_train, x_test, y_train, y_test) #这里我之前写的是error,但是前面有一个定义的error函数.所以导致出现了警告. 可能是因为pyt ...

  6. 对Python"一切皆对象"的小参悟

    写在前面 若有误区请大神不吝指正,以免带偏了如我者的弱鸡们 据闻对此不再懵逼后,于函数以及高阶函数编程的进阶有益 类:又称对象,由类创建的个体被称为实例 名言名句"一切皆对象(一切皆类,一切 ...

  7. 关于 python 一切皆对象的实际理解

    1 关于type type 函数可以查看一个对象的类 type 类是一切类型的模版 In [2]: type(1) Out[2]: int In [3]: type(int) Out[3]: type ...

  8. python 引用和对象理解

    今天浏览博客的时候看到这么一句话: python中变量名和对象是分离的:最开始的时候是看到这句话的时候没有反应过来.决定具体搞清楚一下python中变量与对象之间的细节.(其实我感觉应该说 引用和对象 ...

  9. Python深入03 对象的属性

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python一切皆对象(object),每个对象都可能有多个属性(attribut ...

  10. 举例子来说明Python引用和对象

    今天看到这么一句奇怪的话: python中变量名和对象是分离的:最开始的时候是看到这句话的时候没有反应过来.决定具体搞清楚一下python中变量与对象之间的细节.(其实我感觉应该说 引用和对象分离 更 ...

随机推荐

  1. 04.简单了解一下Redis企业级数据备份方案

    一.企业级的持久化的配置策略 (1)每隔1分钟去检查如果超过10000个可以变更,则生成一个快照.RDB最多丢1分钟的数据. save 60 10000 (2)AOF一定要打开,fsync,every ...

  2. WebApi之DOM的基本介绍

    1.1.1 什么是DOM ​ 文档对象模型(Document Object Model,简称DOM),是 W3C 组织推荐的处理可扩展标记语言(html或者xhtml)的标准编程接口. ​ W3C 已 ...

  3. 项目介入EF Core

    目前.Net主流的ORM有SqlSugar.Entity Framework.Dapper,其它的我就不列举了.其实和Java那边ibatis相比,他们都比较轻量.之前用ibatis开发,真的很麻烦, ...

  4. PageObject六大原则

    The public methods represent the services that the page offers 公共方法表示页面提供的服务 Try not to expose the i ...

  5. Q200510-03-03 :LRU缓存机制

    LRU缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制.它应该支持以下操作: 获取数据 get 和 写入数据 put . 获取数据 get(key) - 如果密钥 ( ...

  6. core的 Linq基本使用,简单模拟数据库多表的左右内连接的测试

    1:先看效果: 2:部分代码截图 3:全部代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 n ...

  7. [程序员代码面试指南]二叉树问题-找到二叉树中的最大搜索二叉树(树形dp)

    题意 给定一颗二叉树的头节点,已知所有节点的值都不一样,找到含有节点最多的搜索二叉子树,并返回这个树的头节点. 题解 在后序遍历过程中实现. 求解步骤按树形dp中所列步骤.可能性三种:左子树最大.右子 ...

  8. js动画之轮播图

    一. 使用Css3动画实现 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  9. 理解Java中的final关键字

    final关键字的基本用法 1. 修饰类 出于安全考虑,类无法被继承 2. 修饰方法 防止继承类修改方法private方法会隐式指定为final方法: 3. 修饰变量 基本数据类型,初始化后不能再修改 ...

  10. spring boot之支持http和https并行(http不跳转)

    首先需要去做个证书 yml配置文件中设置的是https监听端口 server: port: 10007 tomcat: basedir: /data/apps/temp #配置SSL ssl: key ...