python入门20 导入模块(引包)

1 引包: import module  或  import module.module1  或 from module import module1,module2...等

2 import xx 导入xx模块,创建变量xx指向该模块,通过变量xx可访问模块内的所有功能

3 import xx.yy   与  from xx import yy 使用方式的差别:前者如果使用yy下的fun()需写成xx.yy.fun(), 后者只写yy.fun()即可。

4 python包:目录下带有__init__.py文件的才是包

 

#coding:utf-8
#/usr/bin/python
"""
2018-11-18
dinghanhua
引包
"""

""" import xx 导入xx模块,就是变量xx指向该模块,通过变量xx可访问模块内的所有功能"""
import os

import requests as req #别名
response = req.get('https://www.baidu.com')
"""from xx import yy"""
from selenium import webdriver
dr = webdriver.Firefox()
 """import xx.yy"""
import selenium.webdriver
dr = selenium.webdriver.Firefox()
"""from xx.yy import zz"""
from selenium.webdriver import Firefox,Chrome #引入多个包
dr = Firefox()

"""
from xxx import * 不一定引入全部,只有作者在__all__里面写了的模块才会导入""" """引入自定义包,同一个目录下module 直接引入import module""" """引入自定义包,不同目录,引入import 目录.子包,或from 目录 import 子包"""
'''__main__里面的代码只在当前脚本单独执行时执行,被引用时不执行'''
if __name__ == '__main__':
    print('调试下当前程序') #被引用时不执行


实践: 新建包module1,包下面有py1.py


py1.py的内容:
class py2:
    def func(self):
        print('func is function')

print('不在main内部的')

if __name__ == '__main__':
    print('调试下当前程序')

1 直接在py1.py执行,会执行main部分的程序

   

2 在其他程序中引入module1,不会执行py1.py main里面的程序 

     或      




 特别注意: 自定义包名 避免与系统自带及第三方包重名

"""  自定义包名避免与已有的包重名
查找顺序:当前目录下查找 》sys.path 》环境变量里找pythonpath 》built-in 》site-packages 找到即停止"""

#当前目录新建文件datetime.py
import datetime
print(datetime.time()) #报错 AttributeError: module 'datetime' has no attribute 'date'

the end!

原文地址:https://www.cnblogs.com/dinghanhua/p/9980371.html