Python内置函数之deffunction_name函数解读

Written by

in

文章目录
  • def function_name(parameters): “””函数文档字符串(可选)””” # 函数体 return value # 返回值(可选)
  • 函数参数分为以下几类:
  • 函数可通过return语句返回值,支持返回多个值(元组形式)。 def calculate(a, b): return a + b, a – b, a * b # 返回多个值 sum_result, diff_result, prod_result = calculate(5, 3) print(sum_result) # 输出: 8 print(diff_result) # 输出: 2 print(prod_result) # 输出: 15
  • 作用域:函数内部定义的变量为局部变量,外部无法访问。 def test(): x = 10 print(x) # 报错:NameError 默认参数的陷阱:默认参数只在函数定义时初始化一次,避免使用可变对象(如列表)作为默认参数。 def append_value(value, lst=[]): # 错误示例 lst.append(value) return lst print(append_value(1)) # 输出: [1] print(append_value(2)) # 输出: [1, 2](非预期) 正确做法: def append_value(value, lst=None): if lst is None: lst = [] lst.append(value) return lst 文档字符串(Docstring):建议为函数添加文档说明,通过__doc__属性访问。 def my_func(): “””这是一个示例函数””” pass print(my_func.__doc__) # 输出: “这是一个示例函数”
  • 函数是 Python 编程的核心,通过合理定义参数、返回值和函数体,可以实现代码复用和模块化。掌握位置参数、默认参数、可变参数、关键字参数的用法,以及返回值的处理,是编写高效 Python 代码的基础。 以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。 您可能感兴趣的文章: 详解Python中的偏函数(Partial Functions) python人工智能tensorflow常用激活函数Activation Functions Python偏函数Partial function使用方法实例详解 Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
  • 目录
    • 1. 函数定义语法
      • 关键要素
    • 2. 参数类型
      • 位置参数(Positional Arguments)
      • 默认参数(Default Arguments)
      • *可变参数(args)
      • ** 关键字参数(kwargs)
      • 混合使用
    • 3. 返回值
      • 4. 实战案例
        • 案例 1:字符串反转
        • 案例 2:判断素数
        • 案例 3:文件读取
        • 案例 4:高阶函数(函数作为参数)
      • 5. 注意事项
        • 6. 进阶技巧
          • Lambda 函数(匿名函数)
          • 装饰器(Decorators)
        • 总结

          在 Python 中,def function_name是定义函数的基本语法。函数是组织好的、可重复使用的代码块,用于执行单一或相关联的任务。

          下面详细介绍函数的定义、参数、返回值及实战案例。

          def function_name(parameters):
              """函数文档字符串(可选)"""
              # 函数体
              return value  # 返回值(可选)
          

          • def:关键字,声明函数。
          • function_name:函数名,遵循标识符规则(小写字母、下划线)。
          • parameters(参数):函数接收的输入,可选。
          • return:语句,用于返回结果,可省略(默认返回None)。

          函数参数分为以下几类:

          def add(a, b):
              return a + b
          
          result = add(3, 5)  # a=3, b=5,按位置传递参数
          

          def greet(name, msg="Hello"):
              return f"{msg}, {name}!"
          
          print(greet("Alice"))       # 使用默认值:"Hello, Alice!"
          print(greet("Bob", "Hi"))   # 覆盖默认值:"Hi, Bob!"
          

          接收任意数量的位置参数,打包为元组。

          def sum_all(*args):
              return sum(args)
          
          print(sum_all(1, 2, 3))      # 输出: 6
          print(sum_all(1, 2, 3, 4))   # 输出: 10
          

          接收任意数量的关键字参数,打包为字典。

          def print_info(**kwargs):
              for key, value in kwargs.items():
                  print(f"{key}: {value}")
          
          print_info(name="Alice", age=30)
          # 输出:
          # name: Alice
          # age: 30
          

          def complex_func(a, b=10, *args, **kwargs):
              print(f"a={a}, b={b}, args={args}, kwargs={kwargs}")
          
          complex_func(1, 2, 3, 4, x=5, y=6)
          # 输出: a=1, b=2, args=(3, 4), kwargs={'x': 5, 'y': 6}
          

          函数可通过return语句返回值,支持返回多个值(元组形式)。

          def calculate(a, b):
              return a + b, a - b, a * b  # 返回多个值
          
          sum_result, diff_result, prod_result = calculate(5, 3)
          print(sum_result)   # 输出: 8
          print(diff_result)  # 输出: 2
          print(prod_result)  # 输出: 15
          

          def reverse_string(s):
              return s[::-1]
          
          print(reverse_string("hello"))  # 输出: "olleh"
          

          def is_prime(num):
              if num < 2:
                  return False
              for i in range(2, int(num ** 0.5) + 1):
                  if num % i == 0:
                      return False
              return True
          
          print(is_prime(7))   # 输出: True
          print(is_prime(8))   # 输出: False
          

          def read_file(filename):
              try:
                  with open(filename, 'r') as f:
                      return f.read()
              except FileNotFoundError:
                  return None
          
          content = read_file("data.txt")
          if content:
              print(content)
          else:
              print("文件不存在")
          

          def apply_operation(func, a, b):
              return func(a, b)
          
          def multiply(x, y):
              return x * y
          
          result = apply_operation(multiply, 3, 4)
          print(result)  # 输出: 12
          

          作用域:函数内部定义的变量为局部变量,外部无法访问。

          def test():
              x = 10
          print(x)  # 报错:NameError
          

          默认参数的陷阱:默认参数只在函数定义时初始化一次,避免使用可变对象(如列表)作为默认参数。

          def append_value(value, lst=[]):  # 错误示例
              lst.append(value)
              return lst
          
          print(append_value(1))  # 输出: [1]
          print(append_value(2))  # 输出: [1, 2](非预期)
          

          正确做法

          def append_value(value, lst=None):
              if lst is None:
                  lst = []
              lst.append(value)
              return lst
          

          文档字符串(Docstring):建议为函数添加文档说明,通过__doc__属性访问。

          def my_func():
              """这是一个示例函数"""
              pass
          
          print(my_func.__doc__)  # 输出: "这是一个示例函数"
          

          适用于简单的单行函数:

          square = lambda x: x ** 2
          print(square(5))  # 输出: 25
          

          用于扩展函数功能:

          def timer_decorator(func):
              import time
              def wrapper(*args, **kwargs):
                  start_time = time.time()
                  result = func(*args, **kwargs)
                  print(f"函数运行时间: {time.time() - start_time}秒")
                  return result
              return wrapper
          
          @timer_decorator
          def heavy_computation(n):
              return sum(i*i for i in range(n))
          
          heavy_computation(1000000)  # 输出运行时间
          

          函数是 Python 编程的核心,通过合理定义参数、返回值和函数体,可以实现代码复用和模块化。掌握位置参数、默认参数、可变参数、关键字参数的用法,以及返回值的处理,是编写高效 Python 代码的基础。

          以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。

          您可能感兴趣的文章:

          • 详解Python中的偏函数(Partial Functions)
          • python人工智能tensorflow常用激活函数Activation Functions
          • Python偏函数Partial function使用方法实例详解
          • Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项

          站内搜索