Python57-60:核心语法-函数基础-函数定义、参数与返回值、说明文档

什么是函数?

函数是组织好的、可重复使用的、用来实现特定功能的代码片断。

要输入,直接调用 input();要输出,直接调用 print()。因为 input()、print()是Python的内置函数:

  • 是提前定义好的
  • 可以重复使用
  • 实现特定功能的

max(), min(), len(), sum()也是Python的内置函数。

函数:函数基础、函数进阶。


函数基础

  • 函数定义
  • 函数的参数与返回值
  • 函数说明文档
  • 案例

函数定义

函数定义与调用

注意:函数定义时的参数列表与返回值语句是可有可无的(由需求确定),函数必须先定义后调用执行(函数定义时,内部代码并未执行,在调用时才执行)。

python 复制代码
# 函数定义
def out_line():
    print("--------------------")
    # 可以在一个函数内调用另一个函数

# 函数调用
out_line()

函数使用的注意事项:

  1. 函数必须先定义,再调用

  2. 函数定义时,并不会执行,只有在调用函数时,函数体的逻辑才会运行

  3. 函数中通过缩进来描述归属关系

函数的参数与返回值

在定义函数时,根据业务需要,可以指定参数与返回值,具体格式如下:

注意:return语句必须出现在函数的末尾:一旦return了,就表示函数走到这就结束了、就已经返回了,其后如果函数体还有代码是不会执行的。

注意:函数定义时如果有多个参数,多个参数之间使用逗号(,)分隔。

注意:return 语句只有返回功能,而没有输出打印的功能,如果要输出,需要结合print()函数来实现。

  • 形参(形式参数):函数定义时括号里的参数,只能在函数内使用(局部变量)。
  • 实参(实际参数):函数在实际调用时传入的参数。

在调用函数时,所传入的实参的顺序要与形参的顺序保持一致。

python 复制代码
# 函数1:计算圆的面积
def circle_area(r):
    area = 3.14 * r **2
    return area

area = circle_area(10)
print(area)

# 函数2:计算长方形的面积
def rectangle_area(l,w):
    area = l * w
    return area

print(rectangle_area(10,5))

# 函数3:计算圆的面积,周长--->如果返回值有多个,多个返回值之间逗号分隔--->多个返回值会封装到元组中
def circle_area_len(r):
#  return 3.14 * r**2, 2*3.14*r  # (314.0, 62.800000000000004)
    return round(3.14 * r *r,1), round(2 * 3.14 * r,1)  # 用round解决精度的问题,保留1位小数。

al = circle_area_len(10)
print(al)   # (314.0, 62.8)
print(type(al))     # <class 'tuple'>

area, len = circle_area_len(10) # 解包
print(area)
print(len)
print(area, len)    # 314.0 62.8

函数的说明文档

函数的说明文档(Docstring)是写在函数开头,用三个引号包裹的字符串,用于解释函数的功能、参数、返回值等信息,方便调用者清楚函数的具体作用及细节。

小技巧:按住ctrl,把鼠标放在print函数上一点击,会弹出print函数的专门说明文档。

记住:好的文档,能让你的代码更容易理解、使用和维护!

python 复制代码
# 函数2:计算长方形的面积
def rectangle_area(l,w):
    """
    该函数根据长方形的长度和宽度,计算长方形的面积
    :param l:长度
    :param w:宽度
    :return:长方形的面积
    """
    area = l * w
    return area

help(rectangle_area)    #rectangle_area不要加括号,加括号是调用函数
print(rectangle_area(10,5))

# 函数3:计算圆的面积,周长--->如果返回值有多个,多个返回值之间逗号分隔--->多个返回值会封装到元组中
def circle_area_len(r):
    """
    根据圆的半径,计算圆的面积和周长
    :param r: 半径
    :return: 圆的面积,圆的周长
    """

#  return 3.14 * r**2, 2*3.14*r  # (314.0, 62.800000000000004)
    return round(3.14 * r *r,1), round(2 * 3.14 * r,1)  # 用round解决精度的问题,保留1位小数。

al = circle_area_len(10)
print(al)   # (314.0, 62.8)
print(type(al))     # <class 'tuple'>

area, len = circle_area_len(10) # 解包
print(area, len)    # 314.0 62.8

**声明:**本篇学习笔记参考黑马程序员相关课程,部分素材来源于网络公开资料及本人补充;文中为个人整理复盘,仅供学习交流使用。

相关推荐
破茧蝴蝶13 小时前
Python分布式爬虫完整教程
开发语言·python
benchmark_cc13 小时前
量化系统架构设计:为什么应该将数据获取与策略逻辑解耦?
python·数据分析·pandas·量化交易·股票数据·quantdash
凤山老林13 小时前
Spring Boot 启动冲刺:耗时剖析、懒加载策略与事件驱动初始化优化
spring boot·后端·python
小白快快跑哦14 小时前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算
Thinker QAQ14 小时前
并发编程(九):BlockingQueue 与 Channel——语言层的原子性、可见性与有序性
java·python·go·并发编程·channel·blockingqueue·message passing
道满科技14 小时前
Function Calling 参数总出错?只修参数就行
linux·windows·python
霸道流氓气质15 小时前
RAG 可观测性与生产监控实战:四层遥测模型、五大仪表盘与 OpenTelemetry 全链路追踪的 Java 生产级实现
java·人工智能·python
ch62317 小时前
《AI 辅助编程实战:从零跑通一个 Excel 报表生成脚本的踩坑与复盘》
人工智能·python
import_random17 小时前
[python]conda和pip(区别和联系2)
python
Aurorar0rua18 小时前
CS50 x 2024 Notes Python - 01
开发语言·python·学习方法