python模块--如何相互调用自己写的模块
- 一、模块相互调用
同级目录调用时的两种方法
- import module
- print(module.add(3,8))
- from module import add
- print(add(2,4))
- 同级目录的子目录调用
- from 文件相互调用 import cal
- print(cal.sub(3,8))
- from 文件相互调用.cal import sub #这种情况下加一个点(.),然后写目录
- print(sub(3,9))
- 同级目录的子目录的子目录的调用
- from 文件相互调用.文件2 import cal2
- print(cal2.mul(3,7))
- from 文件相互调用.文件2.cal2 import mul
- print(mul(3,7))
- 依次再深一层
- from 文件相互调用.文件2.文件3 import cal3
- print(cal3.divi(8,2))
- from 文件相互调用.文件2.文件3.cal3 import divi
- print(divi(8,2))
特殊情况
- ######### 有一种情况特殊的 #################
- from 文件相互调用.文件2 import 文件3 #这种不推荐用这种的
- print(文件3.cal3.divi(8,2))
- ##### 有一种特殊的调用格式:这种不推荐用。一执行效率低;二不却确定文件是否重复等
- from 文件相互调用 import *
- print(cal.sub(3,8))
- from 文件相互调用.文件2.文件3 import *
- print(cal3.divi(8,2))
二、一些细节
- #############################################
- 同时调用多个模块时,可简写如下
- import xx, xx,xx, ... #即用逗号隔开
- ##############################################
- import调用模块时,做了两件事情:
- 1、会执行一遍被调用的模块
- 2、引入变量名(即模块名)
- ##############################################33
- 通常情况下不会把所有程序写在一个文件里面,而是依据功能写到不同的文件里面
- 如:
- bin文件时程序的的入口
- main 文件里只写逻辑程序
- module 文件里面只写功能程序
- 包的功能:
- 1、用来组织模块的,可以根据模块的功能分包;
- 2、避免模块冲突;而同名模块放在不同包就不会发生冲突。
- ################################################33
- if __name__ == "__main__":
- print(add(3,5))
- print('ok')
- print(__name__)
- if __name__ == "__main__": 作用有二:
- 1、 放入某一个文件种,用来测试该文件的结果,但是,该文件被调用时,该语句不会被执行。
- 简单说就是:用于被调用文件的测试
- 2、调用程序里面写上这么一句,可以防止别人修改我的主程序,仅供他人调用而已。
python模块--如何相互调用自己写的模块的更多相关文章
- python - 函数的相互调用 及 变量的作用域
# -*- coding:utf-8 -*- '''@project: jiaxy@author: Jimmy@file: study_函数的相互调用及变量的作用域.py@ide: PyCharm C ...
- python不同包之间调用时提示文件模块不存在的问题
python对于跨包调用函数时,经常会提示模块不存在的问题,主要是python程序执行时,搜索路径导致的,python程序执行的路径依次是: (1)程序根目录(2)环境变量(3)标准库目标(D:\Py ...
- Python与C相互调用、编译
因为最近学习Boost::python的缘故,想尝试下不同语言之间的相互编译. 参考资料:http://blog.csdn.net/joliny/article/details/2457197. 很吃 ...
- Python与Javascript相互调用超详细讲解(2022年1月最新)(三)基本原理Part 3 - 通过C/C++联通
目录 TL; DR python调javascript javascript调python 原理 基于Node.js的javascript调用python 从Node调用python函数 V8 嵌入P ...
- Python与Javascript相互调用超详细讲解(四)使用PyNode进行Python与Node.js相互调用项(cai)目(keng)实(jing)践(yan)
目录 前提 安装 使用 const pynode = require('@fridgerator/pynode')的时候动态链接错误 ImportError: math.cpython-39-x86_ ...
- Python与Javascript相互调用超详细讲解(2022年1月最新)(一)基本原理 Part 1 - 通过子进程和进程间通信(IPC)
TL; DR 适用于: python和javascript的runtime(基本特指cpython[不是cython!]和Node.js)都装好了 副语言用了一些复杂的包(例如python用了nump ...
- Python实例浅谈之三Python与C/C++相互调用
一.问题 Python模块和C/C++的动态库间相互调用在实际的应用中会有所涉及,在此作一总结. 二.Python调用C/C++ 1.Python调用C动态链接库 Python调用C库比较简单,不经过 ...
- python调用C++之pybind11入门(相互调用)
python调用C/C++有不少的方法,如boost.python, swig, ctypes, pybind11等,这些方法有繁有简,而pybind11的优点是对C++ 11支持很好,API比较简单 ...
- Python与C/C++相互调用(python2 调c++那个试了ok)
一.问题 Python模块和C/C++的动态库间相互调用在实际的应用中会有所涉及,在此作一总结. 二.Python调用C/C++ 1.Python调用C动态链接库 Python调用C库比较简单,不经过 ...
随机推荐
- pahlcon:循环调度(Dispatch Loop)或跳转
循环调度将会在分发器执行,直到没有action需要执行为止.在上面的例子中,只有一个action 被执行到.现在让我们来看下“forward”(转发)怎样才能在循环调度里提供一个更加复杂的操作流,从而 ...
- Template、ItemsPanel、ItemContainerStyle、ItemTemplate (部分内容有待验证)
以下摘自“CSDN”的某人博客,部分内容有待验证,需注意“辨别学之....” 1.Template是指控件的样式 在WPF中所有继承自contentcontrol类的控件都含有此属性,(继承自Fram ...
- VS2017 MVC项目,新建控制器提示未能加载文件或程序集“Dapper.Contrib解决方法
VS2017中MVC项目中,右键新建控制器时,提示 未能加载文件或程序集“Dapper.Contrib, Version=1.50.0.0, Culture=neutral, PublicKeyTok ...
- Friendly Date Ranges
让日期区间更友好! 把常见的日期格式如:YYYY-MM-DD 转换成一种更易读的格式. 易读格式应该是用月份名称代替月份数字,用序数词代替数字来表示天 (1st 代替 1). 记住不要显示那些可以被推 ...
- 微信小程序获取当前页面的路径的方式
使用getCurrentPages可以获取当前加载中所有的页面对象的一个数组,数组最后一个就是当前页面. var pages = getCurrentPages() //获取加载的页面 var cur ...
- TCP/IP网路协议复习
1.OSI (Open System Interconnect Protocol) 开放互联协议,这是一个七层的计算机网络协议,包括:物理层.数据链路层.网络层.传输层.回话层.表示层.应用层. ...
- C++多线程2.beginthread
C++ 多线程2 beginthread 启动线程知识 20131021 Reference: http://blog.csdn.net/laoyang360/article/details/7720 ...
- COW写时复制
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- ubuntu下编译neovim
# 安装编译依赖 sudo apt-get install libtool libtool-bin autoconf automake cmake g++ pkg-config unzip -y # ...
- [转载]面试心得与总结---BAT、网易、蘑菇街等
转载自:http://mp.weixin.qq.com/s?__biz=MzIzMDIxNTQ3NA==&mid=2649111851&idx=1&sn=f43c42f7262 ...