今天来学一下Python之禅和他朋友们的第四题,原总结Python之禅
题目
如何设计一个代码统计工具?
设计一个程序,用于统计一个项目中的代码行数,包括文件个数,代码行数,注释行数,空行行数。尽量设计灵活一点可以通过输入不同参数来统计不同语言的项目,例如:
|
|
输出
分析
先来学习下三种注释方式
已#开头的单行注释
单行注释
多行注释符在同一行的情况
“””这是多行注释”””
‘’’这也是多行注释’’’多行注释符
“””
这3行都是注释符
“””
多行注释需要一个额外的标识符in_multi_comment 来标识当前行是不是处于多行注释符当中,默认为 False,多行注释开始时,置为 True,遇到下一个多行注释符时置为 False。从多行注释开始符号直到下一个结束符号之间的代码都应该属于注释行。遇到多行注释符号时,in_multi_comment 标识符进行取反操作是关键操作,而不是单纯地置为 False 或 True,第一次遇到 “”” 时为True,第二次遇到 “”” 就是多行注释的结束符,取反为False,以此类推,第三次又是开始,取反又是True。
好了,现在来学习下军哥的代码,代码我写了注释以此来弄明白每一行的意义
单行注释
|
|
补充一下return,假如有不理解return语句的可以参考一下这个回答Python的return如何理解,很简单易懂
多行注释
这段代码也运用到了布尔值逻辑运算,有兴趣的可以参考廖雪峰的Python教程
Not | 真假 |
---|---|
not False | True |
not True | False |
OR | 真假 |
---|---|
True or False | True |
True or True | True |
False or True | True |
False or False | False |
AND | 真假 |
---|---|
True and False | False |
True and True | True |
False and True | False |
False and False | False |
统计目录、注释、代码行
这是我自己的代码,水平待提高,多见谅!!
输出结果:
|
|
这里要了解下OS模块
|
|