python函数一:函数的概念、函数定义与调用、函数的参数、函数的返回值、说明文档以及函数的嵌套调用

news/2024/9/18 23:05:28 标签: python, 开发语言, 数据库, 大数据

文章目录

  • 1. 函数介绍
    • 1.1 函数的概念
    • 1.2 函数定义与调用
    • 1.2 函数的参数
    • 1.3 函数的返回值
    • 1.4 说明文档
  • 2. 函数的嵌套调用
    • 2.1 嵌套调用及执行流程
    • 2.2 嵌套调用的应用

1. 函数介绍

1.1 函数的概念

什么是函数?

函数:是一个被命名的、独立的、完成特定功能的代码段,其可能给调用它的程序一个返回值
通俗的说函数就是把一段可以实现某种功能的代码封装起来, 想要使用这个功能就可以直接调用函数。

被命名的:在Python中,大部分函数都是有名函数。
完成特定功能的代码段:函数的功能要专一,专门为了完成某个功能而定义。
返回值:当函数执行完毕后,其可能会返回一个值给函数的调用处。

函数的主要作用:
① 模块化编程
② 代码重用

函数中的几个重要概念:

  • 函数
  • 参数
  • 返回值

函数语法:

def 函数名([参数, ..]):
    代码1
    代码2
    ...
    [return 具体的值]

1.2 函数定义与调用

Python函数需要使用def关键字来定义。使用方式有两步:

(1)先定义

(2)后调用

当然了,函数在使用时,特点:

(1)先定义,后调用;
(2)不调用,不执行;
(3)调用一次,执行一次。

定义函数:

def 函数名():
    代码1
    代码2
    ...

调用函数:

函数名()

实例:
(1)编写一个show()函数,并在函数中输出:bug虐我千百遍, 我待bug如初恋。

(2)调用函数,观察执行结果。

python"># 1.定义
def show():
    print("bug虐我千百遍, 我待bug如初恋.")

# 2.调用
show()  # 1.写对函数名;   2.()

# 扩展
def show():
    # 代码
    pass

1.2 函数的参数

当在定义函数时,设定了参数,则可称该函数为:有参函数。反之,没有参数的函数,称为:无参函数。

定义有参数的函数,语法:

def 函数名(参数1,参数2,...):  # 形参
	代码1
    代码2
    ...

调用函数,语法:

函数名(参数值1,参数值2,...)  # 实参

说明:
(1)形参是指形式参数,表示在定义函数时的参数;
(2)实参是指实际参数,表示在调用函数时传递的参数值,具有实际意义。

实例:
(1)定义一个函数,用于求解两个数之和;

(2)接着,调用函数并执行程序,观察效果。

python"># 1.定义函数
def get_sum(a,b):
    ret = a + b
    print(f"两个数之和为:{ret}")

# 2.调用函数
get_sum(10,20)

总结
(1)当定义了有参数的函数时,调用函数也需要传递参数值;

(2)注意:当给有参函数传递参数时,要关注参数的三要素:个数、类型、顺序。

1.3 函数的返回值

函数的返回值指的是:当函数完成一件事情后,最后要返回给函数的结果。

返回值语法:

def 函数名([参数1, 参数2, ...]):
	代码1
	代码2
	...
	return 值

(1)若要给函数返回结果,需要使用return关键字;
(2)return关键字的作用:把结果返回给函数;结束函数;
(3)当函数没有返回值时,默认返回None。

实例:
(1)定义一个函数1,用于求解两个数之积,并把积返回给函数;

(2)定义一个函数2,用于求解两个数的差、和,并同时返回给函数;

(3)定义一个函数3,输出:人生苦短,我用Python;

(4)执行程序,观察效果。

python"># 1.求解积
def get_multiply(a, b):
    ret = a * b
    return ret

print(get_multiply(10,20))   # print()
print('-'*50)

# 2.求差、和
def get_sub_sum(a, b):
    ret1 = a -b
    ret2 = a + b
    return ret1,ret2   # 元组
result = get_sub_sum(30,14)
print(result)
print('-'*50)

# 3.输出:人生苦短,我用Python(输出没有返回值)
def show():
    print("人生苦短,我用Python。")
print(show())

1.4 说明文档

说明文档指的是:在定义函数的第一行,加上多行注释。这样的操作,可以让函数更加规范化。

当添加了说明文档后,在调用函数时,就能查看到函数的作用提示。

那么如何给函数添加说明文档呢?

查看print()函数
在这里插入图片描述

def 函数名():
    """ 说明文档的位置 """
    代码
    ...

当需要看函数的说明文档的具体内容时,语法:

help(函数名)

实例:
例如,一起来完成:

(1)定义一个函数1,无说明文档内容,输出:一山不容二虎;

(2)定义一个函数2,添加说明文档内容;

(3)执行程序,对比两个函数显示效果。

python">def func():
    """输出一句话"""
    print("="*40)
    print("一山不容二虎,除非一公和一母!")
    print("="*40)

func()
print(help(func))

# 没有说明文档
# def show():
#     print("一山不容二虎.")
#
# show()
# print(help(show))

