<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>函数 on 老张开工了</title>
    <link>/%E5%87%BD%E6%95%B0/</link>
    <description>Recent content in 函数 on 老张开工了</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sat, 09 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="/%E5%87%BD%E6%95%B0/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>函数定义与参数传递</title>
      <link>/posts/2026/05/functions/</link>
      <pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate>
      <guid>/posts/2026/05/functions/</guid>
      <description>函数是组织代码的基本单元。它让你把一段逻辑封装起来，给它一个名字，然后在需要的地方反复调用。Python 的函数设计灵活而强大——从最简单的位置参数到复杂的 *args、**kwargs，从类型注解到嵌套函数，掌握函数就等于掌握了代码复用的钥匙。&#xA;def 语句与函数定义 Python 使用 def 关键字定义函数，基本语法如下：&#xA;def greet(name): &amp;#34;&amp;#34;&amp;#34;向指定的人打招呼&amp;#34;&amp;#34;&amp;#34; return f&amp;#34;Hello, {name}!&amp;#34; print(greet(&amp;#34;Alice&amp;#34;)) # Hello, Alice! 函数的组成部分：&#xA;部分 说明 def 关键字 声明这是一个函数 函数名 greet 遵循变量命名规则，建议用蛇形命名法 参数列表 (name) 输入，可以为空 () 冒号 : 标志函数头结束 函数体（缩进块） 实际执行的代码 return 语句 返回值，没有 return 则返回 None 函数定义只是创建了一个可调用对象，函数体在调用之前不会执行：&#xA;def lazy(): print(&amp;#34;这行代码被推迟执行了！&amp;#34;) print(&amp;#34;函数已定义，但尚未执行&amp;#34;) # 先执行 lazy() # 现在才执行函数体 参数 vs 参数 初学者经常混淆这两个概念：&#xA;参数（Parameter）：函数定义时写在括号里的变量名，是&amp;quot;形参&amp;quot; 参数（Argument）：调用函数时传入的具体值，是&amp;quot;实参&amp;quot; def add(x, y): # x 和 y 是参数（Parameter） return x + y result = add(3, 5) # 3 和 5 是参数（Argument） 用中文记忆：&amp;ldquo;参数&amp;quot;是定义时的占位符，&amp;ldquo;参数&amp;quot;是调用时塞进去的值。</description>
    </item>
    <item>
      <title>存储过程与函数</title>
      <link>/posts/2025/02/stored-procedures-and-functions/</link>
      <pubDate>Fri, 21 Feb 2025 10:00:00 +0800</pubDate>
      <guid>/posts/2025/02/stored-procedures-and-functions/</guid>
      <description>存储过程和函数允许你在数据库内部执行业务逻辑——数据不离开数据库，减少网络往返，对特定场景有显著性能优势。&#xA;函数 vs 存储过程 PostgreSQL 11 之前只有函数（必须返回值），11 之后引入了真正的存储过程（可以不返回值）。&#xA;特性 函数（FUNCTION） 存储过程（PROCEDURE） 返回值 必须返回（可 VOID） 可不返回 事务控制 不支持 BEGIN/COMMIT 内部 支持 SELECT 调用 ✅ SELECT func() ❌ CALL 调用 ❌ ✅ CALL proc() 参数模式 IN / OUT / INOUT IN / INOUT 创建函数 CREATE OR REPLACE FUNCTION func_name(param1 TYPE, param2 TYPE DEFAULT default_value) RETURNS return_type LANGUAGE plpgsql AS $$ BEGIN -- 函数体 RETURN result; END; $$; 标量函数 -- 最简单的函数：计算折扣价格 CREATE OR REPLACE FUNCTION calc_discount_price( p_price NUMERIC, p_discount NUMERIC DEFAULT 0.</description>
    </item>
  </channel>
</rss>
