>>返回主目录



源码

# 函数嵌套
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进阶-函数嵌套和嵌套调用的更多相关文章

  1. python基础----函数的定义和调用、return语句、变量作用域、传参、函数嵌套、函数对象、闭包、递归函数

    1.函数的定义: 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可 ...

  2. python函数基础:嵌套函数、作用域、匿名函数、高阶函数、递归函数

    嵌套函数: 1. 函数内部可以再定义函数 2. 函数只有被调用之后才会执行 看如下代码: age = 18 def func1(): age = 22 print(age) def func2(): ...

  3. 【Python3之函数对象】

    函数对象 函数(Function)作为程序语言中不可或缺的一部分,但函数作为第一类对象(First-Class Object)却是 Python 函数的一大特性. 那到底什么是第一类对象(First- ...

  4. Python进阶-函数默认参数

    Python进阶-函数默认参数 写在前面 如非特别说明,下文均基于Python3 一.默认参数 python为了简化函数的调用,提供了默认参数机制: def pow(x, n = 2): r = 1 ...

  5. python--3、函数

    定义: 定义函数时,也相当于定义变量.会把函数体内的代码存入开辟的内存空间中.使用函数时,通过func() 声明是函数,其对应的值为代码.函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执 ...

  6. python3 闭包函数 装饰器

    闭包函数 1.闭:定义在函数内部的函数 2.包:内部函数引用了外部函数作用域的名字 在函数编程中经常用到闭包.闭包是什么,它是怎么产生的及用来解决什么问题呢.给出字面的定义先:闭包是由函数及其相关的引 ...

  7. ScrollView嵌套ListView嵌套GridView的上下拉以及加载更多

    ScrollView 效果 ScrollView 说明 一个ScrollView 嵌套ListView 嵌套GridView的上拉加载更多,下拉刷新的demo. 主要是重写了GridView和Lsit ...

  8. Python3 isinstance() 函数

    Python3 isinstance() 函数 描述 isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type(). isinstance() 与 type() 区别: typ ...

  9. Python3 join函数和os.path.join用法

    Python3  join函数和os.path.join用法 os.path.join()连接两个文件名地址的时候,就比os.path.join("D:\","test. ...

随机推荐

  1. 对象存储服务MinIO安装部署分布式及Spring Boot项目实现文件上传下载

    目录 一.MinIO快速入门 1. MinIO简介 2. CentOS7更换成阿里云镜像 3. 安装 3.1 下载 3.2 运行测试 4. 配置脚本执行文件 4.1 创建配置执行文件 4.2 执行 二 ...

  2. 承接上一篇,whale系统开篇,聊聊用户认证

    写在前面 上次老猫和大家说过想要开发一个系统,从简单的权限开始做起,有的网友表示还是挺支持的,但是有的网友嗤之以鼻,认为太简单了,不过也没事,简单归简单,主要的还是个人技术的一个整合和实战. 没错,系 ...

  3. Tree UVA - 548

      You are to determine the value of the leaf node in a given binary tree that is the terminal node o ...

  4. 什么是SQL注入漏洞?

    什么是SQL注入: SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用SQL. SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字 ...

  5. 记一次 .NET WPF布草管理系统 挂死分析

    一:背景 1. 讲故事 这几天看的 dump 有点多,有点伤神伤脑,晚上做梦都是dump,今天早上头晕晕的到公司就听到背后同事抱怨他负责的WPF程序挂死了,然后测试的小姑娘也跟着抱怨...嗨,也不知道 ...

  6. hdu3329 二分+搜索

    题意:       给你一个岛,然后岛的外侧开始涨水(内侧不涨只有外侧,也就是里面的0永远是0),问最少涨水多少才能把岛分成两个或者两个以上. 思路:       可以二分枚举水的高度(数据不大估计暴 ...

  7. hdu4115 2sat

    题意:       两个人玩剪刀石头布,他们玩了n把,给了你A这n把都出了什么,问你B能否会赢,其中A会限制B某些局数出的要相同,某些局数出的要不同,只要B满足他的限制,并且没没有输掉任何一把就算赢( ...

  8. Poj 3522 最长边与最短边差值最小的生成树

    题意:       让你求一颗生成树,使得最长边和最短边长度差值最小. 思路:      额!!!感觉这个思路会超时,但是ac了,暂时没什么别的好思路,那么就先说下这个思路,大牛要是有好的思路希望能在 ...

  9. POJ3040给奶牛发工资

    题意:       有n种硬币,每种硬币有mi个,然后让你给奶牛发工资,每周发至少c元(就是不找零钱的意思)然后问你能发几周?(硬币之间都是倍数关系) 思路:       这个题目做了两天,丢脸,看完 ...

  10. Linux系统中stat查看文件的相关时间

    目录 对于文件来说 对于目录来说 利用touch命令修改时间 在Linux下,对于一个文件有很多个时间戳属性,文件的创建时间,文件的修改时间,文件的读取时间.我们用stat来查看文件的相关时间属性. ...