Python编程基础之函数和模块

目录
  • 二、函数
    • (一)定义函数
      • 1、语法格式
      • 2、函数类型
      • 3、案例演示
    • (二)调用函数
      • 1、简要说明
      • 2、案例演示
    • (三)函数参数
      • 1、参数的多态性
      • 2、参数赋值传递
  • 三、利用函数实现模块化
    • 1、创建多级菜单系统
    • 2、启动程序,查看效果
  • 总结

一、函数和模块概述

(一)函数概述

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

执行dir(__builtin__)可以查看Python所有内置对象

['ArithmeticError',
 'AssertionError',
 'AttributeError',
 'BaseException',
 'BlockingIOError',
 'BrokenPipeError',
 'BufferError',
 'BytesWarning',
 'ChildProcessError',
 'ConnectionAbortedError',
 'ConnectionError',
 'ConnectionRefusedError',
 'ConnectionResetError',
 'DeprecationWarning',
 'EOFError',
 'Ellipsis',
 'EnvironmentError',
 'Exception',
 'False',
 'FileExistsError',
 'FileNotFoundError',
 'FloatingPointError',
 'FutureWarning',
 'GeneratorExit',
 'IOError',
 'ImportError',
 'ImportWarning',
 'IndentationError',
 'IndexError',
 'InterruptedError',
 'IsADirectoryError',
 'KeyError',
 'KeyboardInterrupt',
 'LookupError',
 'MemoryError',
 'ModuleNotFoundError',
 'NameError',
 'None',
 'NotADirectoryError',
 'NotImplemented',
 'NotImplementedError',
 'OSError',
 'OverflowError',
 'PendingDeprecationWarning',
 'PermissionError',
 'ProcessLookupError',
 'RecursionError',
 'ReferenceError',
 'ResourceWarning',
 'RuntimeError',
 'RuntimeWarning',
 'StopAsyncIteration',
 'StopIteration',
 'SyntaxError',
 'SyntaxWarning',
 'SystemError',
 'SystemExit',
 'TabError',
 'TimeoutError',
 'True',
 'TypeError',
 'UnboundLocalError',
 'UnicodeDecodeError',
 'UnicodeEncodeError',
 'UnicodeError',
 'UnicodeTranslateError',
 'UnicodeWarning',
 'UserWarning',
 'ValueError',
 'Warning',
 'WindowsError',
 'ZeroDivisionError',
 '__IPYTHON__',
 '__build_class__',
 '__debug__',
 '__doc__',
 '__import__',
 '__loader__',
 '__name__',
 '__package__',
 '__spec__',
 'abs',
 'all',
 'any',
 'ascii',
 'bin',
 'bool',
 'breakpoint',
 'bytearray',
 'bytes',
 'callable',
 'cell_count',
 'chr',
 'classmethod',
 'compile',
 'complex',
 'copyright',
 'credits',
 'debugcell',
 'debugfile',
 'delattr',
 'dict',
 'dir',
 'display',
 'divmod',
 'enumerate',
 'eval',
 'exec',
 'filter',
 'float',
 'format',
 'frozenset',
 'get_ipython',
 'getattr',
 'globals',
 'hasattr',
 'hash',
 'help',
 'hex',
 'id',
 'input',
 'int',
 'isinstance',
 'issubclass',
 'iter',
 'len',
 'license',
 'list',
 'locals',
 'map',
 'max',
 'memoryview',
 'min',
 'next',
 'object',
 'oct',
 'open',
 'ord',
 'pow',
 'print',
 'property',
 'range',
 'repr',
 'reversed',
 'round',
 'runcell',
 'runfile',
 'set',
 'setattr',
 'slice',
 'sorted',
 'staticmethod',
 'str',
 'sum',
 'super',
 'tuple',
 'type',
 'vars',
 'zip']

演示Python内置函数

 

(二)模块概述

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

1、sys模块

查看sys模块包含的对象(属性和方法)

使用sys模块的path

 2、os模块

导入os模块

获取当前工作目录

 3、math模块

4、random模块

二、函数

  • 在编写程序时,往往会遇到在多处使用的类似代码。这时,可将重复代码提取出来,定义为函数。从而简化编程工作量,也使代码结构简化。
  • 函数有三要素:函数名(function name)、参数列表(parameter list)、返回值(return value)
  • 参数有两种类型:位置参数(positional parameter)、键参数(key parameter)

(一)定义函数

1、语法格式

def: define

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

如果我们定义一个函数,没有写return语句,系统会自动给它添加一个return None

2、函数类型

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

3、案例演示

定义无参函数

定义单参函数(调用时可以用位置参数,也可以用键参数)

定义多参函数

说明:定义函数时的参数叫做形式参数(formal paramter),简称形参(虚参);调用函数时的参数叫做实际参数(actual parameter),简称实参。调用函数,就是将实参传递给形参,进行处理之后,得到返回值。

定义有返回值的函数

(二)调用函数

1、简要说明

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

