模块
模块是处理某一类问题的集合,模块由函数和类组成。一个“.py”文件就是一个模块。
模块的创建
#自定义模块myModule.py
def fun():
print("myModule.fun()")
class MyClass:
def myfun(self):
print("myModule.MyClass.myFun()")
# 调用自定义模块的类和函数call_myModule.py
import myModule
myModule.fun()
mc = myModule.MyClass()
mc.myfun()
模块的导入
在使用一个模块的函数或类之前,首要要导入该模块。
导入语句的格式为import 或from...import...
模块的属性
__name__用于判断当前模块是否是程序的入口,如果当前程序正在被使用,__name__的值为__main__
if __name__ == '__main__':
print('主程序运行')
else:
print('被另一个模块调用')
自定义包
包就是一个至少包含__init__.py文件的文件夹。
函数
函数就是一段可以重复多次调用的代码,通过输入的参数值,返回需要的结果。
函数的定义:函数的定义使用关键字"def"
格式:
def 函数名(参数1,参数2,,,):
函数体
return 表达式
函数的调用:
函数名(实参1,实参2,...)
def sum(a, b):
return a+b
c = sum(2, 3)
print(c)
函数参数:
python中任何东西都是对象,所以参数只支持引用传递的方式。
函数的参数只支持默认值
传递可变长度的参数
函数参数前使用标识符“*”,把多个参数组合到一个元组中。
# 传递可变参数
def func(*a):
print(a)
func(1, 2, 3)
形式参数前加“**”,可以引用一个字典。
# 传递可变参数
def func(**a):
print(a)
print(a.keys())
print(a.values())
for i in a.items():
print(i)
func(a="one", b="two", c="three")
函数的返回值使用return语句。return后面可以是“表达式”可以是“变量”
函数的嵌套:
def func():
x = 1
y = 2
m = 3
n = 4
def sum():
return x+y
def sub():
return m-n
return sum()*sub()
print(func())
递归函数
递归函数可以在函数主体内直接和间接地调用自己,递归分为两个阶段。递推和回归
# 递归函数
def refunc(n):
if n == 1:
return 1
else:
return n*refunc(n-1)
print(refunc(5))
lambda函数
lambda函数用于创建一个匿名函数。lambda函数格式:lambda 变量1,变量2,变量3,...:表达式
fun = lambda x, y: x**2+y**2
print(fun(3, 4))