资讯专栏INFORMATION COLUMN

贴一些 Python 的笔记

libxd / 585人阅读

摘要:项目当中用到贴一点笔记社区模块方案选用在上查询模块入门教程尾递归不支持尾递归优化社区有提供优化的脚本不过实际项目使用有问题刷新引用模块同样模仿可以在当中测试函数那么刷新模块像是这样的文档比较丰富的不过也比较庞杂实现起来

项目当中用到 https://github.com/Cirru/sepal.py
贴一点笔记.

PyPI

社区模块方案选用 pip, 在 PyPI 上查询模块, 入门教程:
http://peterdowns.com/posts/first-time-with-pypi.html

python setup.py register -r pypitest
python setup.py sdist upload -r pypitest
python setup.py register -r pypi
python setup.py sdist upload -r pypi
尾递归

Python 不支持尾递归优化, 社区有提供优化的脚本(不过实际项目使用有问题):
http://calebmadrigal.com/tail-call-optimization-in-python/

刷新 REPL 引用模块

同样模仿 Clojure 可以在 REPL 当中测试函数, 那么刷新模块像是这样:

import sys

if "myModule" in sys.modules:  
    del sys.modules["myModule"]

http://stackoverflow.com/a/3194343/883571

AST

AST 的文档比较丰富的, 不过也比较庞杂, 实现起来估计也会累
考虑到要实现的 AST 的量, 我考虑暂停试验算了.
http://eli.thegreenplace.net/2009/11/28/python-internals-working-with-python-asts/
https://pypi.python.org/pypi/astdump/3.3
http://greentreesnakes.readthedocs.org/en/latest/tofrom.html
https://docs.python.org/2/library/ast.html

import ast
a = ast.literal_eval("[1,2,3,4]") //evaluate an expression safely.
import ast
source = "2 + 2"
node = ast.parse(source, mode="eval")
ast.dump(node)

http://stackoverflow.com/a/13350121/883571

还可以用 codegen.to_source 生成代码:

import ast
import codegen

ast.parse("print(1 + 2)") # return AST
ast.dump(ast.parse("print(1 + 2)")) # return readable AST
codegen.to_source.dump(ast.parse("print(1 + 2)")) # generate code

AST 当中用到一些 keyword arguments:
http://stackoverflow.com/a/1419160/883571

import

Python 模块引用一句 Module Search Path 查找, 可以从 sys.path 查看
https://docs.python.org/2/tutorial/modules.html#the-module-search-path

package 的目录会有 __init__.py 文件, 引入需要暴露的模块
比如这样是把 sepal.py 文件的 transform 函数暴露出去

from sepal import transform
读取文件
with open ("data.txt", "r") as myfile:
    data=myfile.read().replace("
", "")

http://stackoverflow.com/a/8369345/883571

Test

安装 nosetests 来进行测试
http://pythontesting.net/framework/nose/nose-introduction/
http://pythontesting.net/framework/unittest/unittest-introduction/

Dependency

install_requires 字段用于声明依赖
http://www.scotttorborg.com/python-packaging/dependencies.html

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37607.html

相关文章

  • 安装并使用Jupyter Noterbook

    摘要:首先,笔者介绍如何在中安装并配置,完整的步骤如下安装模块安装完该模块后,如需检验是否安装成功,则在终端中输入命令即可,如下可以看到,运行在的端口,后面是,在后面会用到。输出结果如下这样,我们就可以完成了在中配置和使用,感觉很方便。   Jupyter Notebook是一个交互式笔记本,支持运行 40 多种编程语言。笔者在写博客文章时,常常需要贴代码,一贴就是一大堆代码,这样不便于读者...

    kk_miles 评论0 收藏0
  • 流畅python读书笔记-第八章-对象引用、可变性和垃圾回收

    摘要:运算符比较两个对象的标识函数返回对象标识的整数表示。实际上,每个对象都会统计有多少引用指向自己。对象被销毁了,调用了回调,的值变成了。当对象的引用数量归零后,垃圾回收程序会把对象销毁。引用的目标对象称为所指对象。 对象不是个盒子 showImg(https://segmentfault.com/img/bV95mW?w=1784&h=988); class Gizmo: def...

    zgbgx 评论0 收藏0
  • Programming Computer Vision with Python (学习笔记四)

    摘要:上一个笔记主要是讲了的原理,并给出了二维图像降一维的示例代码。当我使用这种方法实现时,程序运行出现错误,发现是对负数开平方根产生了错误,也就是说对协方差矩阵求得的特征值中包含了负数。而能夠用于任意乘矩阵的分解,故适用范围更广。 上一个笔记主要是讲了PCA的原理,并给出了二维图像降一维的示例代码。但还遗留了以下几个问题: 在计算协方差和特征向量的方法上,书上使用的是一种被作者称为com...

    Allen 评论0 收藏0
  • python学习笔记 --- scikit-learn 学习 [1]

    摘要:详细讲解记录在传送门我在这里只是大概整理我使用过学习过的。这部分先放过,接下讲。这种特殊的策略也叫或是,完全忽略词在文中位置关系。具体在项目中是如下使用。使用技巧来适配大数据集,没用过,看上去很牛 Feature extraction 详细讲解记录在 传送门 我在这里只是大概整理我使用过学习过的api。 Loading features from dicts 这个方便提取数据特征,比如...

    dingding199389 评论0 收藏0
  • 前端小项目之在线便利

    摘要:实现的效果如下界面可能不是太好看,考虑到容器的高度会被拉长,因此没有用图片做背景。 实现的效果如下: showImg(https://segmentfault.com/img/remote/1460000011155402); 界面可能不是太好看?,考虑到容器的高度会被拉长,因此没有用图片做背景。 预览 便利贴 涉及的知识点 sass(css 预编译器) webpack(自动化构...

    microelec 评论0 收藏0

发表评论

0条评论

libxd

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<