包: 简单来说包就是目录 , 比目录多一个init.py文件
import time
import random
import getpass
1.cacl
from __future__ import division
NAME = 'filename'
HOST = 'localhost'
PORT = 3306
def add(x, y):
return x + y
def div(x, y):
return x / y
# __name__, 如果不是导入执行, 结果为__main__;
# __name__, 如果是导入执行, 结果为脚本名称;(脚本名为cacl.py, 脚本名称为cacl)
if __name__ == "__main__":
print add(1,2)
2.linux
模块:
- 系统内置模块:time, random
- 自定义模块: cacl,add
- 第三方模块:
模块本质上是python文件/脚本,增强代码的可维护性和可重用性;
# 导入模块的三种方法:
1). import 模块名: 尽量优先使用, 避免与现有的函数名或者变量名冲突;
模块名.函数名()
模块名.变量名
2). from 模块名 import 函数/变量名: 有节制的使用;容易与现有的函数名或者变量名冲突;
3). from 模块名 import *: 尽量避免使用, 会污染命名空间;
"""
from cacl import add
from cacl import PORT
print add(1,2)
3.lvah
# 导入模块时, 会执行cacl.py脚本
import pprint
import cacl
# 模块名.函数()
print cacl.add(2,3)
# 模块名.变量名
print cacl.HOST
print cacl.PORT
print pprint.pprint(sys.modules.items())
4.
# # 导包时, import 包名[.包名.....].模块名
# import Package01.add
#
#
# print Package01.add.add(1,3)
# print Package01.add.a
# # 导包时, from 包名[.包名.....] import 模块名
# from Package01 import add
#
# print add.add(3,4)
# print add.a
# from Package01 import * 实质上是执行Package01包里面的__init__.py脚本的;
from Package01 import *
print add.add(1,2)