×
¥
查看详情
🔥 会员专享 文生文 工具

Python函数生成器

👁️ 502 次查看
📅 Nov 11, 2025
💡 核心价值: 根据自然语言需求生成Python函数,支持参数校验和边界处理

🎯 可自定义参数(1个)

函数需求描述
需要生成Python函数的自然语言描述,包括功能要求、输入参数说明和返回值说明。

🎨 效果示例

以下是根据上述需求实现的Python函数,该函数接受两个数字作为输入,返回它们的和。代码中包含参数校验和适当的注释以解释逻辑:

def add_numbers(num1, num2):
    """
    将两个数字相加并返回结果。

    参数:
        num1 (int or float): 第一个数字
        num2 (int or float): 第二个数字
    
    返回:
        float: 两个数字的和

    异常:
        ValueError: 如果输入参数不是数字类型(int或float)。
    """
    # 检查参数类型是否为数字
    if not isinstance(num1, (int, float)):
        raise ValueError("num1 必须是整型或浮点型数字")
    if not isinstance(num2, (int, float)):
        raise ValueError("num2 必须是整型或浮点型数字")
    
    # 返回两个数字的和
    return num1 + num2

# 示例用法
if __name__ == "__main__":
    try:
        result = add_numbers(3, 5)
        print(f"结果是: {result}")  # 输出: 结果是: 8
    except ValueError as e:
        print(f"参数错误: {e}")

功能解析

  1. 参数校验: 函数首先会检查输入参数是否为intfloat类型。如果不是,会触发ValueError异常。
  2. 核心逻辑: 如果参数校验通过,函数会直接返回两个数字的和。
  3. 边界情况: 处理了整数和浮点数的混合,以及非数字输入的情况。

使用说明

  • 您可以直接调用 add_numbers,传入两个数字。
  • 如果提供非法输入(如字符串或其他非数字类型),会抛出异常。

示例

add_numbers(2, 3)        # 返回 5
add_numbers(3.5, 4.2)    # 返回 7.7
add_numbers(2, -3)       # 返回 -1

此实现遵循了Python的最佳实践,易于理解和扩展。

以下是根据需求生成的Python函数实现,用于动态生成SQL查询语句。函数名为generate_sql_query,并已加入参数校验和逻辑注释。

def generate_sql_query(table_name, columns, where_conditions=None):
    """
    动态生成SQL查询语句。
    
    :param table_name: str - 数据库表名 (必须是非空字符串)。
    :param columns: list or tuple - 要查询的列名 (必须是非空的列表或元组,元素必须是字符串)。
    :param where_conditions: dict or None - 生成WHERE子句的条件,每个键值对表示条件 (可选)。
                              键为列名,值为该列需匹配的值。
    :return: str - 生成的SQL查询语句。
    
    :raises ValueError: 如果输入参数不符合要求,则抛出异常。
    """
    # 校验表名
    if not isinstance(table_name, str) or not table_name.strip():
        raise ValueError("Table name must be a non-empty string.")
    
    # 校验列名
    if not isinstance(columns, (list, tuple)) or len(columns) == 0:
        raise ValueError("Columns must be a non-empty list or tuple.")
    if not all(isinstance(col, str) and col.strip() for col in columns):
        raise ValueError("Each column name must be a non-empty string.")
    
    # 校验WHERE条件 (如果有)
    if where_conditions is not None:
        if not isinstance(where_conditions, dict):
            raise ValueError("Where conditions must be a dictionary.")
        for key, value in where_conditions.items():
            if not isinstance(key, str) or not key.strip():
                raise ValueError("Each key in where_conditions must be a non-empty string.")
    
    # 防止SQL注入: 将列名和表名用反引号括起来 (假定使用支持此语法的数据库,如MySQL)
    table_name = f"`{table_name.strip()}`"
    columns = ", ".join(f"`{col.strip()}`" for col in columns)
    
    # 生成基本的SELECT语句
    query = f"SELECT {columns} FROM {table_name}"
    
    # 如果存在WHERE条件,则附加WHERE子句
    if where_conditions:
        where_clauses = []
        for column, value in where_conditions.items():
            if isinstance(value, str):
                # 字符串值加单引号
                value = f"'{value.replace('\'', '\'\'')}'"  # 转义单引号
            elif value is None:
                # 如果值为None,转换为SQL的NULL
                value = "NULL"
            elif not isinstance(value, (int, float)):
                # 不允许其他类型
                raise ValueError(f"Unsupported value type for column `{column}`: {type(value)}")
            else:
                # 数字类型不加引号
                value = str(value)
            where_clauses.append(f"`{column.strip()}` = {value}")
        query += " WHERE " + " AND ".join(where_clauses)
    
    return query

