目录

  • 单元1  初识Python
    • ● 任务 1.1  计算机程序设计语言概述
    • ● 任务 1.2 Python语言
    • ● 任务1.3 Python开发环境搭建
    • ● 任务 1.4 Python的简单使用
    • ● 知识拓展
    • ● 思考与练习
  • 单元2   Python基础知识
    • ● 任务2.1 Python程序基本结构
    • ● 任务2.2  标准输入输出
    • ● 任务2.3  Python对象
    • ● 任务2.4 Python变量
    • ● 任务2.5  数据类型
    • ● 任务2.6 字符串
    • ● 任务2.7 运算符
    • ● 知识拓展
    • ● 思考与练习
  • 单元3   程序流程控制
    • ● 任务3.1  顺序结构
    • ● 任务3.2 选择结构
    • ● 任务3.3  循环结构
    • ● 知识拓展
    • ● 思考与练习
  • 单元4  Python序列
    • ● 任务4.1  序列
    • ● 任务4.2 列表
    • ● 任务4.3  用于序列操作的常用内置函数
    • ● 任务4.4   元组
    • ● 任务4.5  字典
    • ● 任务4.6  集合
    • ● 知识拓展
    • ● 思考与练习
  • 单元5  函数
    • ● 任务5.1 函数的定义与调用
    • ● 任务5.2 函数的参数
    • ● 任务5.3   参数类型
    • ● 任务5.4  变量作用域
    • ● 任务5.5   嵌套调用与递归调用
    • ● 任务5.6  lambda表达式
    • ● 任务5.7  模块
    • ● 知识拓展
    • ● 思考与练习
  • 单元6  异常处理
    • ● 任务6.1 异常处理的基本概念
    • ● 任务6.2 Python的异常处理语句
    • ● 任务6.3  自定义异常
    • ● 知识扩展
    • ● 思考与练习
  • 单元7  文件操作
    • ● 任务7.1  文件的分类
    • ● 任务7.2  文件对象
    • ● 任务7.3  文本文件
    • ● 任务7.4  二进制文件
    • ● 知识拓展
    • ● 思考与练习
  • 单元8  面向对象程序设计
    • ● 任务8.1 面向对象技术的基本概念
    • ● 任务8.2 类与对象
    • ● 任务8.3 类的继承
    • ● 任务8.4 方法重写
    • ● 知识扩展
    • ● 思考与练习
  • 单元9  网络编程基础
    • ● 任务9.1  Socket概述
    • ● 任务9.2   Socket对象内建方法
    • ● 任务9.3  Socket编程实例
    • ● 任务9.4    PythonInternet模块
    • ● 知识扩展
    • ● 思考与练习
  • 单元10    Python标准库及第三方库
    • ● 任务10.1 Python标准库
    • ● 任务10.2 Python第三方库的下载及安装
    • ● 任务10.3  Python第三方库举例
    • ● 知识扩展
    • ● 思考与练习
  • 任务11 用户图形界面(GUI)
    • ● 任务11.1 图形用户界面概述
    • ● 任务11.2 窗体容器和组件
    • ● 任务11.3 界面布局管理
    • ● 任务11.4 文本框组件
    • ● 任务11.5 其他组件
    • ● 任务11.6菜单与对话框
    • ● 任务11.7 鼠标键盘事件
    • ● 知识扩展
    • ● 思考与练习
  • 任务12   Python操作数据库
    • ● 数据库基础
    • ● 结构化查询语言SQL
    • ● Python操作数据库核心API
    • ● Python操作数据库案例
    • ● sqlite3 实训练习案例
    • ● pymysql 数据库实训案例
    • ● 小结  思考与练习
  • 习题解析(线上作业等参考解答)
    • ● 第一单元 初识Python  作业
    • ● 第二单元  Python基础(作业)
    • ● 第三单元  程序流程控制 作业(1)
    • ● 第三单元  程序流程控制  作业(2)
    • ● 第四单元  Python序列   作业
    • ● 第五单元   函数   作业
    • ● 单元六  异常处理  作业
    • ● 单元七、八  文件操作,GUI,面向对象
    • ● 单元九   网络编程基础
    • ● 线上习题解析
    • ● 编程训练
  • 应用题解(综合编程技术)
    • ● 《食品识别小专家》
    • ● 格式输出
    • ● 习题选解
    • ● 每日一帖
    • ● 模拟基本信息
    • ● 模拟基本数据
    • ● 数制转换
    • ● 定制每日运动计划
    • ● 《简易购物系统》
  • 课程章节测验
    • ● 第1次章节测验
  • 复习
    • ● Python基础知识总结
  • 第三方库TOOLS(备用)
    • ● 库模块(可下载)
    • ● 供考查备用的库模块(可下载)
