计算机二级教程
Python语言程序设计
第5章基本数据类型
第五章学习知识导图
本章概述:本章目的是了解基础的Python函数使用,较基础,难度不大,考试考的不难,但实际应用很多,需认真掌握。
考点主要是:
1) 数字类型:整数类型、浮点数类型和复数类型
2) 函数的定义和使用
3) 函数的参数传递: 可选参数传递、参数名称传递、函数的返回值
4) 变量的作用域: 局部变量和全局变量
5) 作者归纳:
函数在考试中考的不难,把基础问题了解即可,了解输出,看得懂代码就好了
这章看文章的确实有点恶心,概念太多,不过大家可以多做题巩固,课后的代码可以多研究一下,出题是按照书出题,有的时候只要书上出现过,出题就不算超纲,所以。。。。你懂得,出的题有的确实很难。
课后代码和习题建议大家好好钻研一下,很不错。
一、函数的基本使用
1、函数的定义
(1) 函数是一段具有特定功能的、可重用的语句组,通过函数名来表示和调用。经过定义,一组语句等价于一个函数,在需要使用这组语句的地方,直接调用函数名称即可。
(2) 函数的使用包括两部分:函数的定义和函数的使用。
(3) 函数是一种功能抽象。
(4) Python定义一个函数使用def保留字,语法形式如下:
def ():
····
····return
(5) 函数名可以是任何有效的Python标识符
(6) 参数列表是调用该函数时传递给它的值,可以有零个、一个或多个,当传递多个参数时各参数由逗号分隔,当没有参数时也要保留圆括号。
(7) 函数体是函数每次被调用时执行的代码,由一行或多行语句组成。
(8) 如果需要返回值,使用保留字return和返回值列表。函数可以没有return语句,函数体结束后会将控制权返回给调用者
2、函数的使用
定义后的函数不能直接运行,需要经过“调用”才能运行。调用函数的基本方法如下:
()
# 定义一个对整数n求阶乘的函数
def fact(n):
····s = 1
····for i in range(1, n+1):
········s *= i
····return s
# 调用整数阶乘的函数
print(fact(100))
具体来说,函数的使用一共分为四个步骤:
a. 函数定义
b. 函数调用
c. 函数执行
d. 函数返回
(1) 函数定义
使用def保留字将一段代码定义为函数,需要确定函数的名字、参数的名字、参数的个数,使用参数名称作为形式参数(占位符)编写函数内部的功能代码
(2) 函数调用
通过函数名调用函数功能,对函数的各个参数赋予实际值,实际值可以是实际数据,也可以是在调用函数前已经定义过的变量
(3) 函数执行
函数被调用后,使用实际参数(赋予形式参数的实际值)参与函数内部代码的运行,如果有结果则进行输出
(4) 函数返回
函数执行结束后,根据return保留字的指示决定是否返回结果,如果返回结果,则结果将被放置到函数被调用的位置,函数使用完毕,程序继续运行。
二、函数的参数传递
1、可选参数传递
函数的参数在定义时可以指定默认值,当函数被调用时,如果没有传入对应的参数值,则使用函数定义时的默认值替代,函数定义时的语法形式如下:
def (, = ):
····
····return
需要注意,可选参数一般都放置在非可选参数的后面,即定义函数时,先给出所有非可选参数,然后再分别列出每个可选参数及对应的默认值
>>>def multiply(x, y = 10):
········print(x*y)
>>>multiply(99)
990
>>>multiply(99, 2)
198
Python语言同时支持函数按照参数名称方式传递参数,语法形式如下:
( = )
2、函数的返回值
return语句用来结束函数并将程序返回到函数被调用的位置继续执行。
return语句可以出现在函数中的任何部分,同时可以将0个、1个或多个函数运算的结果返回给函数被调用处的变量。
>>>def multiply(x, y = 10): return x*y
>>>s = multiply(99, 2)
>>>print(s)
198
函数可以没有return,此时函数并不返回值。当函数使用return返回多个值,可以使用一个变量或多个变量保存结果
>>>def multiply(x, y = 10): return x*y, x+y
>>>s = multiply(99, 2)
>>>print(s)
(198, 101)
>>>a,b = multiply(99, 2)
>>>print(a)
198
>>>print(b)
101
三、变量的作用域
根据程序中变量所在的位置和作用范围,变量分为局部变量和全局变量。
局部变量仅在函数内部,且作用域也在函数内部,全局变量的作用域跨越多个函数。
1、局部变量
局部变量指在函数内部使用的变量,仅在函数内部有效,当函数退出时变量将不再存在。
>>>def multiply(x, y = 10): z = x*y # z是函数内部的局部变量 return z
>>>s = multiply(99, 2)
>>>print(s)
198
>>>print(z)
Traceback (most recent call last):
File "