首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何计算Python中除了注释和文档字符串之外的代码行?

在Python中,可以使用以下方法来计算除了注释和文档字符串之外的代码行数:

  1. 使用正则表达式:可以使用正则表达式匹配代码文件中的每一行,并排除以井号(#)开头的注释行和以三个引号('''或""")包围的文档字符串。以下是一个示例代码:
代码语言:python
代码运行次数:0
复制
import re

def count_code_lines(file_path):
    with open(file_path, 'r') as file:
        lines = file.readlines()

    code_lines = 0
    for line in lines:
        if not re.match(r'^\s*#|^\s*\'\'\'|^\s*\"\"\"', line):
            code_lines += 1

    return code_lines
  1. 使用Python内置的inspect模块:inspect模块提供了一些用于检查源代码的函数。可以使用inspect.getsource()函数获取函数、类或模块的源代码,并通过排除注释行和文档字符串来计算代码行数。以下是一个示例代码:
代码语言:python
代码运行次数:0
复制
import inspect

def count_code_lines(obj):
    source_lines, _ = inspect.getsourcelines(obj)

    code_lines = 0
    for line in source_lines:
        if not line.strip().startswith('#') and not line.strip().startswith('"""') and not line.strip().startswith("'''"):
            code_lines += 1

    return code_lines

以上两种方法都可以计算除了注释和文档字符串之外的代码行数。在实际使用时,可以根据具体需求选择适合的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何在50以下Python代码创建Web爬虫

有兴趣了解Google,Bing或Yahoo工作方式吗?想知道抓取网络需要什么,以及简单网络抓取工具是什么样?在不到50Python(版本3)代码,这是一个简单Web爬虫!...(带有注释完整源代码位于本文底部)。 ? image 让我们看看它是如何运行。请注意,您输入起始网站,要查找单词以及要搜索最大页数。 ? image 好,但它是如何运作?...这个特殊机器人不检查任何多媒体,而只是寻找代码描述“text / html”。每次访问网页时网页 它收集两组数据:所有的文本页面上,所有的链接页面上。...如果在页面上文本找不到该单词,则机器人将获取其集合下一个链接并重复该过程,再次收集下一页上文本链接集。...以下代码应完全适用于Python 3.x. 它是在2011年9月使用Python 3.2.2编写测试。继续将其复制并粘贴到您Python IDE并运行或修改它!

3.2K20

Python金融-001】如何快速计算股票收益?1代码,高效做T

今天给大家分享一下,如何通过Python实现高效做T,把握住每一次交易机会,降低持仓成本。...1、先上代码 股票收益,简单说就是高抛低吸:5块钱买进100股,10块钱卖出100股,收益计算方式为:股数100*价差(10-5)=收入500元。很好理解对吧?...""" 2、如何使用?...于是就有了下面这个快速代码,帮助你在瞬息万变股市里,快速做出买卖决定! 本次分享第三方库是:pofinance,一个开源Python金融库。...因为我每天操作股数、手续费、单笔最低手续费印花税都是固定,所以我只需要填写前2个参数:买入卖出价格,就可以快速得到我每次操作收益。 尤其是在急涨急跌时候,这行代码可帮大忙了!

69350
  • 如何在大型代码仓库删掉 6w 废弃文件 exports?

    作者:ssh,字节跳动 Web Infra 团队成员 本文是我最近在公司内部写废弃代码删除工具一篇思考总结,目前在多个项目中已经删除约 6w 代码。...ESLint 可以解决 删除之后引入新无用变量问题 ,最典型就是删除了某个函数,这个函数内部某个函数也可能会变成无效代码。...如何删除变量 当我们在 IDE 编写代码时,有时会发现保存之后一些 ESLint 飘红部分被自动修复了,但另一部分却没有反应。 这其实是 ESLint rule fixer 作用。...参考官方文档 Apply Fixer 章节,每个 ESLint Rule 编写者都可以决定自己这条规则 是否可以自动修复,以及如何修复。...文档规范比较差 ,ts-morph 文档还是太简陋了,挺多核心方法没有文档描述,不利于维护。

    4.7K20

    python基础语法——常量、变量、注释、输入输出运算符

    ,编写代码,求这四个分数平均数. print( (67.5 + 89.0 + 12.9 + 32.2) / 4 )#最后一代码 二、变量类型 变量是什么 有的时候,我们需要进行计算可能更复杂一些...,如果没有注释,直接阅读, 是不容易 get 到代码含义是计算方差.但是通过加了一注释解释一下, 就让人一目了然了....(1) 注释 使用#开头行都是注释. #这是一注释。 (2) 文档字符串 使用三引号引起来称为 “文档字符串”,也可以视为是一种注释....可以包含多行内容, 一般放在 文件/函数/类 开头. “”"或者’''均可(等价). """ 这是文档字符串 这是文档字符串 """ 注释规范 内容准确:注释内容要和代码—致,匹配。...= 除了基本用法之外, 还可以同时针对多个变量进行赋值.

    77910

    PythonPython 入门基础

    注:C/C++/java 整形家族除了 int 之外,还有 char、short、long、long long 等类型,它们本质区别是占用内存空间大小不同,所以能表示数据范围不同,而既然 Python...其他类型 除了上述类型之外, Python 还有 list, tuple, dict, 自定义类型 等等. 我们后续再介绍。 2.2 类型意义 Python 为什么会存在这么多类型呢?...---- 四、注释 1、注释风格 Python 中有两种风格注释: (1)注释:使用 # 开头行都是注释 # 这是一注释 (2)文档字符串:使用三引号引起来称为 “文档字符串”, 也可以视为是一种注释...它可以包含多行内容; 一般放在 文件/函数/类 开头; 使用 “”" ‘’’ 等价. """ 这是文档字符串 这是文档字符串 """ PyCharm 多行注释/取消注释快捷键:Ctrl + /...这一点 Python 语法在设计时候就进行了规避, 避免出现这种不直观, 并且容易混淆语法. 6、其他运算符 除了上述之外, Python 还有一些运算符, 比如 身份运算符 (is, is not

    1.9K01

    Google实践总结Python规范,get了吗?

    Python会将圆括号、括号花括号隐式连接起来,可以利用这个特点。如果需要,可以在表达式外围增加一堆额外圆括号。 3 括号 宁缺毋滥得使用括号。...在计算机科学,Shebang(也称为 Hashbang )是一个由井号叹号构成字符序列 #! ,其出现在文本文件第一前两个字符。...8 注释 确保对模块, 函数, 方法行内注释使用正确风格。 文档字符串 Python有一种独一无二注释方式:使用文档字符串文档字符串是包, 模块, 类或函数里第一个语句。...文档字符串应该提供足够信息, 当别人编写代码调用该函数时,他不需要看一代码,只要看文档字符串就可以了。对于复杂代码, 在代码旁边加注释会比使用文档字符串更有意义。...块注释注释 最需要写注释代码那些技巧性部分。如果你在下次 代码审查时候必须解释一下,那么你应该现在就给它写注释。对于复杂操作, 应该在其操作开始前写上若干注释

    68310

    一文弄懂Python代码规范

    Python标准库保守并要求将限制为79个字符(将文档字符串/注释限制为72个字符)。 首选换行方式是使用Python在括号、方括号大括号内隐式连续。...Python要求未来导入必须出现在模块除了文档字符串之外任何其他代码之前: """This is the example module....对于三引号括起来字符串,始终使用双引号字符,以保持与PEP 257文档字符串约定一致性。 One-line Doctrings| 一文档字符串 单行代码应该是非常明显简短情况。...文档字符串第一(即直到第一个换行符之前)任何缩进都是无关紧要并将被移除。保留文档字符串后续相对缩进。应该从文档字符串开头结尾删除空行。...块注释通常由一个或多个段落组成,由完整句子构建,每个句子以句点结束。 在多句注释除了最后一句之外,句子结束后应使用一个或两个空格。

    36510

    ​1Python代码计算程序运行时间,也可以用在算法接口调优上

    图片 有时候我们写了一段代码,想知道它运行时间,你会怎么做? Python有一个第三方库叫:potime,提供了一个简便方法,我们一起来看看吧。...1、下载 1命令,下载第三方库 pip install potime 2、使用方法 例如上次我们优化了根据内容查找文件功能,使查找时间加快了N倍。...代码如下 import office # 导入自动化办公专用库 from potime import RunTime # 导入计算代码运行时间库 @RunTime # 计算代码运行时间 def...3、拓展应用 在工作,有时我们需要做一些算法或者接口调优,加快运行时间。这个potime也可以直接用在算法或者接口调优上。...4、参考资料 利用世界杯,读懂 Python 装饰器 Python爬虫如何加速? 1022页PDF:《流畅Python》,Python程序员进阶必备图书~

    60020

    Python 代码风格

    2.2 文档字符串 请记住,在Python,如果在一个函数或类第一个语句是一个字符串,该字符串会自动赋值给一个特殊“_doc_”变量,该变量在调用Help(一些其他类)时会被使用。...该句子与作为描述文档字符串对比: """Does X, Y, and Z, then returns the result.""" 如果文档字符串是一,那么需要在类或函数体之前加空行。...如果文档字符串有多行,则将结束双引号单独放一。 2.3 空行 空行用于逻辑分块。 PEP8规定“最高级”函数定义之间有两个空行。...class A(object): pass class B(object): pass 代码清单1. PEP 8还规定除了最高级之外,类函数定义以一个空行分隔。...在编写代码时没有留心代码可读性与可维护性自然会使得代码难以阅读维护。 通观本书,你学会了如何使用Python多种模块、类与结构。当需要决定如何解决问题时,请记住调试代码比写代码更有技术含量。

    1.2K90

    Python】学习笔记day2

    二.关于注释 注释有助于帮助我们提高代码可读性,便于我们后续对代码维护及修改. Python为我们提供了两种风格注释:注释注释(文档字符串)....如: #这是一个注释 注释一般独占一,偶尔也会写在代码右侧,如: a=10 #这是一个注释注释不能写在代码左侧,因为注释会将它左侧代码全部注释掉,如: #这是一个注释 a=10...2.段注释(文档字符串) 使用三引号引起来称为"文档字符串",也可以视为是一种注释....这种注释特点有: 可以包含多行内容 一般在文件/函数/类开头 """或者'''均可(两种是等价) 如: """ 这是文档字符串 这是文档字符串 这是文档字符串 """ 3.注释规范 内容准确...如将两个print语句写在一,输出时第二个字符串还是会输出到下一: 4.三引号跨行字符串 用三个连在一起单引号或双引号包裹住文字,Python就会把新当成内容换行,而不是代码语句结束.

    7910

    作为一个Python爱好者,如何写出高可读性代码

    代码布局 如何布置代码对于它可读性有很大作用。此处,你将学习如何添加垂直空格以提高代码可读性,以及如何处理PEP 8建议79字符限制。...在换行添加额外缩进 x = 5 if (x > 3 and x < 10): print(x) 第二个换行符后缩进方式是悬挂缩进: 这意味着除了段落或语句中第一之外每一都是缩进...以下是在为代码添加注释时要记住一些要点: 将注释文档字符串行长限制为72个字符; 使用完整句子,以大写字母开头; 如果更改代码,请务必更新注释; 块注释 使用块注释来标注一小部分代码。...因此,除非确定需要使用注释,否则更多使用块注释,则代码更可能符合PEP 8。 文档字符串 文档字符串是用双(""")或单引号(''')括起来字符串,它们出现在任何函数,类,方法或模块第一。...适用于文档字符串最重要规则如下: 环绕文档字符串,两边都有三个双引号,如 """ 这是一个文档字符串 """; 为所有公共模块,函数,类方法编写它们; 将单行结束多行文档字符串 """ 放在一

    1.3K40

    Python 进阶指南(编程轻松进阶):十一、注释文档字符串类型提示

    正如计算机科学家哈罗德·艾贝尔森、杰拉德·让伊·萨斯曼朱莉·苏斯曼曾经写道,“程序必须写给人们阅读,偶尔也要写给机器执行。” 注释文档字符串类型提示帮助你保持代码可读性。...注释是简单明了简短解释,你直接写在源代码计算机会忽略它们。注释为那些没有编写代码的人提供了有用注释、警告提醒,或者有时甚至为将来代码程序员提供了帮助。...文档字符串提供了第二个关键好处,因为它们将文档集成到了源代码。当你编写独立于代码文档时,你可能会完全忘记它。相反,当您将文档字符串放在模块、类函数顶部时,信息仍然易于查看更新。...在变量或返回值除了具有另一种类型之外还具有None值情况下,您可能会指定多种数据类型。要在类型提示包含NoneType,即None值类型,请将None放在方括号内,而不是NoneType。...但是花一点时间在代码添加注释文档字符串类型提示,可以避免以后浪费时间。文档良好代码也更容易维护。 人们很容易接受这样观点,即在编写软件时,注释文档并不重要,甚至是一个缺点。

    94730

    从零开始学习PYTHON3讲义(四)让程序更友好

    对自己更友好首先就是帮助编程人员自己和合作者理解程序含义、功能,便于将来代码重新使用,便于错误排查。 比如程序一开始,首先应当对这个程序背景、需求、开发时间、程序作者等内容作出注释。...有了注释帮助,程序读起来显然容易多了。把注释用到程序教学,也是格外见效。 程序开发通常会有很多文档要求,在不同规则,有些文档需要,在另外一些规则,某些文档可能不需要。...---- 接着就是如何做到对用户友好,我们现在程序对用户可不友好。看看这个输出,你觉得除了编程序的人,还有别人能看懂吗?...而且,你看在注释帮助下,我们对每一代码理解更清晰了,并且及时就能看到包含在注释讲解。 学习过C语言同学可能会问,为什么Python中会有4种字符串界定符。...而效率提高,依赖你经验增长程序代码积累。程序代码积累要求你程序具有良好可读性可维护性。 本讲讲解了为程序增加注释方法,字符串基本用法。

    60610

    Python3 | 练气期,入门精简基础语法!

    __doc__) 2.注释符 在Python可采用 # ''' """ 来注释代码以及函数帮助说明,注意除了#其他都是成对使用,并且在输出函数也能进行注释输出,例如: # 我是注释,以下实例我们可以输出函数帮助注释...""" # 我是单注释,输出结果为:这是文档字符串 print(demo....__doc__) # 我是单注释,还可调用 python help() 函数可以打印输出一个函数文档字符串: help(demo) weiyigeek.top-注释符图 3.解释器与编码.../usr/bin/python3 ,但是在 Linux 、Unix 系统建议,在第一注释中指向 python 路径,告诉操作系统执行这个脚本时候,调用 /usr/bin 下 python 解释器...它允许您将各种值(如整数、浮点数、字符串等)插入到一个格式化字符串,从而生成最终输出,而除了基本插值之外,format() 方法还支持多种格式选项,如指定字段宽度、精度、对齐方式等。

    12710

    Google Python风格规范(上)

    例外: 长导入模块语句 注释URL 不要使用反斜杠连接Python会将圆括号、括号花括号隐式连接起来,可以利用这个特点。如果需要,可以在表达式外围增加一堆额外圆括号。...注:在计算机科学,Shebang(也称为 Hashbang )是一个由井号叹号构成字符序列 #! ,其出现在文本文件第一前两个字符。...文档字符串 Python有一种独一无二注释方式:使用文档字符串文档字符串是包, 模块, 类或函数里第一个语句。 这些字符串可以通过对象doc成员被自动提取,并且被pydoc所用。...对于复杂代码, 在代码旁边加注释会比使用文档字符串更有意义。 关于函数几个方面应该在特定小节中进行描述记录, 这几个方面如下文所述。 每节应该以一个标题开始。 标题以冒号结尾。...块注释注释 最需要写注释代码那些技巧性部分。如果你在下次 代码审查时候必须解释一下,那么你应该现在就给它写注释。 对于复杂操作, 应该在其操作开始前写上若干注释

    69220

    Python】--- 基础语法(1)

    在这个代码,就需要先计算这四个数平均值,然后再计算方差。...hello'"hello"是完全等价。 思考这样一个问题:如何字符串将My name is "ZhangSan",表示出来?...2.3.5其他 除了上述类型之外Python还有 list(列表),tuple(元组),dict(字典),自定义类型 等等。我们后续再介绍。...3.1注释语法 Python中一般有两种注释风格: 注释: 使用#开头行都是注释,如下: # 注释内容 文档字符串: 使用三引号引起来称为 “文档字符串”,也可以视为是一种注释。...如下: """ 文档字符串 文档字符串 """ 3.2注释规范 内容准确: 注释内容要和代码一致,匹配,并在代码修改时及时更新。 篇幅合理: 注释既不应该太精简, 也不应该长篇大论。

    7610

    代码整洁之道-编写 Pythonic 代码

    def __path(): pass 除了遵循这些命名规则之外,使用清晰易懂变量名很重要。...让我们再考虑一个例子,你试图读取 CSV 文件并计算 CSV 文件处理行数。下面的代码展示使代码可读重要性,以及命名如何在使代码可读中发挥重要作用。...在多行上编写文档字符串是用更具描述性方式记录代码一种方法。你可以利用 Python 多行文档字符串Python 代码编写描述性文档字符串,而不是在每一上编写注释。...:rtype: str""" 说一下上面代码注意点 第一是函数或类简要描述 每一语句末尾有一个句号 文档字符串简要描述摘要之间有一空白 如果使用 Python3.6 可以使用类型注解对上面的...这些注释应该放在在导包之前,模块文档字符串应该表明模块使用方法功能。 如果觉得在使用模块之前客户端需要明确地知道方法或类,你还可以简要地指定特定方法或类。

    1.6K20

    Python基础语法(1)上

    就像计算 M 键功能类似,通过变量就可以保存计算过程中间结果。 只不过,计算器一般只能保存一个数据,而在 Python 代码,可以创建任意多变量,来随心所欲保存很多很多数据。...注意: 在 Python ,单引号构成字符串双引号构成字符串,没有区别。'hello' "hello" 是 完全等价。...(5) 其他 除了上述类型之外Python 还有 list、tuple、dict、自定义类型等等,我们后续再介绍。 为什么要有这么多类型? (1) 类型决定了数据在内存占据多大空间。...(1) 注释 使用 # 开头行都是注释 #开头注释,一般是写在要注释代码上方,也有少数情况是写在代码右侧,很少会写在代码下方 # 这是一注释 (2) 文档字符串 使用三引号引起来称为...可以包含多行内容 一般放在 文件/函数/类 开头 """ 或者 ''' 均可 (等价) """ 这是文档字符串,起到作用注释一样,也是解释说明效果 """  文档字符串和我们

    4510

    干货 | 如何写一个更好Python函数?

    基于我理解,如果一个Python函数能够符合下面的大部分条件,我会认为它是一个“好”函数: 命名合理 单一功能 包括文档字符串 返回一个值 不超过50 是幂等函数或纯函数 对许多人来说,这些要求可能显得过于苛刻了...如果没有明确参数名称,函数文档字符串或类型注释会描述参数类型。 那么我们如何重命名这个函数呢?...其中关键内容是: 每个函数都需要有一个文档字符串 使用适当语法标点符号;用完整句子写 首先对函数作用进行一句话总结 使用说明性语言而不是描述性语言 在编写函数时,要养成写文档字符串习惯,并在编写函数代码之前尝试写一下...而在处理幂等函数时,重构是轻而易举事情。 无论如何在函数之外更改代码,使用相同参数调用它结果总是一样。 什么是纯函数?...它不仅不使用任何“外部数据”来计算值,除了计算返回所述值之外,它与系统/程序其余部分都没有交互。因此,虽然我们新add_three(number)定义仍然是幂等,但它不再是纯

    60110
    领券