先做个广告:如需代注册ChatGPT或充值 GPT4.0会员(plus),请添加站长微信:gptchongzhi
如何使用不同的ChatGPT提示词生成Python注释 如何在使用ChatGPT生成注释时采用不同的风格 如何在Python注释中添加doctest测试
使用ChatGPT为Python代码编写文档的优势
提高生产力:它可以自动化与代码文档及其维护相关的任务,从而节省大量的时间和精力。 提高质量:它有助于确保你的文档准确、及时和全面。 提升用户体验:它可以生成引人入胜且用户友好的文档,为用户带来更好的体验。 降低成本:它帮助降低了文档创建和维护的成本。 提高合规性:它可以确保文档符合标准和法规,使其更加一致和专业。
写docstrings时可能用到的ChatGPT提示词
>>> help(str)
Help on class str in module builtins:
class str(object)
| str(object='') -> str
| str(bytes_or_buffer[, encoding[, errors]]) -> str
|
| Create a new string object from the given object. If encoding or
| errors is specified, then the object must expose a data buffer
| that will be decoded using the given encoding and error handler.
| Otherwise, returns the result of object.__str__() (if defined)
| or repr(object).
| encoding defaults to sys.getdefaultencoding().
| errors defaults to 'strict'.
|
| Methods defined here:
|
| __add__(self, value, /)
| Return self+value.
|
| __contains__(self, key, /)
| Return key in self.
...
>>> print(str.__doc__)
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to 'strict'.
Google风格注释:这种风格来自Google,您会在该公司的开源项目中找到许多示例。 NumPy注释标准:这种风格是为NumPy库开发的,许多其他Python项目也采用了它。 reStructuredText(RST)或Sphinx注释格式:这种风格基于reStructuredText,并来自Sphinx,这是一个用于自动化文档创建的有用工具。 Epytext风格:这是一种轻量级标记语言,用于格式化注释,最初由Epydoc项目创建。每种风格都有自己的约定。通常,您应该选择一种风格,并在整个Python项目中一致使用。
项目的复杂性:如果您有一个庞大而复杂的项目,那么您可能会从Sphinx或NumPy风格中受益,因为它允许详细的文档。相比之下,小型项目可能只需要基本的文档,像PEP 257或Google风格的注释就足够了。 文档工具:如果您使用类似Sphinx或MkDocs的工具来生成项目的文档,那么应选择在您选择的工具中具有最佳支持的风格。
将目标代码作为chatGPT提示词的一部分使用
def add(a, b):
return a + b
ChatGPT:
推荐使用GPT中文版,国内可直接访问:https://ai.gpt86.top
def add(a, b):
"""Return the sum of a and b."""
return a + b
def add(a, b):
return a + b
ChatGPT:
def add(a, b):
"""Sum two numbers.
Args:
a (int or float): The first number.
b (int or float): The second number.
Returns:
int or float: The sum of the two numbers.
"""
return a + b
def add(a, b):
return a + b
ChatGPT:
def add(a, b):
"""
Sum two numbers.
Parameters
----------
a : int or float
The first number to be added.
b : int or float
The second number to be added.
Returns
-------
int or float
The sum of a and b.
"""
return a + b
def add(a, b):
return a + b
ChatGPT:
def add(a, b):
"""
Calculate the sum of two numbers.
:param a: The first number.
:type a: int or float
:param b: The second number.
:type b: int or float
:return: The sum of the two numbers.
:rtype: int or float
"""
return a + b
>>> print(str.__doc__)
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to 'strict'.
0
ChatGPT:
>>> print(str.__doc__)
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to 'strict'.
1
在提示词中仅包含签名
>>> print(str.__doc__)
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to 'strict'.
2
>>> print(str.__doc__)
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to 'strict'.
3
>>> print(str.__doc__)
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to 'strict'.
4
在提示词中询问测试和用例
>>> print(str.__doc__)
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to 'strict'.
5
ChatGPT:
>>> print(str.__doc__)
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to 'strict'.
6
创建README文件
项目标题:README文件开头的简短、引人注目的标题。 项目描述:描述项目、它的功能以及它的目的的几段文字。 安装和入门:关于如何安装项目和任何依赖项,如何设置它以及如何运行它的详细说明。对于软件项目,包括必要的命令行。 使用示例:展示如何使用项目的示例。在这一部分,代码片段和截图可能非常有用。 贡献指南:如果您的项目是开源的,并且您接受贡献,请说明如何贡献和向项目提交拉取请求。您可能还包括代码风格偏好、他们应该通过的自动测试等等。 许可证:注明项目的许可证类型。 联系信息:提供您的联系信息或获取支持的指南。 致谢:在必要时,致谢相关工作或您使用的资源。
“欢迎来到PyBasicMath:Python中基本数学运算的一站式解决方案” “PyBasicMath:使用基本数学函数简化复杂计算” “使用PyBasicMath轻松掌握数学:基本计算的完整Python包” “释放数学的力量:PyBasicMath快速高效的Python数学运算” “PyBasicMath:让数学变得易于接近,适用于各级别的Python开发者”
生成代码解释
>>> print(str.__doc__)
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to 'strict'.
7
data = tuple(iterable):这行代码将输入的可迭代对象转换为元组。无论输入是列表、集合还是其他类型的可迭代对象,通过将其转换为元组,确保数据可以在接下来的步骤中一致地进行迭代。 if len(data) == 0: raise ValueError("input iterable must not be empty"):如果元组数据的长度为零(即输入的可迭代对象为空),则引发一个带有消息“input iterable must not be empty”的ValueError异常。这充当守卫子句,防止函数处理空的可迭代对象,这将导致min和max函数也引发ValueError。 return min(data), max(data):这一行使用内置的Python函数min和max分别查找可迭代对象中的最小和最大值。这些值作为一个元组返回。
>>> print(str.__doc__)
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to 'strict'.
8
>>> print(str.__doc__)
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to 'strict'.
9
def add(a, b):
return a + b
0
def add(a, b):
return a + b
1
编写教程和操作指南
def add(a, b):
return a + b
2
总结
有效编写不同的ChatGPT提示以生成Python文档字符串 在使用ChatGPT生成文档字符串时采用不同的风格 要求ChatGPT为文档字符串添加doctest测试和使用示例 使用ChatGPT构建Python项目的外部文档
网友评论