函数示例用法:

# 示例1:基本查询
sql1 = generate_sql_query("users", ["id", "name", "email"])
print(sql1)
# 输出: SELECT `id`, `name`, `email` FROM `users`

# 示例2:带WHERE条件的查询
sql2 = generate_sql_query(
    "orders",
    ["order_id", "customer_id", "amount"],
    {"customer_id": 123, "status": "confirmed", "amount": 500.75}
)
print(sql2)
# 输出: SELECT `order_id`, `customer_id`, `amount` FROM `orders` WHERE `customer_id` = 123 AND `status` = 'confirmed' AND `amount` = 500.75

# 示例3:包含NULL值的WHERE条件
sql3 = generate_sql_query(
    "products",
    ["product_id", "product_name"],
    {"category_id": None, "is_available": 1}
)
print(sql3)
# 输出: SELECT `product_id`, `product_name` FROM `products` WHERE `category_id` = NULL AND `is_available` = 1

说明

  1. SQL注入保护
    • 表名和列名用反引号括起来,避免非法字符。
    • 字符串中的单引号被转义为SQL安全的形式。
  2. 边界情况处理
    • 表名和列名不能为空。
    • WHERE子句值支持 intfloatstrNone,其他类型会抛出异常。
  3. 代码可读性
    • 添加了详细注释,方便后续开发者维护。

如果有其他特殊的需求或扩展要求,可以进一步调整代码逻辑。

以下是根据需求实现的Python函数代码。该函数对输入字符串进行反转。

def reverse_string(input_string):
    """
    Function to reverse a given string.
    
    Args:
        input_string (str): The string to be reversed.
        
    Returns:
        str: The reversed string.
        
    Raises:
        TypeError: If the input is not a string.
    """
    # Parameter validation to ensure the input is a string
    if not isinstance(input_string, str):
        raise TypeError("Input must be a string")
    
    # Use Python's slicing feature to reverse the string
    reversed_string = input_string[::-1]
    
    return reversed_string

# Example usage:
# result = reverse_string("hello")
# print(result)  # Output: "olleh"

功能说明

  1. 参数验证:函数会验证输入是否为字符串。如果输入不是字符串类型,会抛出 TypeError,确保函数仅接收有效参数。
  2. 实现逻辑:利用字符串切片([::-1])的特性反转字符串,从尾到头获取字符。
  3. 健壮性:处理空字符串输入。如果输入为空字符串 "",函数会直接返回空字符串,因为反转结果仍然是空字符串。

使用示例

# 示例1: 普通字符串反转
print(reverse_string("hello"))  # 输出: "olleh"

# 示例2: 空字符串处理
print(reverse_string(""))  # 输出: ""

# 示例3: 单字符字符串
print(reverse_string("a"))  # 输出: "a"

# 示例4: 包含空格或特殊字符的字符串
print(reverse_string("!@ # ~$"))  # 输出: "$~ # @!"

示例详情

📖 如何使用

