包的导入
几种导入方式
-
import 包名
1 import time 2 time.time()
-
import 包名,包名
1 import time,sys 2 time.time() 3 sys.path
-
from 包名 import 模块名
1 from time import time 2 time()
-
from 包名 import *
导入指定包下所有模块
1 from time import * 2 time()
__all__暴露指定属性
test.py:
1 __all__ = [‘func1‘] 2 3 4 def func1(): 5 print(‘from func1‘) 6 7 8 def func2(): 9 print(‘from func2‘)
1 from test import * 2 3 func1() 4 func2() # NameError: name ‘func2‘ is not defined 5 6 # 只能访问到导入原文件中__all__中指定的属性
导入时的查找顺序
- python内部会先在sys.modules里面查看是否包含要导入的包\模块,如果有,就直接导入引用
- 如果第1步没有找到,python会在sys.path包含的路径下继续寻找要导入的模块名.如果有,就导入,没有就报错.(pycharm会默认把项目路径加入到sys.path])
异常处理
1 try: 2 ret = int(input(‘number >>>‘)) # ‘a‘ 3 print(ret * ‘*‘) 4 except ValueError: # 输入a时转int失败 throw ValueError 5 print(‘输入的数据类型有误‘) 6 except Exception: 7 print(‘会捕获任何异常‘) 8 else: 9 print(‘没有异常的时候执行else中的代码‘)
原文地址:https://www.cnblogs.com/zze46/p/9577364.html
时间: 2024-11-09 02:03:11