函数

  • 函数
    • 函数定义与调用
    • 形参和实参
    • 变量的作用域(全局变量和局部变量)
    • 局部变量和全局变量的测试
    • 参数的传递
  • 参数的几种类型
    • 位置参数
    • 默认值参数
    • 命名参数
    • 可变参数
    • 强制命名参数
  • lambda表达式和匿名函数
  • eval()函数用法
  • 递归函数_函数调用内存分析_栈帧的创建
  • 嵌套函数_内部函数_数据隐藏
  • nonlocal和global 声明变量
  • LEGB规则

函数

函数定义与调用


形参和实参


变量的作用域(全局变量和局部变量)


局部变量和全局变量的测试

import math
import timedef ceshi01():start=time.time()for i in range(1000000):math.sqrt(30)end =time.time()print('耗时{0}'.format((end-start)))def ceshi02():b= math.sqrtstart=time.time()for i in range(1000000):b(30)end = time.time()print('耗时{0}'.format((end - start)))
ceshi01()
ceshi02()
耗时0.16200947761535645
耗时0.1390080451965332Process finished with exit code 0

参数的传递



import copydef testCopy():''' 测试浅拷贝'''a=[10,20,[5,6]]b=copy.copy(a)print('a:',a)print('b:',b)b.append(30)b[2].append(7)print('浅拷贝...')print('a:', a)print('b:', b)
testCopy()def testDeepCopy():''' 测试深拷贝'''a=[10,20,[5,6]]b=copy.deepcopy(a)print('a:',a)print('b:',b)b.append(30)b[2].append(7)print('深拷贝...')print('a:', a)print('b:', b)
testDeepCopy()
a: [10, 20, [5, 6]]
b: [10, 20, [5, 6]]
浅拷贝...
a: [10, 20, [5, 6, 7]]
b: [10, 20, [5, 6, 7], 30]
a: [10, 20, [5, 6]]
b: [10, 20, [5, 6]]
深拷贝...
a: [10, 20, [5, 6]]
b: [10, 20, [5, 6, 7], 30]Process finished with exit code 0


参数的几种类型

位置参数

默认值参数

命名参数


可变参数


强制命名参数

lambda表达式和匿名函数


eval()函数用法



递归函数_函数调用内存分析_栈帧的创建





嵌套函数_内部函数_数据隐藏


nonlocal和global 声明变量



LEGB规则




【Python基础知识-pycharm版】第七节-函数相关推荐

  1. 【Python基础知识-pycharm版】第一节-基础

    python第一节 特点 Python 解释器 python开发环境 交互模式 IDLE开发环境使用入门 程序基本格式 图形化程序设计 python程序的构成 python程序的对象 python的引 ...

  2. 【Python基础知识-pycharm版】第二节-赋值/数据类型/时间点/运算符/字符串

    python第二节 链式赋值_系列解包赋值 内置数据类型 时间表示unix时间点 多点坐标绘出折线图 运算符 字符串 部分来源: 1.https://blog.csdn.net/wys103158/a ...

  3. 【Python基础知识-pycharm版】第九节_面向对象的三大特征

    第九节 方法 方法没有重载 私有属性和私有方法(实现封装) @property装饰器_get和set方法 面向对象的三大特征说明(封装.继承.多态) 继承 方法的重写(类成员的继承和重写) 查看类的继 ...

  4. Python基础知识-pycharm版第六节笔记

    文章目录 嵌套函数(内部函数) 嵌套函数(内部函数) 嵌套函数: 在函数内部定义的函数! #测试嵌套函数定义def outer():print('outer running')def inner01( ...

  5. 【Python基础知识-pycharm版】第十一节-文件操作(IO技术)

    第十一节-文件操作(IO技术) 文本文件和二进制文件 文件操作相关模块概述 创建文件对象 open() 文本文件的写入 基本的文件写入操作 常用编码介绍 ASCII ISO8859-1 GB2312, ...

  6. 【Python基础知识-pycharm版】第十节_异常

    第十节 异常 异常机制本质 异常解决的关键:定位 try... 一个 except 结构 try... 多个 except 结构 try...except...else 结 构 try...excep ...

  7. 【Python基础知识-pycharm版】第六节-控制语句

    第六节 控制语句 选择结构 多分支选择结构 选择结构的嵌套 循环结构 while循环 for循环和可迭代对象遍历 range 对象 嵌套循环 break continue else语句 循环代码优化 ...

  8. 【Python基础知识-pycharm版】第五节-字典\集合

    第五节-字典\集合\控制语句 字典 字典的创建 字典元素的访问 字典元素添加.修改.删除 序列解包 表格数据使用字典和列表存储,并实现访问 字典核心底层原理(重要) 集合 集合相关操作 字典 字典是& ...

  9. 【Python基础知识-pycharm版】第四节-元组

    元组 元组的创建 元组的元素访问和计数 生成器推导式创建元组 列表属于可变序列,可以任意修改列表中的元素,元组属于不可变序列,不能修改元组中的元素.因此,元组没有增加元素.修改元素.删除元素相关的方法 ...

最新文章

  1. 计算机科学中抽象的好处与问题—伪共享等实例分析
  2. Chrome浏览器偶尔提示错误net::ERR_EMPTY_RESPONSE的解决方法
  3. EOS 消息设计(2)并行处理
  4. SpringBoot shedlock MongoDb锁配置
  5. ASP.NET AJAX Timer Trouble? Location is key.
  6. Nginx - 代理、缓存
  7. 2017.9.13 不等式组 思考记录
  8. Byobu:打造多任务的Terminal
  9. 整数的分类处理c语言switch,整数的分类处理
  10. 使用Windows 8 的“任务计划”令HydraVision更加精彩
  11. 什么是动作分析?动作分析的方法有哪些?
  12. win10强制关闭飞行模式_Win10一键关闭自动更新
  13. 信号处理中简单实用的方法——对信号进行平滑处理
  14. 建筑师们终于在虚拟空间开双年展了! | 绿洲 · 虚拟现实专栏
  15. ninja 编译threadx(ubuntu)
  16. 加速度计和陀螺仪指南
  17. 欧盟CE公告号-外贸人不得不了解的通关证书
  18. 64位系统最大支持多少内存
  19. 基于web的家庭理财系统
  20. Retrofit 使用 一

热门文章

  1. 获取系统信息3——proc文件系统介绍和使用
  2. spring-boot+swagger实现WebApi文档
  3. shell 判断文件是否存在,没有则创建
  4. Bug2算法的实现(RobotBASIC环境中仿真)
  5. Android菜鸟如何学习Android系统开发?
  6. 点击图片,AJAX删除后台图片文件
  7. windows 下编译 jrtplib-3.9.1 和 jthread-1.3.1
  8. raft协议中统计一条log被多少节点复制
  9. java并发编程实战阅读总结(b)
  10. C语言 数据结构 树和二叉树