Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python类中的字母排序函数_Python_Class_Visualization_Publishing_Alphabetized - Fatal编程技术网

Python类中的字母排序函数

Python类中的字母排序函数,python,class,visualization,publishing,alphabetized,Python,Class,Visualization,Publishing,Alphabetized,警告,这是一个纯粹的懒惰问题!随着我的项目的发展,一个类中函数的数量也随之增加。每个.py文件我也有很多类。所以我想做的是对它们重新排序,使函数名按字母顺序排列[对不起,这里是英国,我已经在字母顺序上对'z'做了很大的妥协;-)] 例如目前: class myClass(): stuff def __init__(): do stuff def b(): also do stuff def c(): do other

警告,这是一个纯粹的懒惰问题!随着我的项目的发展,一个类中函数的数量也随之增加。每个.py文件我也有很多类。所以我想做的是对它们重新排序,使函数名按字母顺序排列[对不起,这里是英国,我已经在字母顺序上对'z'做了很大的妥协;-)]

例如目前:

class myClass():
    stuff
    def __init__():
        do stuff
    def b():
        also do stuff
    def c():
        do other stuff
    def a():
        do even more stuff
…为了便于查找,我想重新排列为:

class myClass():
    stuff
    def __init__():
        do stuff
    def a():
        do even more stuff         
    def b():
        also do stuff
    def c():
        do other stuff

纯粹是为了美观,因为它使搜索相关功能更加直观。我显然希望保持init()等在班级中的领先地位

现在,我可以(但还没有)用一个python脚本来实现这一点,该脚本将类作为文本文件读入.py中,并进行大量的字符串操作。但我想知道有没有更好的办法?也许有个工具我可以用在什么地方?我找得很好,但我真的找不到任何有用的东西

我使用的是emacs,所以可能有一个5分钟的组合键序列可以实现这个神奇的效果(),但在python模式下我看不到任何东西

最后,我希望能够以某种方式可视化和公开类结构/docstring

当我说Visualize structure时,我的意思是,例如,myClass.a()调用myOtherClass.g(),这将是一个链接,这样我就能够看到什么调用了什么,无论是在类的基础上(例如,myClass使用什么函数/类?)还是总体上(这里有一堆文件,它们是如何“连接”的?)


当我说宣传这堂课的时候,我想我的意思是你看到的API文档,

我没有你的问题的答案,但是我有一个很强的观点:如果你的课堂中的方法数量变得如此庞大,你很难找到它们,你应该考虑减少数字,也许是把班级分成几个小班级


适用于函数和方法的内聚原则同样适用于类。

我不确定按名称排序方法是否是一个好主意:

这就是你在浏览OLE对象时所看到的,很难理解任何东西,因为相关的方法到处都是,因为它们不是以同一个字母开头的

例如,我宁愿在“关闭”之前看到“打开”,而不在这两者之间使用所有其他不相关的方法

您的问题是如何轻松列出/查看类中的函数

以下是我在emacs中使用的一个简单技巧:

M-x发生

正则表达式:^*def


试试看。。。(这同样适用于使用不同正则表达式(例如:“^sub”)

“它使搜索相关函数更直观”不,它没有。它令人困惑。方法函数应按其用途分组,而不是按其拼写方式分组。构造函数、访问器、操纵器。