(共18张PPT)
2.4 可以复用的代码
教 学 目 标
1
了解函数的作用
2
学会函数的定义和调用方法,并能熟练使用函数解决问题。
3
学会发布共享代码的常见方法,并能熟练使用模块解决问题。
一、函数
一、函数
思考:以下代码是用循环结构实现求一个数的阶乘,是否有其他方法可以实现?
s = 1
for i in range(1,5):
s = s * i
print(i,s)
函数
函数可分为系统函数和用户自定义函数两种类型。
系统函数即函数库中的标准函数,是程序设计语言或操作系统提供给用户的一系列已经编制好的程序。在前面单元使用过的print()和input()函数都是系统函数。前者用于将字符串按指定格式输出到屏幕上;后者用于接收键盘的输入,并存储于相应变量中。
用户自定义函数则是用户自己编写的一段程序。
函数的基本格式
函数一般包括函数名、参数、返回值和函数体等四部分。其中,函数名和函数体是必不可少的,参数和返回值可根据需要进行定义。定义函数的基本格式如下:
def 函数名(参数):
#函数说明
语句或语句组
return返回值
参数是用来向函数传递值的,当有多个参数时,各个参数之间用逗号分隔开。函数执行完成后,由return语句将表达式值返回给调用者,结束函数。函数的调用采用函数名(参数)的方式。即变量=函数名(参数)
体会自定义函数
def factorial(n) :
#求n!
s=1
for i in range(2,n+1):
s=s*i
return s
#调用factorial函数
total=factorial(4)
print(total)
左例中,程序执行时由于def块中的代码不是主程序的一部分,因此会跳过该段代码,从主程序的第一行total = factorial(4)开始运行。在遇到函数的调用语句factorial(4)时,转到函数中的第一行代码开始执行。函数运行时,变量n会被赋值为4。函数执行完成返回变量s的值即24,然后回到语句total = factorial(4),将返回值赋给变量total,最后输出。
例:用函数的方式求n的阶乘
自定义函数部分
主程序
实战演练
1 在Python中,用户自定义函数一般包括函数名 参数 函数体和返回值等四个部分,其中哪两部分是必不可少的:A.函数名和函数体 B.参数和返回值C.函数名和参数 D.函数体和返回值
2 Python语言中用来定义函数的关键字是:
A.return B. def C.function D.define
√
√
实战演练
3、关于下列代码的描述正确的是( )
def func(a):
s=a* *2
return s
a=10
c=func(a)+a
A.运行程序后,变量c的值为14
B.该函数的名称为def
C.运行程序后,变量s的值为20
D.运行程序后,变量c的值为110
4.(1)闰年的判断条件是可以被400整除,或者可以被4整除并且不能被100整除。
(2)编写自定义函数,请输入一个年份,输出该年份是否是闰年,是则输出“YES",否则输出“NO”。
def rn(num):
if(num%400==0 or num%4==0 ____ num%100!=0):
return "YES"
____
return "NO"
year=int(input("请输入年份:"))
print(__________)
and
else:
rn(year)
√
二、模块
模块
模块的概念:就是一个能实现某一特定功能的一组代码形成的文件。
模块分类:系统模块和自定义模块。
系统模块:也称标准模块,是Python 自带的模块。
自定义模块:将模块中的相关代码(变量定义和函数定义等)编写在一个单独的文件中,并且该文件命名为“模块名.py”的形式。
常见的系统模块
模块名称 功能介绍 常见用法示例
math 各种数学函数的使用 math. sqrt(2):√2 math. pi:Π
math.pow(2,3):2 math. sin(math. pi/6): sin(Π/6)
time 计算机时钟信息,延时 time.time( ):从1970年至今的秒数
time.sleep(2):延时2s
time.asctime( ):格式化时间
random 生产随机数 (实践指导P49) random.randint(1,6):随机产生[1,6]之间的整数random.sample(a,5):从列表a中随机取5个元素random.random( ):随机产生0-1浮点数,0<=n<1
random.shuffle(a):将列表a随机打乱排序
os 操作系统的功能接口 os.system(“cls”):清除屏幕
pdb 调试器 pdb. set_trace( ):在程序中设置断点
发布代码
发布代码:将定义的函数发布成模块,可以让更多人受益于你的劳动。 (1)创建模块文件mymodule. py及元数据文件setup. py. (2)构建发布文件:在cmd窗口中执行“python setup.py sdist”命令。 (3)安装发布文件:在cmd窗口中执行“python setup. py install”命令。
导入模块
1、import 模块名
2、import 模块名 as 别名
例:import numpy as n
3、from 模块名 import 成员名 as 别名
例:from sys import arg as v
4、from 模块名 import * #一次导入指定模块的所有成员
例:from sys import *
模块内函数的使用
模块内函数的使用:
使用方法1:模块名.函数名(参数)。
例如 time. time()、random. randint(0,1)等。
使用方法2:函数名(参数)。
例如time()、random. randint(0,1)
实战演练
1、random模块是一个:
A.自由库 B.计数库 C.随机库 D.运行库
2.time. sleep(10)作用是()。
A.延时 B.计时 C.暂停 D.保持运行
3.以下关于模块说法错误的是( )。
A.一个xx. py就是一个模块
B任何一个普通的xx. py文件可以作为模块导人
C.模块文件的扩展名不一定是. py
D.运行时会从指定的目录搜索导入的模块,如果没有,会报错异常
4.下列可以导入 Python模块的语句是()。
A. import module B input module
C. print module D. def module
√
√
√
√
小结
用户自定义函数
定义函数的基本格式
组成部分
函数名
参数
返回值
函数体
函数
发布代码-—发布代码方法
导人并使用模块
导入方法
系统函数
调用方法
感谢聆听
返回首页