Python编程基础11:函数和模块

举报
howard2005 发表于 2021/11/19 01:37:36 2021/11/19
【摘要】 文章目录 一、函数和模块概述(一)函数概述(二)模块概述 二、函数(一)定义函数1、语法格式2、函数类型3、案例演示 (二)调用函数1、简要说明2、案例演示课堂练习:编程计算1! + 2...

一、函数和模块概述

(一)函数概述

函数可以看成是语句的集合,通过函数调用来执行其包含的语句。函数可以返回一个计算结果,根据每次函数调用的参数,可以返回不同的计算结果。Python利用函数提高代码的重用率,减少了代码冗余。

(二)模块概述

模块是程序代码和数据的封装。模块中定义的变量、函数或类等可导入到其他文件中使用。Python正是通过模块提供各种功能,例如,在前面用到的sys、os、math、random等都是模块。

二、函数

在编写程序时,往往会遇到在多处使用的类似代码。这时,可将重复代码提取出来,定义为函数。从而简化编程工作量,也使代码结构简化。

(一)定义函数

1、语法格式

def 函数名(参数表):
    函数体(语句组)
    return 返回值

  
 
  • 1
  • 2
  • 3

2、函数类型

  • 无参函数
  • 单参函数
  • 多参函数

3、案例演示

  • 定义无参函数
    在这里插入图片描述
  • 定义单参函数
    在这里插入图片描述
  • 定义多参函数
    在这里插入图片描述
  • 定义有返回值的函数
    在这里插入图片描述
  • 课堂练习:定义一个求差函数

(二)调用函数

1、简要说明

  • 函数通过函数名加上一组圆括号进行调用,参数放在圆括号内,多个参数之间用逗号分隔。
  • 在Python中,所有的语句都是实时执行的,不像C/C++存在编译过程。def也是一条可执行语句,定义一个函数。所以函数的调用必须在函数定义之后。
  • 在Python中,函数名也是一个变量,它引用return语句返回的值,没有返回值时,函数值为None。

2、案例演示

  • 编写并调用阶乘函数 - factorial(n)
    在这里插入图片描述
  • 运行程序,查看结果
    在这里插入图片描述

课堂练习:编程计算1! + 2! + 3! + … + 10!

(三)函数参数

在定义函数时,参数表中的各个参数称为形式参数,简称形参。调用函数时,参数表中提供的参数称为实际参数,简称实参。在Python中,变量保存的是对象的引用,类似C/C++中的指针。实参传递给形参就是将对象的引用赋值给形参。

1、参数的多态性

多态是面向对象的一个特点,指多一个行为针对不同对象可能会得到不同的结果。Python中的变量无类型属性,变量可引用各种不同类型的对象。同一个函数,传递的实际参数类型不同时,可获得不同的结果,体现了多态性。

2、参数赋值传递

通常,函数调用时按参数的先后顺序,将实参传递给形参。例如:调用add(1, 2.5)时,1传递给a,2.5传递给b。Python允许以形参赋值的方式,指定将实参传递给形参。

三、利用函数实现模块化

1、创建多级菜单系统

  • 编写程序 - 多级菜单系统.py
# -*- coding: utf-8 -*-
"""
功能:多级菜单系统
作者:华卫
日期:2021年1月4日
"""

def add_record():
    print('添加记录功能尚待开发')

def query_record():
    print('查询记录功能尚待开发')

def modify_record():
    print('修改记录功能尚待开发')

def delete_record():
    print('删除记录功能尚待开发')

def login():
    while True:
        print('主菜单')
        print('=============')
        print('1. 增加记录')
        print('2. 查询记录')
        print('3. 修改记录')
        print('4. 删除记录')
        print('5. 返回上级菜单')
        print('==============')
        mc2 = int(input('输入菜单号:'))
        if mc2 == 1:
            add_record()
        elif mc2 == 2:
            query_record()
        elif mc2 == 3:
            modify_record()
        elif mc2 == 4:
            delete_record()
        else:
            break

while True:
    print('============')
    print('1. 登录')
    print('2. 退出')
    print('============')
    mc1 = int(input('输入菜单号:'))
    if mc1 == 1:
        login()
    elif mc1 == 2:
        print('谢谢使用!')
        break


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53

2、启动程序,查看效果

在这里插入图片描述

文章来源: howard2005.blog.csdn.net,作者:howard2005,版权归原作者所有,如需转载,请联系作者。

原文链接:howard2005.blog.csdn.net/article/details/111870921

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。