任务5.2 函数的参数

(一)函数与参数

用户自己创建的函数称为用户自定义函数,语法格式如下。

def <函数名>([<形参列表>]):

[<函数体>]

说明:

. 函数使用关键字def(define的缩写)声明,函数名为有效的标识符和圆括号()。

. 任何传入参数和自变量必须放在圆括号中间,圆括号之间用于定义参数。

. 函数内容以冒号起始,并且缩进。

. 函数名下的每条语句前都要用Tab键缩进,没有缩进的第一行则被视为在函数体之外的语句,与函数同级的程序语句。

.return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return 相当于返回None。

Python中,函数调用的语法格式为:   函数名([实际参数])

   函数调用时传递的参数是实参,实参可以是变量、常量或表达式。当实参个数超过一个函数时,用逗号分隔,实参和形参应在个数、类型和顺序上一一对应。对于无参函数,调用时实参为空,但( )不能省略。


【例】 求两个数中的较大值。

def max(a,b):

if a>b:

   return a

else:

  return b

t=max(3,4)

print(t)


(二)实参与形参

实参(实际参数)是指传递给函数的值,即在调用函数时,由调用语句传给函数的常量、

变量或表达式。形参(形式参数)是在定义函数时,函数名后面括号中的变量,用逗号分隔。

作为函数与主调程序交互的接口,用来接收调用该函数时传递的实参,从主调程序获得初

值,或将计算结果返回给主调程序。

形参和实参具有以下特点。

(1)函数在被调用前,形参只是代表了执行该函数所需要参数的个数、类型和位置,并

没有具体的数值,形参只能是变量,不能是常量、表达式。只有当调用时,主调函数将实参的

值传递给形参,形参才具有值。

(2)形参只有在被调用时才分配内存单元,调用结束后释放内存单元,因此形参只在函

数内部有效,函数调用结束返回主调用函数后则不能再使用该形参变量。

(3)实参可以是常量、变量、表达式、函数等,无论实参是何种数据类型的变量,函数调

用时必须是确定的值,以便把这些值传给形参。

(4)实参和形参在数量、类型、顺序方面应严格一致,否则会发生类型不匹配错误。

(三)传对象引用

Python的参数传递与C语言不同,既不是传值(pass-by-value),也不是传引用(passby-

reference),而是传对象引用(pass-by-object-reference),传递的是一个对象的内存地址。

这种方式相当于传值和传址的一种综合。当函数收到的是可变对象(如字典或者列表)的引

用,就能修改对象的原始值———相当于“传引用”。当函数收到的是不可变对象(如数字、字

符或者元组)的引用,就不能直接修改原始对象———相当于“传值”。



常用内置函数

Python内置函数是python系统内部创建的,在Python的程序中,可以随时调用这些函数,不需要另外定义。

例如,最常见的print()是内置函数,在程序中直接使用:

print("Hello World!")

而平方根函数sqrt()不是内置函数,使用该函数时需要引用math模块:

import math

y = math.sqrt(25)


匿名函数lambda

  在Python中可以使用匿名函数。匿名函数即没有函数名的函数。

        通常用lambda声明匿名函数。

例如,计算二个数的和,可以写成:

add = lambda  x, y : x+y

print(add(1,2))

输出的结果为3。

        从上面示例可以看到,lambda表达式的计算结果相当于函数的返回值。

【例】用lambda表达式,求三个数的和。