Python_day_06_模块与包

包: 简单来说包就是目录 , 比目录多一个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)

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页