30秒出活:复制 → 粘贴 → 搞定
与其花几十分钟和AI聊天、试错,不如直接复制这些经过千人验证的模板,修改几个 {{变量}} 就能立刻获得专业级输出。省下来的时间,足够你轻松享受两杯咖啡!
加载中...
💬 不会填参数?让 AI 反过来问你
不确定变量该填什么?一键转为对话模式,AI 会像资深顾问一样逐步引导你,问几个问题就能自动生成完美匹配你需求的定制结果。零门槛,开口就行。
转为对话模式
🚀 告别复制粘贴,Chat 里直接调用
无需切换,输入 / 唤醒 8000+ 专家级提示词。 插件将全站提示词库深度集成于 Chat 输入框。基于当前对话语境,系统智能推荐最契合的 Prompt 并自动完成参数化,让海量资源触手可及,从此彻底告别"手动搬运"。
即将推出
🔌 接口一调,提示词自己会进化
手动跑一次还行,跑一百次呢?通过 API 接口动态注入变量,接入批量评价引擎,让程序自动迭代出更高质量的提示词方案。Prompt 会自己进化,你只管收结果。
发布 API
🤖 一键变成你的专属 Agent 应用
不想每次都配参数?把这条提示词直接发布成独立 Agent,内嵌图片生成、参数优化等工具,分享链接就能用。给团队或客户一个"开箱即用"的完整方案。
创建 Agent

✅ 特性总结

根据自然语言输入,一键生成满足需求的Python函数,免去复杂的编码过程,让开发者轻松高效完成任务。
自动添加参数校验和边界处理逻辑,提升代码的健壮性,减少潜在错误,让功能更加稳定可靠。
生成的代码遵循Python最佳实践,内置标准化注释,方便团队协作与后续维护,大幅节省沟通成本。
支持多场景需求,无论是简单的数学计算还是复杂数据处理,都能智能生成精准代码。
灵活适配个性化需求,可通过描述调整输入、输出参数和逻辑细节,满足多样化场景使用。
简化开发流程,将从需求到代码实现的过程缩短为几秒,显著提升开发者的效率和工作体验。
自动优化代码结构,保持简洁明了,让函数更具可读性和扩展性,为复杂项目开发打下稳固基础。

🎯 解决的问题

为开发者或技术相关从业者提供一种便捷高效的方式,通过简单的自然语言描述即可生成符合Python最佳实践的函数代码,减少编写代码的时间,同时保证代码质量。

🕒 版本历史

当前版本
v2.1 2024-01-15
优化输出结构,增强情节连贯性
  • ✨ 新增章节节奏控制参数
  • 🔧 优化人物关系描述逻辑
  • 📝 改进主题深化引导语
  • 🎯 增强情节转折点设计
v2.0 2023-12-20
重构提示词架构,提升生成质量
  • 🚀 全新的提示词结构设计
  • 📊 增加输出格式化选项
  • 💡 优化角色塑造引导
v1.5 2023-11-10
修复已知问题,提升稳定性
  • 🐛 修复长文本处理bug
  • ⚡ 提升响应速度
v1.0 2023-10-01
首次发布
  • 🎉 初始版本上线
COMING SOON
版本历史追踪,即将启航
记录每一次提示词的进化与升级,敬请期待。

💬 用户评价

4.8
⭐⭐⭐⭐⭐
基于 28 条评价
5星
85%
4星
12%
3星
3%
👤
电商运营 - 张先生
⭐⭐⭐⭐⭐ 2025-01-15
双十一用这个提示词生成了20多张海报,效果非常好!点击率提升了35%,节省了大量设计时间。参数调整很灵活,能快速适配不同节日。
效果好 节省时间
👤
品牌设计师 - 李女士
⭐⭐⭐⭐⭐ 2025-01-10
作为设计师,这个提示词帮我快速生成创意方向,大大提升了工作效率。生成的海报氛围感很强,稍作调整就能直接使用。
创意好 专业
COMING SOON
用户评价与反馈系统,即将上线
倾听真实反馈,在这里留下您的使用心得,敬请期待。
加载中...