
函数
函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。学习Python,离不开函数,我们学习了许多内置函数,比如:print,int,range等,可以直接使用它们,来实现对应功能。
函数能提高应用的模块性,和代码的重复利用率。你也可以自己创建函数,来实现某些功能,在减少编码量和提高效率也是非常有用的。定义函数后,只需在不同的地方调用其名称,不用重复编写代码,一遍又一遍地执行它。
任务一:计算阶乘
阶乘(factorial)是数学中的一个术语,用于表示从1乘以2乘以3乘以4一直乘到所要求的数,得到的积就是该数的阶乘。例如,所要求的数是4,则阶乘式是1×2×3×4,得到的积是24,24就是4的阶乘。
n=int(input()) s= for i in range( , ): s= print(s)
创建自定义函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号 : 起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None。
基本语法:
def 函数名(参数列表):
函数体代码
样例1:定义一个没有参数,有返回值的函数
def hw():
print("hello world")
样例2:定义一个有参数,没有返回值的函数
def hwn(n):
for i in range(n):
print("hello world")
样例3:定义一个有参数,有返回值的函数
def jiafa(a,b):
c = a + b
return c #有一个返回值
def jiajianfa(a,b):
c = a + b
d = a - b
return c,d #有两个返回值
注:有多个返回值时,返回的数组类型为元组
调用自定义函数
完成函数定义之后,可以在之后的代码中调用这个函数以使用其功能。
样例4:调用没有参数的函数
def hw():
print("hello world")
#调用2次hw函数
hw()
hw()
输出结果:
hello world
hello world
参数
在调用函数时,主调函数和被调用函数之间有数据传递关系。函数参数的作用是传递数据给函数使用,函数利用接收的数据进行具体的操作。
样例5:调用函数时传递参数
def hwn(n):
for i in range(n):
print("hello world")
#调用hwn函数时传递参数
a=2
hwn(a)
输出结果:
hello world
hello world
返回值
可以在函数体内使用 return 语句为函数指定返回值。函数的返回值可以是任意类型的,无论 return 语句出现在函数的什么位置,只要执行 return 语句就是结束函数的执行。没有或不带参数值的 return 语句返回 None。
样例6:返回值为空的函数调用
def hwn(n):
for i in range(n):
print("hello world")
#调用hwn函数时传递参数,接受函数的返回值
a=2
b=hwn(a)
print(b)
输出结果:
hello world
hello world
None
样例6:有返回值的函数调用
def jiafa(a,b):
c = a + b
return c #有一个返回值
m=2
n=5
he=jiafa(m,n) #调用函数并存储返回值
print(he)
输出结果:
7
任务二:求组合数
组合数公式是指从 n 个不同元素中,任取 m(m≤n) 个元素并成一组叫做一个组合,所有组合的个数,叫做 n 个不同元素中取出 m 个元素的组合数。用符号 C(n,m) 表示。公式为:
1.将阶乘定义成函数,参数只有一个,需要计算阶乘的数:n,返回值只有一个,为计算结果:s。
2.求c(10,5)的组合数。
将代码提交给老师。
def factorial(n):
#计算n的阶乘
return s
模块
Python 提供了一个办法,自定义的函数或功能存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。
Python中模块分三大类:
1.内置模块
2.第三方模块
3.自定义模块
导入、使用模块
我们通过import(关键字)导入模块,语法如下:
import 模块名
模块名.函数名()
样例:
有模块文件part1.py
# Filename: part1.py
def hwn(n):
for i in range(n):
print("hello world")
在编程文件myapp.py中导入part1模块,此时part1.py和myapp.py文件应在同一目录下
# Filename: myapp.py
import part1
part1.hwn(3)
输出结果:
hello world
hello world
hello world
任务三
尝试完善以下功能的函数定义。并封装到一个模块文件mymodule.py中。
拓展知识
内置函数
内置模块(标准库)
常用方法及说明