SlideShare uma empresa Scribd logo
1 de 7
Baixar para ler offline
Qml matplotlib python
       从动态说开去
           乱弹乱弹 碎戏碎戏
            一年多来的碎碎念
                   罗进
Qml 继WPF,Flex后Qt家的新人(Meego UI)
• 类js语法,动态加载执行,即时编译JavaScriptCore(Qt WebKit)
• 与Qt C++无缝集成
 c++:
  class Watch: … …
  QDeclarativeView view;
  view.rootContext()->setContextProperty("watch", new Watch);
 qml:wach.xxx()
• 只有10M size
• 依赖Qt的动态特性:
• 反射(c++的扩充),
• 垃圾收集(引用计数)
• 将来与HTML5互通
• 挂接V8
Matplotlib 开源版的matlib
• 根植在numpy、scipy的数据结构+算法上
• 贴心在ipython的交互上
• 震撼在plot的绚丽、多样性上

• 动态在解释与交互上,ipython与plot的双簧
• 动态在复杂运算的性能上,矩阵、傅立叶变换、插值逼近
• 在科学计算方面python这边独领风骚
Python 的动态
• 内省、反射、元数据
• 基于字典的架构
• 命名空间
• 全局、本地函数
• 多态的虚函数
• 运行时重构,不停机进化。
• Import this 隐藏的python价值观
• 其简单优美的哲学被接受,才有了无处不在的第三方库。
• 系统编程、图形处理、科学计算、文本处理、数据库、网络编程
价值观的继承
• 对UNIX哲学对简单与透明等的认同
• 简单胜过复杂 KISS
 •   没有public、protected等
 •   缩进,
     缩进,decorator,with、yield
 •   无隐藏的__内部函数__,sys._getframe()内心表白
 •   数据驱动代替逻辑
• 显式优于隐式 透明
          参数。反例:
 • OO的self参数。反例:numpy中ndarray与metrix
• Unix Shell cmd Façade:wget   Simple:yes
别执著(只是一种工具),放眼看



       我仰望群山的苍老,他们不说一句话。
       阳光描出我的渺小,小草在我的脚下。
       我一人停步在路隅,倾听空谷的松籁。
       青天里有白云盘踞,转眼间忽又不在。
Xi’an py   给力跨年
爱




                  1+1 > 2
好
工
作                     的
的
编                     经
程                     验
人                     交
生                     流

Mais conteúdo relacionado

Mais de gowell (7)

Logging develop
Logging developLogging develop
Logging develop
 
Logging introduce
Logging introduceLogging introduce
Logging introduce
 
Script meta
Script metaScript meta
Script meta
 
Script binding
Script bindingScript binding
Script binding
 
使用Lua提高开发效率
使用Lua提高开发效率使用Lua提高开发效率
使用Lua提高开发效率
 
Casing3d opengl
Casing3d openglCasing3d opengl
Casing3d opengl
 
Pytables
PytablesPytables
Pytables
 

从动态说开去

  • 1. Qml matplotlib python 从动态说开去 乱弹乱弹 碎戏碎戏 一年多来的碎碎念 罗进
  • 2. Qml 继WPF,Flex后Qt家的新人(Meego UI) • 类js语法,动态加载执行,即时编译JavaScriptCore(Qt WebKit) • 与Qt C++无缝集成 c++: class Watch: … … QDeclarativeView view; view.rootContext()->setContextProperty("watch", new Watch); qml:wach.xxx() • 只有10M size • 依赖Qt的动态特性: • 反射(c++的扩充), • 垃圾收集(引用计数) • 将来与HTML5互通 • 挂接V8
  • 3. Matplotlib 开源版的matlib • 根植在numpy、scipy的数据结构+算法上 • 贴心在ipython的交互上 • 震撼在plot的绚丽、多样性上 • 动态在解释与交互上,ipython与plot的双簧 • 动态在复杂运算的性能上,矩阵、傅立叶变换、插值逼近 • 在科学计算方面python这边独领风骚
  • 4. Python 的动态 • 内省、反射、元数据 • 基于字典的架构 • 命名空间 • 全局、本地函数 • 多态的虚函数 • 运行时重构,不停机进化。 • Import this 隐藏的python价值观 • 其简单优美的哲学被接受,才有了无处不在的第三方库。 • 系统编程、图形处理、科学计算、文本处理、数据库、网络编程
  • 5. 价值观的继承 • 对UNIX哲学对简单与透明等的认同 • 简单胜过复杂 KISS • 没有public、protected等 • 缩进, 缩进,decorator,with、yield • 无隐藏的__内部函数__,sys._getframe()内心表白 • 数据驱动代替逻辑 • 显式优于隐式 透明 参数。反例: • OO的self参数。反例:numpy中ndarray与metrix • Unix Shell cmd Façade:wget Simple:yes
  • 6. 别执著(只是一种工具),放眼看 我仰望群山的苍老,他们不说一句话。 阳光描出我的渺小,小草在我的脚下。 我一人停步在路隅,倾听空谷的松籁。 青天里有白云盘踞,转眼间忽又不在。
  • 7. Xi’an py 给力跨年 爱 1+1 > 2 好 工 作 的 的 编 经 程 验 人 交 生 流