博客
关于我
07-1 Python函数
阅读量:798 次
发布时间:2023-04-02

本文共 1381 字,大约阅读时间需要 4 分钟。

1. 函数

1.1 函数概述

函数是一种将输入映射到输出的规则,能够通过定义清晰的代码实现特定功能。它的优势在于能够模块化代码,提高代码复用性和可维护性。

  • 函数定义和优势:

    函数允许我们以不同的形状打印内容,例如创建多种类型的图形。通过定义函数,我们可以将复杂的操作分解为简单的步骤,从而简化代码结构。

# 打印不同形状的星号图形  # 2x2的正方形  for i in range(0, 2):      for j in range(0, 2):          print("*", end="")      print()  # 3x3的正方形  for i in range(0, 3):      for j in range(0, 3):          print("*", end="")      print()  # 4x4的正方形  for i in range(0, 4):      for j in range(0, 4):          print("*", end="")      print()
  • 改写后的函数定义:

    下面是一个定义打印星号图形的函数:

    def print_xx(x):      for i in range(0, x):          for j in range(0, x):              print("*", end="")          print("")

    调用示例:

    print_xx(2)

    print_xx(3)

    print_xx(4)

  • 函数的优点:

    1. 代码复用性强:可以多次调用同一个函数,减少重复代码。

    2. 模块化清晰:函数与其功能紧密结合,便于维护和理解。

    3. 可扩展性强:可以通过参数调整功能行为,适应不同的需求。

1.2 函数定义和调用

函数定义

函数定义的步骤包括确定功能、指定参数、写入实现逻辑并添加返回值。例如,函数的定义语法为:

def 函数名(参数名):

函数调用

  • 函数调用格式:

    格式为:函数名(参数值)

    例如:

    def sum(a, b): print(a + b)

    调用方式为:sum(3, 4)

  • 调用过程:
  • 程序暂停执行当前位置,进入函数体。
  • 将函数参数传递给函数内部处理。
  • 执行函数内部的操作,并返回结果。
  • 程序继续执行,返回调用位置。

作业练习

  • 改写平均数函数:

    定义一个求平均数的函数,接受三个数字参数,并返回它们的平均值。

    def avg_input(x, y, z):      avg = (x + y + z) / 3      print(f"平均数是:{avg}")
  • 判断闰年函数:

    定义一个判断闰年的函数,接收一个年份参数,返回该年份是否为闰年。

    def judge_rn(year):      if year % 400 == 0:          print(f"{year}是闰年")      elif year % 4 == 0 and year % 100 != 0:          print(f"{year}是闰年")      else:          print(f"{year}不是闰年")
  • 函数调用示例:

    judge_rn(2008)

    avg_input(1, 2, 3)

  • 转载地址:http://koefk.baihongyu.com/

    你可能感兴趣的文章
    Struts2中使用Session的两种方法
    查看>>
    Stream API:filter、map和flatMap 的用法
    查看>>
    STM32工作笔记0032---编写跑马灯实验---寄存器版本
    查看>>
    ssm旅游信息管理系统的设计与实现bus56(程序+开题)
    查看>>
    order by rand()
    查看>>
    SSM(Spring+SpringMvc+Mybatis)整合开发笔记
    查看>>
    Orderer节点启动报错解决方案:Not bootstrapping because of 3 existing channels
    查看>>
    org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement profile
    查看>>
    sql查询中 查询字段数据类型 int 与 String 出现问题
    查看>>
    org.apache.commons.beanutils.BasicDynaBean cannot be cast to ...
    查看>>
    org.apache.dubbo.common.serialize.SerializationException: com.alibaba.fastjson2.JSONException: not s
    查看>>
    sqlserver学习笔记(三)—— 为数据库添加新的用户
    查看>>
    org.apache.http.conn.HttpHostConnectException: Connection to refused
    查看>>
    org.apache.ibatis.binding.BindingException: Invalid bound statement错误一例
    查看>>
    org.apache.ibatis.exceptions.PersistenceException:
    查看>>
    org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
    查看>>
    org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
    查看>>
    org.apache.poi.hssf.util.Region
    查看>>
    org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
    查看>>
    org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
    查看>>