帮助人类!

superhelp的Python项目详细描述


https://github.com/grantps/superhelp

Example HTML output

版本号:1.1.0 作者:格兰特·帕顿·辛普森

概述

超级帮助是对人类的帮助!我们的目标是为 简单的代码片段。SuperHELP并不打算取代内置的Python 帮助,但对基本Python代码结构进行补充。超级帮助会 也是固执己见。可以在多种情况下提供帮助,包括 终端和web浏览器(可能是在线教程的一部分)。在

快速入门

单击下面的按钮打开一个活页夹Jupyter笔记本,您可以到处玩 例如,获取关于Python代码片段或代码行的建议

Binder

或者将以下内容放在Python脚本的顶部并运行该脚本:

import superhelp
superhelp.this()

安装

注意-仅适用于Python3.6+版本。如果您有旧版本的Python,请使用绑定器 而不是Jupyter笔记本按钮(见上面)

安装

  1. 使用pip例如

    $pip3安装超级帮助

或类似的

^{pr2}$
  1. 或者克隆回购

    $git克隆https://github.com/grantps/superhelp.git $Python3设置.py安装

示例用例

  • 夏洛特喜欢在别人看到她的代码之前先检查一下

      import superhelp
      superhelp.this(warnings_only=True)
    

    在每个脚本的顶部。当她对代码满意时,她会评论 那两条线断了。在

  • Avi是一个Python初学者,想从5行代码中获得建议 他编写了一个函数来向一系列人显示问候。他了解到 Python关于变量命名的约定和组合字符串的更好方法。在

  • 扎克想得到关于命名元组的建议。他学会了如何添加doc字符串 到各个字段。在

  • Noor正在考虑向堆栈溢出提交一些代码,但希望 首先改进它(或者可能直接获得解决方案的想法)。她发现 一个列表理解可能有用。她也开始了解字典了 第一次理解。在

  • Al编写了一个简单的Python decorator,但想看看是否有 任何可以改进的东西。他学会了如何使用函数工具换行从一个 提供的示例。在

  • Moana是一个经验丰富的Python开发人员,但往往会忘记doc之类的东西 她功能中的字符串。她学会了一种标准方法并开始使用 更多的时候。莫阿纳还发现总结的皮棉有用。在

  • Paul希望在将某些代码包括在他的 项目。他了解了一些问题,并在整合之前进行了改进 它。在

示例用法

HTML输出的屏幕截图

Example HTML output

终端输出截图

Example Terminal output

提供终端主题(“深色”和“浅色”)

Example Terminal themes

降价输出的屏幕截图

Example Markdown output

在笔记本上使用超级帮助

在末尾添加新单元格,内容如下:

%%shelp

def sorted(my_list):
    sorted_list = my_list.sort()
    return sorted_list

然后运行它来获取建议。在

笔记本顶部有更详细的说明。在

在本地安装上使用超级帮助

脚本内部

将以下内容放在脚本的顶部,然后运行脚本(注意-文件两边有两个下划线):

import superhelp
superhelp.this()

如果不需要默认的web输出,可以指定另一个输出,例如“cli”(命令行界面)或“md”(markdown):

import superhelp
superhelp.this(output='md')

如果您不希望消息的默认“额外”级别,可以指定不同的详细级别(“Brief”或“Main”)

import superhelp
superhelp.this(detail_level='Brief')

或者:

import superhelp
superhelp.this(detail_level='Main')

如果你只想看到警告,你可以只指定警告

import superhelp
superhelp.this(warnings_only=True)

如果你不想在SuperHELP求值时执行代码

import superhelp
superhelp.this(execute_code=False)

你可以使用任意多个选项

import superhelp
superhelp.this(output='md', execute_code=False, warnings_only=True)

从命令行(终端/控制台)

$ shelp -h  ## get extended help on usage (purpose, defaults, etc)

$ shelp --code "people = ['Tomas', 'Sal', 'Raj']" --output html --detail-level Main
$ shelp -c "people = ['Tomas', 'Sal', 'Raj']" -o html -d Main

$ shelp --file-path my_script.py --output cli --theme light --detail-level Extra
$ shelp -f my_snippet.py -o cli -t light -d Extra

$ shelp --project-path /home/g/proj --exclude-folders env
$ shelp -p /home/g/proj -e env

$ shelp --file-path my_script.py --warnings-only
$ shelp -f my_snippet.py -w

$ shelp --file-path my_script.py --execute-code True
$ shelp -f my_snippet.py -x True

$ shelp  ## to see advice on an example snippet displayed (detail level 'Extra')

$ shelp --advice-list  ## to see all types of help listed
$ shelp -a

拓展思路

  • 扩展到标准天秤座之外你可以进入流行的图书馆,比如请求,瓶子,烧瓶等等

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JPA。Eclipselink没有为mySQL提供密码,但它应该提供   我的Servlet和@FormDataParam存在java问题   java将什么作为上下文参数传递到文件I/O方法中?   如果两个值相同,java无法找到其中一个单选按钮   java在变量和方法名中使用下划线   JavaSpringMVC单线程安全?   klazz类的java Arraylist(反射Api)   java如何在数字字符串中查找最频繁的数字?   JavaAPI设计:使数据更易于阅读与强制更多API调用   JavaHadoopMapReduceforGoogleWebGraph   java无法启动gauge API:Runner意外退出   java如何在bluemix上使用ibm工作负载调度器?   拉取一年中某一周特定日期的所有日期   java为什么是我的角节点。js应用程序将图像上传到S3� 邮递员正确上传时的符号?   在不使用任何第三方jar的情况下将文件从本地传输到linux系统(java代码)   java将现有文件夹复制到Eclipse工作区中新创建的项目中   Java中的regex RegExp帮助   当使用“系统”外观时,Java组合框setSelectedItem会出现故障   JavaASM:在类的方法中获取局部变量名和值