2、案例演示

编写并调用阶乘函数 - factorial(n)

运行程序,查看结果

(三)函数参数

在定义函数时,参数表中的各个参数称为形式参数,简称形参。调用函数时,参数表中提供的参数称为实际参数,简称实参。在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

2、启动程序,查看效果

总结

篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Python模块glob函数示例详解教程

    目录 本文大纲 支持4个常用的通配符 1)glob()函数 2)iglob()函数 3)escape()函数 总结 本文大纲 glob模块也是Python标准库中一个重要的模块,主要用来查找符合特定规则的目录和文件,并将搜索的到的结果返回到一个列表中.使用这个模块最主要的原因就是,该模块支持几个特殊的正则通配符,用起来贼方便,这个将会在下方为大家进行详细讲解. 支持4个常用的通配符 使用glob模块能够快速查找我们想要的目录和文件,就是由于它支持*.**.? .[ ]这三个通配符,那么它们到底是

  • Python中非常实用的Math模块函数教程详解

    目录 math模块常数 1. 圆周率 2. Tau (τ) 3. 欧拉数 4. 无限 5. 不是数字 算术函数 1. factorial() 2. ceil() 3. floor() 4. trunc() 5. isclose() 幂函数 1. exp() 2. 对数函数 其他重要的math模块功能 由于该math模块与 Python 版本一起打包,因此您不必单独安装它,直接导入: import math math模块常数 Pythonmath模块提供了多种预定义常量.访问这些常量提供了几个优点

  • Python编程itertools模块处理可迭代集合相关函数

    容器与可迭代对象 在正式开始前先补充一些基本概念在 Python 中存在容器 与 可迭代对象 容器:用来存储多个元素的数据结构,例如 列表,元组,字典,集合等内容: 可迭代对象:实现了 __iter__ 方法的对象就叫做可迭代对象. 从可迭代对象中还衍生出 迭代器 与 生成器: 迭代器:既实现了 __iter__,也实现了 __next__ 方法的对象叫做迭代器: 生成器:具有 yield 关键字的函数都是生成器. 这样就比较清楚了,可迭代对象的范围要大于容器.而且可迭代对象只能使用一次,使用完

  • python函数存储在模块的优点及用法总结

    1.通过将函数存储在独立的文件中,可隐藏程序代码的细节,将重点放在程序的高层逻辑上. 2.能让你在众多不同的程序中重用函数. 将函数存储在独立文件中后,可与其他程序员共享这些文件而不是整个程序.知道如何导入函数还能让你使用其他程序员编写的函数库. 实例 导入模块中的所有函数 from tags import * make_tags('世界美术名作二十讲 : 插图珍藏本', '艺术') print_tags(['艺术史', '艺术']) Python 在读取这个文件时, 代码 import tag

  • Python基础知识之函数,类,模块

    目录 1.Function 函数 1)定义函数 2)参数设置 3)全局和局部变量 2.Class类 1)定义class 2)class的功能 3)继承 4)私有属性和功能 5)特殊方法 3.Module模块 1)引用module 2)大项目的模块管理 总结 1.Function 函数 编程中,需要重复写的功能,可以包装成一个函数 1)定义函数 定义函数之前,实现给一个字符串增加前缀和后缀的操作: f1 = "f1" f2 = "f2" f1 += ".tx

  • python模块shutil函数应用示例详解教程

    目录 本文大纲 知识串讲 1)模块导入 2)复制文件 3)复制文件夹 4)移动文件或文件夹 5)删除文件夹(慎用) 6)创建和解压压缩包 本文大纲 os模块是Python标准库中一个重要的模块,里面提供了对目录和文件的一般常用操作.而Python另外一个标准库--shutil库,它作为os模块的补充,提供了复制.移动.删除.压缩.解压等操作,这些 os 模块中一般是没有提供的.但是需要注意的是:shutil 模块对压缩包的处理是调用 ZipFile 和 TarFile这两个模块来进行的. 知识串

  • Python编程基础之函数和模块

    目录 二.函数 (一)定义函数 1.语法格式 2.函数类型 3.案例演示 (二)调用函数 1.简要说明 2.案例演示 (三)函数参数 1.参数的多态性 2.参数赋值传递 三.利用函数实现模块化 1.创建多级菜单系统 2.启动程序,查看效果 总结 一.函数和模块概述 (一)函数概述 函数可以看成是语句的集合,通过函数调用来执行其包含的语句.函数可以返回一个计算结果,根据每次函数调用的参数,可以返回不同的计算结果.Python利用函数提高代码的重用率,减少了代码冗余. 执行dir(__builtin

  • python 基本结构语句(函数和模块)

    目录 一.基本结构语句 一).条件语句 二).循环语句 1.while循环 2.for语句 二.函数与模块 一).函数 二).模块 一.基本结构语句 一).条件语句 age = int(input("请输入你家狗狗的年龄: ")) print("") if age <= 0: print("你是在逗我吧!") elif age == 1: print("相当于 14 岁的人.") elif age == 2: print

  • Python编程基础之类和对象

    目录 零.本讲学习目标 一.面向对象 (一)程序员“面向对象” (二)两种编程思想实现五子棋 (三)面向过程 vs. 面向对象 (四)面向对象三大特点 1.封装(encapsulation) 2.继承(inheritance) 3.多态(polymorphism) 二.类和对象 (一)类和对象的关系 1.概述 2.示意图 (二)类的定义 1.类的构成 2.类定义语法格式 3.案例演示 (三)创建对象 1.语法格式 2.给对象添加属性 3.案例演示 三.Python中的对象 (一)概述 (二)常用

  • Python编程基础之字典

    目录 一.字典概念 二.字典操作 (一)创建字典 1.先创建空字典,再添加元素(键值对) 2.直接创建包含若干键值对的字典 (二)字典操作 1.读取字典元素 - 按键取值 2.添加字段元素 - 按键赋值 3.更新字典元素 4.遍历字典元素 5.删除字典元素 6.将字典拆分成键列表与值列表 7.将字典转换成键值元组构成的列表 8.基于两个等长列表创建字典 9.关于字典元素获取的缺省值 三.课后作业 任务1.将单词列表按首字母分类成列表字典 任务2.统计文件里每个单词的个数 总结 一.字典概念 字典

  • Python编程基础之输入与输出

    目录 一.IPO模型  二.基本输入 - input()函数 1.函数格式 2.参数说明 3.实例演示 (1)接收字符串数据 (2)接收整型数据 (3)接收浮点型数据 (4)容易出现的错误 三.基本输出 - print()函数 1.函数格式 2.参数说明 3.实例演示 (1)输出空行 (2)输出一个或多个对象 (3)指定分隔符 (4)指定结束符号 (5)输出到文件 (6)格式输出 (7)引申案例 - 输出斐波拉契数列 四.美观输出 - pprint()函数 1.pprint模块概述 2.ppri

  • Python编程基础之运算符重载详解

    目录 学习目标 一.运算符重载 (一)概述 (二)加法运算重载符 1.概述 2.案例演示 总结 学习目标 1.掌握运算符重载 2.会定制对象字符串的形式 一.运算符重载 (一)概述 运算符重载是通过实现特定的方法使类的实例对象支持Python的各种内置操作 .例如:+运算符是类里提供的__add__这个函数,当调用+实现加法运算的时候,实际上是调用了__add__方法. 方法 说明 何时调用方法 __add__ 加法运算 对象加法:x+y,x+=y __sub__ 减法运算 对象减法:x-y,x

  • Python编程基础之构造方法和析构方法详解

    目录 一.本讲学习目标 二.构造方法 (一)概述 (二)案例演示 三.析构方法 (一)概述 (二)案例演示 四.self的使用 (一)self概述 (二)案例演示 总结 一.本讲学习目标 1.掌握构造方法的使用 2.掌握析构方法的使用 3.掌握self变量的使用 二.构造方法 (一)概述 构造方法指的是__init__()方法. 当创建类的实例的时候,系统会自动调用构造方法,从而实现对类进行初始化的操作. (二)案例演示 编写程序 - 演示构造方法.py 构造方法第一个参数 必须是self,表示

  • 没编程基础可以学python吗

    Python是一门高级编程语言,而且Python语言适合零基础人员学习,也是初学者的首选. 如何学习好Python: 1. 要有决心 做任何事情,首先要有足够的决心和坚持,才能做好事情.学好Python. 2. 勤于动手 对于编程语言的学习,不能眼高手低,学的过程中,想到就要写出来,一方面能够培养出写代码的感觉,另一方面可以加深知识的掌控. 3. 一套完整的学习体系 Python编程语言的全面学习,需要拥有一整套系统的学习资料和学习计划,全面掌握Python基础知识,对以后解决Python编程过

  • 高考考python编程是真的吗

    现在只有山东.北京.上海等发达地区有考Python的这个举动,其他地区暂时还没有. 首先,Python类似于c++,Python是一种面向对象的解释型计算机程序设计语言,有荷兰人Guido van Rossum于1989年发明,它有丰富和强大的库,常被称为胶水语言,能够把其他语言制作的各种模块很轻松的联结在一起. 作为一种应用非常广泛的编程语言,在人工智能.数据科学.web应用.用户交互界面.自动化任务等方面,Python都有其用武之地. 但是Python作为高考科目,也能让孩子更早的接触计算机

  • Python编程functools模块中创建修改函数的高阶函数解析

    partial 函数 partial 为偏函数(有的地方也叫做部分应用函数),它是对函数的二次封装,将现有函数的部分参数提前绑定为指定值,然后再进行计算. 由于偏函数的可变参数少,因此函数调用的难度低. 直接展示代码: from functools import partial # 原函数声明 def show(name, level): print("name:", name, "level:", level) # 定义偏函数,封装 show() 函数,并为 na

随机推荐