收藏本站
 
设为主页
     您的位置:首页在线课堂高一级2018-2019学年度第一学期 》第十二课
==※ 高一级 ※==
2018-2019学年第一学期















==※ 网络资源 ※==
 
太平洋电脑网
天极网
eNet网络学院
 
 
第十二课 函数(一)
 
学习目的:懂得什么是函数,学会定义函数和调用函数
学习重难点函数的定义和调用
教学方式:通过学习示例程序和动手练习掌握函数的定义和调用。

学习内容:

一、什么是函数?

  函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
  我们在前面的学习中,已经多次使用系统预先定义好的函数,例如:输出函数print()、输入函数input()、类型转换函数int()、float()、str()等。

二、函数的定义和调用
  除了使用系统预先定义好的函数,我们也可以定义自己的函数。函数定义的基本语法如下图所示:
  函数名:与变量名的命名规则一致,以字母或下划线开头,可包含字母、数字、下划线。
  参数列表:可以是零个参数、一个参数或多个参数,参数之间用英文逗号分隔。
  return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。 return语句表示结束函数的执行返回到调用位置后继续执行,当函数执行到return语句后,函数就结束了,即时后面还有语句也不执行。return语句不是函数体必须的语句,有些函数有return语句,有些函数没有。
  定义一个函数时,函数并不会执行,只有调用该函数时,函数才会执行。函数只需要定义一次,就可以在不同的地方调用该函数,这正体现了函数的一个重要功能:实现代码重用!
  函数调用的基本语法如下图所示:
  例如:下面的代码定义一个名为hello的函数,该函数的功能就是输出“Hello World!”,因为该函数执行时不需要任何参数,所以在函数定义时,圆括号内并没有任何内容,这表示这个函数没有参数。同样的,调用函数时,圆括号内也不需要放任何内容,调用函数的语句为hello()。
  又如:下面的代码定义了一个名为add的函数,该函数的功能就是计算a+b的值并返回结果给调用方,也就是说它的功能是计算两个数的和。其中函数定义中的圆括号内有两个参数:a和b,因此我们调用该函数时,需要为参数a和b分别提供实际的值。例如:我们要计算3+2的和,那我们就可以这样调用函数:add(3,2)。

三、例子
1. 定义自己的输出函数,输出内容时不加空格不换行。
  我们知道,print()函数默认输出时会在两项之间增加空格,并且在输出完内容后自动输出换行符,如果不想让它输出空格和换行符,在调用print()函数时,我们可以增加两个参数:sep=""end="",但是每次都要这样很麻烦,我们可以定义一个自己的函数myprint(),让它输出参数x的内容后不空格也不换行,函数代码如下图所示:
  上面的myprint()函数只有一个参数x,x可以代表任何内容,在调用时就需要提供一个输出内容给它,如果我们想输出多项内容,就得调用myprint函数多次(如上图)所示。能否调用一次myprint函数就输出多项内容呢?答案是肯定的,其中一种实现如下图所示:定义myprint()函数时,参数列表使用多个参数,分别是x1、x2、x3、x4、x5,实际调用它时就得提供5个参数值给它。

  上面的myprint()函数还有一个明显的局限性:就是每次调用都必须提供5个参数值给它,如果我们只想输出3项内容,那就不是很方便了,有没有更通用的方式呢?就是参数的个数不确定,你想输出多少项,实际参数列表就有多少项?Python的函数定义非常灵活,它可以通过在参数名称前加个星号(*)代表不定个数的参数,带星号的参数只能有一个,它表示不确定的参数个数,而我们实际调用时提供的参数,都会全部包含在一个元组中,该元组就传递给了带星号的x,因此我们在函数中可以使用for语句处理所有的参数,改进后的myprint()函数代码如下图所示:
2. 分别判断1234767、 9876553是不是素数?
  判断一个数是否为素数,其方法是相同的,那么要判断两个数是否为素数,不需要重复写两次相同的代码,我们可以将判断数x是否为素数的功能定义为函数,这时就可以通过两次调用该函数分别判断1234767、 9876553是不是素数。程序代码如下图所示:
3. 输出100以内的素数(定义函数判断一个数是否为素数)
  上面的函数is_sushu()直接在函数中输出所判断的数x是不是素数,但是我们在输出100以内的素数时,每个数都需要判断是否为素数,只有素数才输出,不是素数不输出,因此我们可以修改is_sushu()函数,使得如果x是素数就返回true,否则返回false,程序的代码如下图所示:
四、练习

五、参考资源教程:

  Python3教程

  Python 3.6.3 中文手册


* 友情提示:本文档只供本校师生上课时辅助使用,不是正规的教学设计或教案。


 

 

Copyright © 东莞中学信息技术科 All Rights Reserved
IE4.0 or later / 800*600  For The Best View