上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 24 下一页
摘要: ###参数的几种类型 ###位置参数 函数调用时,实参默认按位置顺序传递,需要个数和形参匹配。按位置传递的参数,称为:“位置参数”。 【操作】测试位置参数 def f1(a, b, c): print(a, b, c) f1(2, 3, 4) f1(2, 3) # 报错,位置参数不匹配 输出结果: 阅读全文
posted @ 2022-11-19 13:58 竹蜻蜓vYv 阅读(88) 评论(0) 推荐(0) 编辑
摘要: ###传递不可变对象包含的子对象是可变的情况 # 传递不可变对象时。不可变对象里面包含的子对象是可变的。则方法内修改了这个可变对象,源对象也发生了变化。 a = (10, 20, [5, 6]) print("a:", id(a)) def test01(m): print("m:", id(m)) 阅读全文
posted @ 2022-11-19 13:46 竹蜻蜓vYv 阅读(29) 评论(0) 推荐(0) 编辑
摘要: ###浅拷贝和深拷贝 为了更深入的了解参数传递的底层原理,我们需要讲解一下“浅拷贝和深拷贝”。我们可以使用内置函数:copy(浅拷贝)、deepcopy(深拷贝)。 浅拷贝:不拷贝子对象的内容,只是拷贝子对象的引用。深拷贝:会连子对象的内存也全部拷贝一份,对子对象的修改不会影响源对象 # 测试浅拷贝 阅读全文
posted @ 2022-11-19 13:41 竹蜻蜓vYv 阅读(15) 评论(0) 推荐(0) 编辑
摘要: ###传递不可变对象的引用 传递参数是不可变对象(例如:int、float、字符串、元组、布尔值),实际传递的还是对象的引用。在”赋值操作”时,由于不可变对象无法修改,系统会新创建一个对象。 【操作】参数传递:传递不可变对象的引用 a = 100 def f1(n): print("n:", id( 阅读全文
posted @ 2022-11-19 13:36 竹蜻蜓vYv 阅读(67) 评论(0) 推荐(0) 编辑
摘要: ###参数的传递 函数的参数传递本质上就是:从实参到形参的赋值操作。 Python 中“一切皆对象”,所有的赋值操作都是“引用的赋值”。所以,Python 中参数的传递都是“引用传递”,不是“值传递”。具体操作时分为两类:1. 对“可变对象”进行“写操作”,直接作用于原对象本身。2. 对“不可变对象 阅读全文
posted @ 2022-11-19 13:32 竹蜻蜓vYv 阅读(14) 评论(0) 推荐(0) 编辑
摘要: ###局部变量和全局变量效率测试 局部变量的查询和访问速度比全局变量快,优先考虑使用,尤其是在循环的时候。在特别强调效率的地方或者循环次数较多的地方,可以通过将全局变量转为局部变量提高运行速度。 【操作】测试局部变量和全局变量效率 # 测试局部变量、全局变量的效率 import math impor 阅读全文
posted @ 2022-11-19 13:21 竹蜻蜓vYv 阅读(49) 评论(0) 推荐(0) 编辑
摘要: ###变量的作用域(全局变量和局部变量) 变量起作用的范围称为变量的作用域,不同作用域内同名变量之间互不影响。变量分为:全局变量、局部变量。 全局变量:1. 在函数和类定义之外声明的变量。作用域为定义的模块,从定义位置开始直到模块结束。2. 全局变量降低了函数的通用性和可读性。应尽量避免全局变量的使 阅读全文
posted @ 2022-11-19 13:17 竹蜻蜓vYv 阅读(162) 评论(0) 推荐(0) 编辑
摘要: ###函数也是对象,内存底层分析 Python 中,“一切都是对象”。实际上,执行 def 定义函数后,系统就创建了相应的函数对象。我们执行如下程序,然后进行解释: def print_star(): print("*********") print(print_star()) print(" ") 阅读全文
posted @ 2022-11-19 13:04 竹蜻蜓vYv 阅读(45) 评论(0) 推荐(0) 编辑
摘要: ###返回值 return 返回值要点:1. 如果函数体中包含 return 语句,则结束函数执行并返回值;2. 如果函数体中不包含 return 语句,则返回 None 值。3. 要返回多个返回值,使用列表、元组、字典、集合将多个值“存起来”即可。 【操作】定义一个打印 n 个星号的无返回值的函数 阅读全文
posted @ 2022-11-19 12:51 竹蜻蜓vYv 阅读(112) 评论(0) 推荐(0) 编辑
摘要: ###形参和实参 形参和实参的要点,请参考上一节中的总结。在此不再赘述 【操作】定义一个函数,实现两个数的比较,并返回较大的值。 def printMax(a, b): """实现两个数的比较,并返回较大的值""" if a > b: print(a, '较大值') else: print(b, ' 阅读全文
posted @ 2022-11-19 12:46 竹蜻蜓vYv 阅读(49) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 24 下一页