2. 函数的嵌套调用

2.1 嵌套调用及执行流程

函数的嵌套调用指的是:在一个函数中,调用了另一个函数。

嵌套调用语法:

def 函数1():
	代码
	...

def 函数2():
	代码
	# 调用函数1
	函数1()
	...

说明:在函数2中,调用了函数1。
实例:
例如,一起来完成:

(1)先定义一个test()函数和func()函数;

(2)接着,在函数test()中,嵌套调用func()函数,并在外部调用test()函数;

(3)执行程序,观察效果;

python"># 1.定义func()
def func():
    print("==========AA===============")
    print("==========Nfunc()============")
    print("==========BB===============")

# 2.定义test()、调用func()
def test():
    print("*************11****************")
    func()
    print("**********M调用了test方法**************")
    print("*************22****************")

# 3.调用test()
test()   # 1ANBM2

2.2 嵌套调用的应用

使用函数的嵌套调用,可以把复杂的问题分解成:多个简单问题,这样便于解决问题。
比如,要求多个数的平均值。此时就可以拆分成两个函数:

  • 函数A:用于求解多个数之和;
  • 函数B:调用函数A,获取多个数之和,接着,再使用和除以总个数,就能求解出平均值。
    实例:
    (1)要完成一个输出任意条横线的需求;

(2)定义函数1:用于输出一条横线;

(3)定义函数2:先循环N次,再调用函数1,可输出N条横线;

(4)执行程序,观察效果。

python"># 1.定义函数
def line():
    print("-"*40)

# 2.N条横线
def print_lines(num):
    i = 0
    while i < num:
        # 嵌套调用
        line()
        i += 1

print_lines(10)

http://www.niftyadmin.cn/n/5664666.html

相关文章

设计模式学习[6]---代理模式

文章目录 前言1.原理阐述2.举例2.1 例子与类图2.2 代码 总结 前言 代理这个词&#xff0c;从小到大听过不少。比如什么代理服务器&#xff0c;代理商&#xff0c;代理人之类的。通俗来说&#xff0c;代理无非无非就是我代表你处理事务的意思。 那么在设计模式中&#xff0c;针…

Java 中的 FileWriter:用法详解与实战

FileWriter 是专门用于将字符写入文件的便捷类。它继承自 OutputStreamWriter&#xff0c;属于字符流类的一个部分&#xff0c;适合用于处理文本文件的写入操作。 1. FileWriter 概述 FileWriter 主要用于将字符数据写入到文件中。如果文件不存在&#xff0c;它会自动创建&…

四、JVM原理-4.1、JVM介绍

4.1、JVM介绍 4.1.1、如何理解Java虚拟机&#xff0c;它的结构是如何设计的&#xff1f; 答&#xff1a; Java虚拟机&#xff08;Java Virtual Machine&#xff0c;JVM&#xff09;是Java语言编写的程序在运行时的执行环境。它是Java的核心组成部分&#xff0c;负责解释和执行…

沉浸式体验Stability AI最新超强AI图片生成模型Ultra

2024年9月4日&#xff0c;亚马逊云科技在Amazon Bedrock上新了Stability AI最新的的三款文本图像生成模型&#xff1a;他们分别是Stable Image Ultra、Stable Diffusion 3 Large 和 Stable Image Core。全新的模型在处理多主题提示词、图像质量和图片排版上较上一代模型有显著提…

一个基于 laravel 和 amis 开发的后台框架, 友好的组件使用体验,可轻松实现复杂页面(附源码)

前言 随着互联网应用的发展&#xff0c;后台管理系统的复杂度不断增加&#xff0c;对于开发者而言&#xff0c;既要系统的功能完备&#xff0c;又要追求开发效率的提升。然而&#xff0c;传统的开发方式往往会导致大量的重复劳动&#xff0c;尤其是在构建复杂的管理页面时。有…

多目标优化算法(Multi-Objective Optimization Algorithms, MOOA)介绍

在现实世界中&#xff0c;许多问题都涉及到多个目标的权衡和优化。例如&#xff0c;在工程设计中&#xff0c;可能需要同时考虑成本、效率和可靠性&#xff1b;在资源管理中&#xff0c;可能需要平衡环境保护和经济效益。多目标优化算法&#xff08;Multi-Objective Optimizati…

Vue+nodejs+express旅游景区门票预订网站的设计与实现 8caai前后端分离

目录 技术栈具体实现截图系统设计思路技术可行性nodejs类核心代码部分展示可行性论证研究方法解决的思路Express框架介绍源码获取/联系我 技术栈 该系统将采用B/S结构模式&#xff0c;开发软件有很多种可以用&#xff0c;本次开发用到的软件是vscode&#xff0c;用到的数据库是…

大数据Flink(一百一十八):Flink SQL水印操作(Watermark)

文章目录 Flink SQL水印操作&#xff08;Watermark&#xff09; 一、为什么要有WaterMark 二、​​​​​​​​​​​​​​Watermark解决的问题 三、​​​​​​​​​​​​​​代码演示 Flink SQL水印操作&#xff08;Watermark&#xff09; 一、​​​​​​​为什么…