4.3 Python3进阶-函数嵌套和嵌套调用
>>返回主目录


源码
# 函数嵌套
def func1():
print("这是外部函数")
def func2():
print("这是内部函数1")
def func3():
print("这是内部函数2")
# func2() # 在函数外部不能直接调用函数内部的函数
func1()

源码
# 嵌套调用
# 嵌套调用1:在外函数内部调用内函数,例如:
def fun_outer_call_1():
print("这是outer外部函数1")
def fun_inner_call_1():
print("这是inner内部函数1")
fun_inner_call_1() # 函数名调用内函数
fun_outer_call_1()
# 嵌套调用2:可以用return调用内函数,例如:
def fun_outer_call_2():
print("这是outer外部函数2")
def fun_inner_call_2():
print("这是inner内部函数2")
return fun_inner_call_2() # return 函数名(),方式调用
fun_outer_call_2() # 调用外函数
def fun_outer_call_3():
print("这是outer外部函数3")
def fun_inner_call_3():
print("这是inner内部函数3")
return fun_inner_call_3 # return 函数名,方式调用
fun_outer_call_3()() # 调用内函数

源码
# Author:PortosHan
# Datetime:2021/5/28 11:22
# Project:zbcf_python_lesson_project
"""
登录练习:
第一步:输入用户名、密码;
第二步:生成验证码;
第三步:校验验证码是否输入正确;
第四步:校验用户名、密码是否输入正确(数据库中有的);
第五步:都正确则登录成功,有错误则提示相应原因。
代码提示:
def generate_code():
print('此函数用于生成验证码')
def login():
print('此函数用于登录')
generate_code() # 函数内调用生成验证码函数
login()
"""
# 创建全局变量
import random
KEY_WORD = '1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM' # 验证码可包含的字符
CODE_NUMBER = 4 # 验证码的字符个数
LOCK_LOGIN = 5 # 登录失败锁定登录的次数
# 定义一个生成验证码的函数
def generate_code():
code = ''
for _ in range(CODE_NUMBER):
ran_str = KEY_WORD[random.randint(0, len(KEY_WORD)-1)]
code += ran_str
return code
def login():
print('******中保车服官网******')
for _ in range(LOCK_LOGIN):
user_name = input('用户名:')
pass_word = input('密码:')
code = generate_code()
print(f'验证码是:{code}')
input_code = input('验证码:')
# 校验验证码、用户名和密码是否正确
if input_code.lower() == code:
if user_name.lower() == 'portos' and pass_word == '123456':
print('用户登录成功!')
return
else:
print('用户名或密码有误,请重新输入!')
else:
print('输入的验证码有误,请重新输入!')
return
login()
>>返回主目录
4.3 Python3进阶-函数嵌套和嵌套调用的更多相关文章
- python基础----函数的定义和调用、return语句、变量作用域、传参、函数嵌套、函数对象、闭包、递归函数
1.函数的定义: 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可 ...
- python函数基础:嵌套函数、作用域、匿名函数、高阶函数、递归函数
嵌套函数: 1. 函数内部可以再定义函数 2. 函数只有被调用之后才会执行 看如下代码: age = 18 def func1(): age = 22 print(age) def func2(): ...
- 【Python3之函数对象】
函数对象 函数(Function)作为程序语言中不可或缺的一部分,但函数作为第一类对象(First-Class Object)却是 Python 函数的一大特性. 那到底什么是第一类对象(First- ...
- Python进阶-函数默认参数
Python进阶-函数默认参数 写在前面 如非特别说明,下文均基于Python3 一.默认参数 python为了简化函数的调用,提供了默认参数机制: def pow(x, n = 2): r = 1 ...
- python--3、函数
定义: 定义函数时,也相当于定义变量.会把函数体内的代码存入开辟的内存空间中.使用函数时,通过func() 声明是函数,其对应的值为代码.函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执 ...
- python3 闭包函数 装饰器
闭包函数 1.闭:定义在函数内部的函数 2.包:内部函数引用了外部函数作用域的名字 在函数编程中经常用到闭包.闭包是什么,它是怎么产生的及用来解决什么问题呢.给出字面的定义先:闭包是由函数及其相关的引 ...
- ScrollView嵌套ListView嵌套GridView的上下拉以及加载更多
ScrollView 效果 ScrollView 说明 一个ScrollView 嵌套ListView 嵌套GridView的上拉加载更多,下拉刷新的demo. 主要是重写了GridView和Lsit ...
- Python3 isinstance() 函数
Python3 isinstance() 函数 描述 isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type(). isinstance() 与 type() 区别: typ ...
- Python3 join函数和os.path.join用法
Python3 join函数和os.path.join用法 os.path.join()连接两个文件名地址的时候,就比os.path.join("D:\","test. ...
随机推荐
- 1. Mybatis 参数传递
方法1:顺序传参法 public User selectUser(String name, int deptId); <select id="selectUser" resu ...
- 痞子衡嵌入式:利用i.MXRT1xxx系列内部DCP引擎计算Hash值时需特别处理L1 D-Cache
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是利用i.MXRT1xxx系列内部DCP引擎计算Hash值时需特别处理L1 D-Cache. 关于i.MXRT1xxx系列内部通用数据协处 ...
- 关于Mapreduce Text类型赋值的错误
Mapreduce中Text类型数据被无缘无故替换? 今天偶然看到一个mapreduce demo,直接上手操作 统计两个文件中 最大值 文件中数据格式为 名字 数值 输出为 名字(最大值所对应的 ...
- C - The Suspects POJ - 1611(并查集)
Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized ...
- ASP检测客户是否取消微信公众号
有时因为项目内需要用到检测客户是否已经取消关注微信公众号,只有没被取消执行相关模板信息发送.图文信息发送.视频语音等信息发送给客户才有意义.也可以知道多少客户还在我们的微信公众号关注内.方便后期做公众 ...
- SparkSQL电商用户画像(二)之如何构建画像
四. 如何构建电商用户画像 4.1 构建电商用户画像技术和流程 构建一个用户画像,包括数据源端数据收集.数据预处理.行为建模.构建用户画像 有些标签是可以直接获取到的,有些标签需要通过数据挖掘分析到! ...
- SRP(单一职责)——没有一只能飞能走的鸟
单一职责原则(SRP:Single responsibility principle)又称单一功能原则.它规定一个类应该只有一个发生变化的原因. 一.起因 编码中,需要创建一只小鸟,既能飞,用能走. ...
- 一文带你详细介绍c++中的std::move函数
前言 在探讨c++11中的Move函数前,先介绍两个概念(左值和右值) 左值和右值 首先区分左值和右值 左值是表达式结束后依然存在的持久对象(代表一个在内存中占有确定位置的对象) 右值是表达式结束时不 ...
- spring mvc简单使用
spring mvc pom.xml依赖与插件 导入servlet.springmvc.Jackson的依赖,编译插件.tomcat <?xml version="1.0" ...
- 『政善治』Postman工具 — 11、Postman中对Cookie的操作
目录 1.关联接口说明 2.测试关联接口实现步骤 3.补充:Postman中将请求转换成代码 上一篇文章说明了Postman中关于Cookie的相关操作,还是以Cookie举例,来说明下一在Postm ...