>>返回主目录



源码

  1. # 函数嵌套
  2. def func1():
  3. print("这是外部函数")
  4. def func2():
  5. print("这是内部函数1")
  6. def func3():
  7. print("这是内部函数2")
  8. # func2() # 在函数外部不能直接调用函数内部的函数
  9. func1()

源码

  1. # 嵌套调用
  2. # 嵌套调用1:在外函数内部调用内函数,例如:
  3. def fun_outer_call_1():
  4. print("这是outer外部函数1")
  5. def fun_inner_call_1():
  6. print("这是inner内部函数1")
  7. fun_inner_call_1() # 函数名调用内函数
  8. fun_outer_call_1()
  9. # 嵌套调用2:可以用return调用内函数,例如:
  10. def fun_outer_call_2():
  11. print("这是outer外部函数2")
  12. def fun_inner_call_2():
  13. print("这是inner内部函数2")
  14. return fun_inner_call_2() # return 函数名(),方式调用
  15. fun_outer_call_2() # 调用外函数
  16. def fun_outer_call_3():
  17. print("这是outer外部函数3")
  18. def fun_inner_call_3():
  19. print("这是inner内部函数3")
  20. return fun_inner_call_3 # return 函数名,方式调用
  21. fun_outer_call_3()() # 调用内函数

源码

  1. # Author:PortosHan
  2. # Datetime:2021/5/28 11:22
  3. # Project:zbcf_python_lesson_project
  4. """
  5. 登录练习:
  6. 第一步:输入用户名、密码;
  7. 第二步:生成验证码;
  8. 第三步:校验验证码是否输入正确;
  9. 第四步:校验用户名、密码是否输入正确(数据库中有的);
  10. 第五步:都正确则登录成功,有错误则提示相应原因。
  11. 代码提示:
  12. def generate_code():
  13. print('此函数用于生成验证码')
  14. def login():
  15. print('此函数用于登录')
  16. generate_code() # 函数内调用生成验证码函数
  17. login()
  18. """
  19. # 创建全局变量
  20. import random
  21. KEY_WORD = '1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM' # 验证码可包含的字符
  22. CODE_NUMBER = 4 # 验证码的字符个数
  23. LOCK_LOGIN = 5 # 登录失败锁定登录的次数
  24. # 定义一个生成验证码的函数
  25. def generate_code():
  26. code = ''
  27. for _ in range(CODE_NUMBER):
  28. ran_str = KEY_WORD[random.randint(0, len(KEY_WORD)-1)]
  29. code += ran_str
  30. return code
  31. def login():
  32. print('******中保车服官网******')
  33. for _ in range(LOCK_LOGIN):
  34. user_name = input('用户名:')
  35. pass_word = input('密码:')
  36. code = generate_code()
  37. print(f'验证码是:{code}')
  38. input_code = input('验证码:')
  39. # 校验验证码、用户名和密码是否正确
  40. if input_code.lower() == code:
  41. if user_name.lower() == 'portos' and pass_word == '123456':
  42. print('用户登录成功!')
  43. return
  44. else:
  45. print('用户名或密码有误,请重新输入!')
  46. else:
  47. print('输入的验证码有误,请重新输入!')
  48. return
  49. 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. Oracle-DG 主库将log_archive_dest_state_2远程归档线程参数设置为defer,为什么dg还是处于实时同步状态?

    一.需求,前段时间,墨天伦有个小伙伴咨询了这个问题,搞了测试环境测试下. Oracle-DG 主库将log_archive_dest_state_2远程归档线程参数设置为defer,为什么dg还是处于 ...

  2. 将 Python 打包的 exe 进行反编译

    Python 打包成 exe 之后,是否能从二进制文件中恢复出源代码?没有加密的话是可以的. 首先需要解包. 直接从 github 上下载就行:https://github.com/counterce ...

  3. 19. slot插槽传递模板

    插槽,也就是slot,是组件的一块HTML模板,这块模板显示不显示.以及怎样显示由父组件来决定. 插槽模板是slot,它是一个空壳子,因为它显示与隐藏以及最后用什么样的html模板显示由父组件控制.但 ...

  4. Borrowers UVA - 230

      I mean your borrowers of books - those mutilators of collections, spoilers of the symmetry of shel ...

  5. 网页解析:Xpath 与 BeautifulSoup

    1. Xpath 1.1 Xpath 简介 1.2 Xpath 使用案例 2. BeautifulSoup 2.1 BeautifulSoup 简介 2.2 BeautifulSoup 使用案例 1) ...

  6. 11- jmeter主要元件

    元件分类 HTTP请求默认值(请求行,请求头,空行,消息体) HTTP信息头管理器: HTTPcookie管理器(1.更真实的模拟用户行为 ,多个请求的关联.第一个请求没有cookie第二个就带了co ...

  7. 【新手/零基础】Hexo+Gitee个人博客搭建教程--详细版

    前言 点此转到--精简版 可能很多小伙伴都有搭建一个属于自己的博客的想法.但是经常是无奈于自己匮乏的知识.但是,每个老手都是新手过来的,再困难的事情,只要肯花一点时间都可以办成. 本次教程分为详细版和 ...

  8. hdu4280 最大流DINIC

    题意:       x最小的到x最大的点同一时间的最大运输量. 思路:       裸的最大流,不解释,注意一点,记得加上防爆栈. #pragma comment(linker, "/STA ...

  9. [源码解析] 并行分布式任务队列 Celery 之 EventDispatcher & Event 组件

    [源码解析] 并行分布式任务队列 Celery 之 EventDispatcher & Event 组件 目录 [源码解析] 并行分布式任务队列 Celery 之 EventDispatche ...

  10. 分布式事务与Seate框架(2)——Seata实践

    前言 在上一篇博文(分布式事务与Seate框架(1)--分布式事务理论)中了解了足够的分布式事务的理论知识后,到了实践部分,在工作中虽然用到了Seata,但是自己却并没有完全实践过,所以自己私下花点时 ...