python 中不同包 类 方法 之间的调用详解


Posted in Python onMarch 09, 2020

目录结构如下:

python 中不同包 类 方法 之间的调用详解

在hello.py中导入ORM.py这个文件的时候,采用

import ORMPackage.ORM

或者

import ORM
u = User(id = 123, name='codiy', email='codiy_huang@163.com', password='123456')

两种方式均报错

错误提示:

name '***' is not defined

或者

No module named ORM

解决办法:

方法一 将包所在的目录添加到sys.path路径

import sys
import os
sys.path.append(os.getcwd() + '/ORMPackage')
from ORM import User
u = User(id = 123, name='codiy', email='codiy_huang@163.com', password='123456')

方法二 python版本≥3.5,可采用

from ORMPackage import ORM

或者

from ORMPackage.ORM import User

或者

from .ORM import User # 最近发现这种情况较多,直接 .*

补充知识:python导入两个包括同名函数的模块

当使用的函数中出现同名函数时,如果不注意的话,会造成程序的异常,这个时候要仔细的看程序的报错信息,会发现是函数的引用出现错误。如果不仔细的话会误以为是其他原因导致函数不能正常运行,会浪费很多时间。o(???)o

rectangle和 circular为两个不同的模块,它们都包含girth函数

如下运行函数时会有异常

from rectangle import *  #导入矩形模块
 
from circular import *   #导入圆形模块
 
girth(10)           #调用计算圆形周长的函数
 
girth(10,,20)      #调用计算矩形周长的函数

解决办法是:不使用from....import 导入,而是使用import导入

import rectangle as r
 
import circular as c
 
c.girth(10)           #调用计算圆形周长的函数
 
r.girth(10,,20)      #调用计算矩形周长的函数

也可以直接把函数起别名,这样在用函数的时候直接使用函数别名就行了

from... import ....as...

以上这篇python 中不同包 类 方法 之间的调用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之dict()的操作方法
Sep 24 Python
Python简单计算文件夹大小的方法
Jul 14 Python
详解Python的collections模块中的deque双端队列结构
Jul 07 Python
如何利用Fabric自动化你的任务
Oct 20 Python
Sanic框架安装与简单入门示例
Jul 16 Python
python实现自动登录
Sep 17 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
Jul 11 Python
python编写简单端口扫描器
Sep 04 Python
python读写文件write和flush的实现方式
Feb 21 Python
pycharm 关掉syntax检查操作
Jun 09 Python
使用SQLAlchemy操作数据库表过程解析
Jun 10 Python
python 动态渲染 mysql 配置文件的示例
Nov 20 Python
PyCharm 无法 import pandas 程序卡住的解决方式
Mar 09 #Python
python3 使用traceback定位异常实例
Mar 09 #Python
基于Python3.7.1无法导入Numpy的解决方式
Mar 09 #Python
Python 解决火狐浏览器不弹出下载框直接下载的问题
Mar 09 #Python
Python实现井字棋小游戏
Mar 09 #Python
python爬虫开发之selenium模块详细使用方法与实例全解
Mar 09 #Python
python为QT程序添加图标的方法详解
Mar 09 #Python
You might like
用在PHP里的JS打印函数
2006/10/09 PHP
用PHP和ACCESS写聊天室(四)
2006/10/09 PHP
php smarty模版引擎中的缓存应用
2009/12/11 PHP
php通过function_exists检测函数是否存在的方法
2015/03/18 PHP
php生成与读取excel文件
2016/10/14 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
2009/05/21 Javascript
预加载css或javascript的js代码
2010/04/23 Javascript
javascript之学会吝啬 精简代码
2010/04/25 Javascript
jquery.validate使用攻略 第二部
2010/07/01 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
2011/02/23 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
jQuery Masonry瀑布流布局神器使用详解
2017/05/25 jQuery
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
获取本机IP地址的实例(JavaScript / Node.js)
2017/11/24 Javascript
详解js删除数组中的指定元素
2018/10/31 Javascript
Vue如何提升首屏加载速度实例解析
2020/06/25 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
2020/07/20 Javascript
vue中实现点击变成全屏的多种方法
2020/09/27 Javascript
[01:01:31]2018DOTA2亚洲邀请赛3月29日小组赛B组 Mineski VS paiN
2018/03/30 DOTA
[52:14]VG vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python中实现的RC4算法
2015/02/14 Python
详解python中的线程
2018/02/10 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
Pandas —— resample()重采样和asfreq()频度转换方式
2020/02/26 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
韩国CJ食品专卖网:CJonmart
2016/09/11 全球购物
感恩教育活动总结
2014/05/05 职场文书
旅游节目策划方案
2014/05/26 职场文书
出纳试用期自我鉴定范文
2014/09/16 职场文书
经理岗位职责范本
2015/04/15 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
学校2016年九九重阳节活动总结
2016/04/01 职场文书
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python