[博学谷学习记录]超强总结,用心分享|人工智能|验证码PYTHON实现|函数封装验证码我觉得很棒哦!

本文介绍了Python函数的基础知识,包括为何需要函数、函数的定义和调用,通过实例展示了函数封装的过程。文章还探讨了return返回值的重要性,并讲解了如何创建函数的说明文档。最后,作者提供了一个生成指定长度验证码的函数作为实战示例。
摘要由CSDN通过智能技术生成

1、为什么需要函数


在Python实际开发中,我们使用函数的目的只有一个“让我们的代码可以被重复使用”

函数的作用有两个:

==① 代码重用(代码重复使用)==

==② 模块化编程(模块化编程的核心就是函数,一般是把一个系统分解为若干个功能,每个功能就是一个函数)==

在编程领域,编程可以分为两大类:① 模块化编程 ② 面向对象编程

2、什么是函数


所谓的函数就是一个==被命名的==、==独立的、完成特定功能的代码段(一段连续的代码)==,并可能给调用它的程序一个==返回值==。

被命名的:在Python中,函数大多数是有名函数(普通函数)。当然Python中也存在没有名字的函数叫做匿名函数。

独立的、完成特定功能的代码段:在实际项目开发中,定义函数前一定要先思考一下,这个函数是为了完成某个操作或某个功能而定义的。(函数的功能一定要专一)

返回值:很多函数在执行完毕后,会通过return关键字返回一个结果给调用它的位置。

3、函数的定义


基本语法:

def函数名称([参数1, 参数2, ...]):

函数体

...

[return返回值]

4、函数的调用


在Python中,函数和变量一样,都是先定义后使用。

# 定义函数

def函数名称([参数1, 参数2, ...]):

函数体

...

[return返回值]

# 调用函数

函数名称(参数1, 参数2, ...)

5、通过一个栗子引入函数


① 使用Python代码,编写一个打招呼程序

第一步:见到一个老师,打一声招呼

print('您好')

第二步:见到一个老师,打一声招呼

print('您好')

第二步:见到一个老师,打一声招呼

print('您好')

虽然以上程序可以满足程序的需求,但是我们发现,我们的代码做了很多重复性的工作。我们能不能对以上代码进行进一步的优化,避免代码的重复性编写。

5、通过一个栗子引入函数


① 使用Python代码,编写一个打招呼程序

第一步:见到一个老师,打一声招呼

print('您好')

第二步:见到一个老师,打一声招呼

print('您好')

第二步:见到一个老师,打一声招呼

print('您好')

虽然以上程序可以满足程序的需求,但是我们发现,我们的代码做了很多重复性的工作。我们能不能对以上代码进行进一步的优化,避免代码的重复性编写。

② 升级:使用Python代码,编写一个打招呼程序(函数——一次编写,多次利用)

# 定义函数(封装函数)

defgreet():

print('您好')

# 调用函数

# 见到一个老师,打一声招呼

greet()

# 见到一个老师,打一声招呼

greet()

# 见到一个老师,打一声招呼

greet()

③ 升级:使用Python代码编写一个打招呼程序,可以实现向不同的人打不同的招呼

# 定义一个函数,同时为其定义一个参数

defgreet(name):

print(f'{name},您好')

# 调用函数

# 见到了张老师,打一声招呼

greet('老张')

# 见到了李老师,打一声招呼

greet('老李')

# 见到了王老师,打一声招呼

greet('老王')

④ 函数的设计原则“高内聚、低耦合”,函数执行完毕后,应该主动把数返回给调用处,而不应该都交由print()等函数直接输出。

# 定义一个函数,拥有name参数,同时函数执行完毕后,拥有一个return返回值

defgreet(name):

# 执行一系列相关操作

returnname+',您好'

# 调用函数

# 见到了张老师,打一声招呼

print(greet('老张'))

# 见到了李老师,打一声招呼

print(greet('老李'))

# 见到了王老师,打一声招呼

print(greet('老王'))

6、聊聊return返回值


思考1:如果一个函数如些两个return (如下所示),程序如何执行?

defreturn_num():

return1

return2

result=return_num()

print(result) # 1

答:只执行了第一个return,原因是因为return可以退出当前函数,导致return下方的代码不执行。

思考2:如果一个函数要有多个返回值,该如何书写代码?

答:在Python中,理论上一个函数只能返回一个结果。但是如果我们向让一个函数可以同时返回多个结果,我们可以使用return 元组的形式。

defreturn_num():

return1, 2

result=return_num()

print(result)

print(type(result)) # <class 'tuple'>

思考3:封装一个函数,参数有两个num1,num2,求两个数的四则运算结果

四则运算:加、减、乘、除

defsize(num1, num2):

jia=num1+num2

jian=num1-num2

cheng=num1*num2

chu=num1/num2

returnjia, jian, cheng, chu

# 调用size方法

print(size(20, 5))

三、Python函数中的说明文档


1、什么是说明文档


思考:定义一个函数后,程序员如何书写程序能够快速提示这个函数的作用?

答:注释

思考:如果代码多,我们是不是需要在很多代码中找到这个函数定义的位置才能看到注释?如果想更方便的查看函数的作用怎么办?

答:==函数的说明文档(函数的说明文档也叫函数的文档说明)==

2、定义函数的说明文档


① 定义函数的说明文档

# 1、定义一个menu菜单函数

defmenu():

pass

# 2、定义通讯录增加操作方法

defadd_student():

""" 函数的说明文档:add_student方法不需要传递任何参数,其功能就是实现对通讯录的增加操作 """

pass

# 3、定义通讯录删除操作方法

defdel_student():

pass

# 4、定义通讯录修改操作方法

defmodify_student():

pass

# 5、定义通讯录查询操作方法

deffind_student():

pass

② 调用函数的说明文档

help(函数名称)

案例:调用add_student()方法

help(add_student)

3、封装一个函数,用于生成指定长度的验证码

# 定义一个generate_code()函数

def generate_code(num):

""" generate_code方法主要用于生成指定长度的验证码,有一个num参数,需要传递一个int类型的数值,其return返回结果为num长度的随机验证码 """

import random

# 第一步:定义一个字符串

str1 = "23456789abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"

# 第二步:循环num次,代表生成num长度的字符串

code = ''

for i in range(num):

# 第三步:从字符串中随机抽取num个字符

index = random.randint(0, len(str1) - 1)

code += str1[index]

# 第四步:使用return返回验证码

return code

# 求帮助(查看generate_code函数的作用以及需要传递的参数)

# help(generate_code)

# 调用函数

print(generate_code(6))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值