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!
当情绪低落,烦躁的时候,学技术并整理成博客能忘却所有烦恼。技术改变心境。