Python小知识点(2)
1.简述Python的运行过程
在说这个问题之前,我们先来说两个概念,PyCodeObject和pyc文件。
我们在硬盘上看到的pyc自然不必多说,而其实PyCodeObject则是Python编译器真正编译成的结果。我们先简单知道就可以了,继续向下看。
当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。
当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。
所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。
2.copy是浅赋值,只是赋值了第一层的内存地址。
3.输出For 循环中的index的处理方式。
4.函数式编程----过程式编程 均使用def定义
过程是没有返回值的函数
5.为什么函数需要有返回值?
最大作用是获得函数操作后的唯一结果
6.函数的调用方式
def test(x,y): print(x) print(y) # 位置参数调用:形参与实参必须一一对应 # test(1,3) # 关键字调用:位置无须对应 test(y=1,x=2) # 混合:关键字调用必须位置参数之后 test(1,y=3) def test(x,y=2): print(x) print(y) '''使用默认参数的函数,调用函数的时候默认参数非必须传递''' # 只传递一个参赛,使用默认参数 test(1) # 传递两个参数:实参覆盖默认值 test(1,2)
(1)形式参数
*args:接受N个位置参数,转换成元组
接受不固定参数(位置参数) ---变成元组
def test(*args): print(args) test(3,5,7,8) #(3, 5, 7, 8) 输出结果
(2)**kwargs:把N个关键字参数,转换成字典的方式.
def test(**kwargs): print(kwargs) test(name='wfb',age=19) # {'name': 'wfb', 'age': 19} 输出结果
As you wish.