函数的组成部分及函数参数
Posted yangyinyin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数的组成部分及函数参数相关的知识,希望对你有一定的参考价值。
一、函数
1、概念
重复利用的工具
完成特定功能的代码块,函数就是存放代码块的容器
2、定义函数的语法
def 函数名(参数1 ,参数2,参数3,......)
函数体
return
注:函数返回值也称之为函数值,就是函数执行的结果
可以用变量接收/可以直接打印/可以直接使用
3、函数的四大组成部分
函数名:使用函数的依据
函数体:完成功能的具体代码块
函数返回值:功能完成返回的信息
参数:实现功能需要的参数
4、使用函数
函数名()
注:先定义后使用
二、函数的分类
1、从函数体进行分类
空函数:项目之初,知道项目有哪些功能,但还没有明确功能体,可以用pass进行函数体填充
def computed():
pass
非空函数:用函数体
def add_num(n1, n2):
return n1 + n2
print(a)
a = 10
computed()
res = add_num(10, 20)
print(res)
a = 50
b = 100
print(add_num(a, b))
2、从参数列表进行分类
无参函数:函数体运行不需要外界提供参数
def print_msg():
print("欢迎大家来到老男孩教育,奉献你的余生!!!")
print_msg()
函数体运行需要外界提供参数
def print_school_msg(p1, p2):
print("欢迎%s和%s领导莅临老男孩教育,敞开你的腰包!!!" % (p1, p2))
p1 = input("输入一号领导名:")
p2 = input("输入二号领导名:")
print_school_msg(p1, p2)
有参函数:函数体运行需要外界提供参数
def print_school_msg(p1, p2):
print("欢迎%s和%s领导莅临老男孩教育,敞开你的腰包!!!" % (p1, p2))
p1 = input("输入一号领导名:")
p2 = input("输入二号领导名:")
print_school_msg(p1, p2)
3、从返回值进行分类
没有return的函数:默认在函数最后return None
def fn1():
print(‘fn1 run!!!‘)
res = fn1()
print(‘没有return关键字的返回值:%s‘ % res) # None
空return
def fn2():
print(‘fn2 run!!!‘)
# return
# return None
res = fn2()
print(‘空return关键字的返回值:%s‘ % res) # None
无return函数与空return函数的区别
空return:可以根据具体情况主动退出函数(像break结束循环一样)
值返回
# 一个值的返回
def add_num(n1, n2):
return n1 + n2
print(add_num(10, 15))
def computed(n1, n2):
# 返回四则运算的结果
r1 = n1 + n2
r2 = n1 - n2
r3 = n1 / n2
r4 = n1 * n2
return [r1, r2, r3, r4]
a, b, c, d = computed(50, 25)
print(a, b, c, d)
# 多个值的返回: 本质就是返回装有多个值的元组
def computed_sup(n1, n2):
# 返回四则运算的结果
r1 = n1 + n2
r2 = n1 - n2
r3 = n1 // n2
r4 = n1 ** n2
return r1, r2, r3, r4
a, b, c, d = computed_sup(50, 25)
print(a, b, c, d)
res = computed_sup(50, 25) # 得到的是装有所有结果的元组
print(res)
三、函数的嵌套调用
函数的嵌套调用:在一个函数体重调用另一个函数
# 在解释过程中,不执行函数体,在函数被调用时,函数体才被执行
def fn1():
print(‘fn1 run‘)
fn2()
def fn2():
print(‘fn2 run‘)
fn3()
def fn3():
print(‘fn3 run‘)
# 注:在fn1中调用了fn2,所以调用fn1的逻辑应该在fn2定义之后
fn1()
# 案例:用函数实现获取两个数的最大值
def max_2(n1, n2):
if n1 > n2:
return n1
return n2
print(max_2(200, 30))
获取三个数的最大值
普通法
def max_3(n1, n2, n3):
if n1 > n2 and n1 > n3:
return n1
if n2 > n1 and n2 > n3:
return n2
return n3
嵌套
def max_3(n1, n2, n3):
m2 = max_2(n1, n2)
return max_2(m2, n3)
print(max_3(300, 30, 30))
四个数
def max_4(n1, n2, n3, n4):
m2 = max_2(n1, n2)
return max_3(m2, n3, n4)
print(max_4(10,30,20,0))
四、指定文件名的文件复制
def copy_img(target_img):
with open(‘001.jpg‘, ‘rb‘) as r, open(target_img, ‘wb‘) as w:
for line in r:
w.write(line)
copy_img(‘888.jpg‘)
copy_img(‘999.jpg‘)
def copy_file(source, target):
‘‘‘
:param source: 被复制的文件
:param target: 复制得到的文件
:return:
‘‘‘
with open(source, ‘rb‘) as r, open(target, ‘wb‘) as w:
for line in r:
w.write(line)
copy_file(‘cmd.txt‘, ‘aaa.txt‘)
copy_file(‘temp.txt‘, ‘ttt.txt‘)
以上是关于函数的组成部分及函数参数的主要内容,如果未能解决你的问题,请参考以下文章