Python:笔记(2)——函数与模块
Python:笔记(2)——函数与模块
Python函数
关于函数
1、我们可以使用Help来查看函数的帮助信息
2、调用函数的时候,如果传入的参数数量或者类型不符合均会报错。
3、函数名其实就是一个指向函数对象的引用,可以把函数名赋给一个变量,从而给函数起了别名
定义函数
定义一个函数需要用到def语句,依次写出函数名、括号、参数和冒号:,在缩进块中编写函数体,用return语句返回结果。
关于自定义函数
1、使用PASS来代替操作
2、手动进行类型检测
3、返回多个值
函数的参数
1、默认参数
说明:必选参数在前,默认参数在后,否则Python的解释器会报错
2、可变参数
3、关键字参数
说明:**extra
表示把extra
这个dict的所有key-value用关键字参数传入到函数的**kw
参数,kw
将获得一个dict,注意kw
获得的dict是extra
的一份拷贝,对kw
的改动不会影响到函数外的extra
。
4、命名关键字参数
说明:定义命名的关键字参数在没有可变参数的情况下不要忘了写分隔符
*
,否则定义的将是位置参数。
5、在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
模块
说明:
模块是一系列相关的函数和变量。模块是一个由函数组成的工具箱,用于编写其他程序。因此模块通常没有main()函数。
模块中涉及到了命名空间的概念。实际上就是给模块中的函数增加了一个前缀,以免导入多个模块使用时出现同名函数,产生二义性。
模块的作用域
- 正常的函数和变量名是公开的(public),可以被直接引用,比如:
abc
,x123
,PI
等; - __XXX__,这种形式的变量是特殊变量,可以直接引用,但是有特殊用途,我们的变量不要用这种格式。
- _XXXXX,这样的函数或变量就是非公开的(private),不应该被直接引用,比如
_abc
,__abc
等;
说明:之所以我们说,private函数和变量“不应该”被直接引用,而不是“不能”被直接引用,是因为Python并没有一种方法可以完全限制访问private函数或变量,但是,从编程习惯上不应该引用private函数或变量。
导入模块:
1 import div #创建一个新的命名空间。并在该命名空间中执行.py文件相关的所有语句 2 import div as foo #使用不同的名称导入模块 3 from div import funcation1 #将具体的定义加载到当前命名空间 4 from div import * #将模块的所有内容加载到当前命名空间
使用模块的功能:
1 div.funcation1() #命名空间为默认的模块名 div 2 foo.funcation1() #命名空间为自定义的 foo 3 funcation1() #已加入到当前命名空间,不需要加前缀