python学习 (三十三) Modules
1: 方法一: 导入整个模块
import math
class ModulesDemo():
def builtin_modules(self):
print(math.sqrt()) m = ModulesDemo()
m.builtin_modules()
方法二: 只导入用到的部分
from math import sqrt class ModulesDemo():
def builtin_modules(self):
print(sqrt()) m = ModulesDemo()
m.builtin_modules()
2 自定义模块
关于导入模块:
第一种情况: 主程序与模块程序在同一目录下:
`-- src
|-- mod1.py
`-- test1.py
若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *;
第二种情况:主程序所在目录是模块所在目录的父(或祖辈)目录
如下面程序结构:
`-- src
|-- mod1.py
|-- mod2
| `-- mod2.py
`-- test1.py
若在程序test1.py中导入模块mod2, 需要在mod2文件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口); 然后使用 from mod2.mod2 import * 或import mod2.mod2.
第三种情况:主程序导入上层目录中模块或其他目录(平级)下的模块
如下面程序结构:
`-- src
|-- mod1.py
|-- mod2
| `-- mod2.py
|-- sub
| `-- test2.py
`-- test1.py
若在程序test2.py中导入模块mod1和mod2。首先需要在mod2下建立__init__.py文件(同(2)),src下不必建立该文件。然后调用方式如下:
下面程序执行方式均在程序文件所在目录下执行,如test2.py是在cd sub;之后执行python test2.py
而test1.py是在cd src;之后执行python test1.py; 不保证在src目录下执行python sub/test2.py成功。
import sys
sys.path.append("..")
import mod1
import mod2.mod2
如下图所示:展示了从moTest中导入Car2.oy(同目录下), Car3(下一层目录), Car(其他目录)情况下的各种情况。
result: (注意!!因为导入的三个文件都有执行代码,所以按照导入顺序,导入的模块的代码会被执行!!一般的情况下,导入的模块只是提供
函数,但是不应该有执行的代码)
20.0
10.0
30.0

python学习 (三十三) Modules的更多相关文章
- python学习三十三天函数匿名函数lambda用法
python函数匿名函数lambda用法,是在多行语句转换一行语句,有点像三元运算符,只可以表示一些简单运算的,lambda做一些复杂的运算不太可能.分别对比普通函数和匿名函数的区别 1,普通的函数用 ...
- 孤荷凌寒自学python第三十三天python的文件操作初识
孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...
- python 学习笔记十三 JQuery(进阶篇)
jQuery 是一个 JavaScript 库. jQuery 极大地简化了 JavaScript 编程. 安装jQuery 有两个版本的 jQuery 可供下载: Production versio ...
- Python学习三天计划-1
一.第一个Python程序 配置好环境变量后 打开CMD(命令提示符)程序,输入Python并回车 然后,在里面输入代码回车即可立即执行 Python解释器的作用是 将Python代码翻译成计算机认识 ...
- python学习笔记十三 JS,Dom(进阶篇)
JS介绍 JavaScript 是属于网络的脚本语言!JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用:JavaScript 是因特网上最流 ...
- Python学习三---序列、列表、元组
一.序列 1.1.序列概念 pythn中最基本的数据结构是序列(sequence). 序列中每个元素被分配一个序号-元素索引,第一个索引是0,第二个是1,以此类推.类似JAVA中数组和集合中的下标. ...
- Python学习(十三) —— 网络编程
一.操作系统基础 操作系统(Operating System):OS是管理和控制计算机硬件和软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行 ...
- python学习笔记(十三)接口开发
一.开发接口的作用 1.mock接口,模拟一些接口,在别的接口没有开发好的时候,需要开发一些模拟接口进行调试和测试. 2.查看数据,比如,获取所有学员信息的接口,就不需要提供数据库的查看信息. 二.接 ...
- python学习笔记(十三): 多线程多进程
一.线程&进程 对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程, ...
随机推荐
- 剑指offer--49.矩阵中的路径
时间限制:1秒 空间限制:32768K 热度指数:156998 题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩 ...
- PHP use
PHP 7 use 语句 PHP 7 新特性 PHP 7 可以使用一个 use 从同一个 namespace 中导入类.函数和常量: 实例 实例 // PHP 7 之前版本需要使用多次 use us ...
- 【跟着stackoverflow学Pandas】add one row in a pandas.DataFrame -DataFrame添加行
最近做一个系列博客,跟着stackoverflow学Pandas. 以 pandas作为关键词,在stackoverflow中进行搜索,随后安照 votes 数目进行排序: https://stack ...
- Chrome调试javacript禁止缓存
/********************************************************************* * Chrome调试javacript禁止缓存 * 说明: ...
- 小程序开发之scroll-view中id不能以数字开头的问题
在实现这样的一个功能时, 调用微信小程序api发现scroll中可以通过id来实现点击菜单栏,屏幕滚动到对应的id位置 但是id不能以数字,汉字类型的 字符串开头(暂发现两种),可能博主比较笨,想 ...
- vue自定义指令v-scroll(directive)
vue开发中,很多地方如果说都用到了某一方法,我们就可以进行指令化封装,通过自定义指令来实现这里通过两个例子说明vue-Directive的使用 1.v-focus 主要用来实现页面加载进来的时候文本 ...
- pandas.read_csv()参数(转载)
文章转载地址 pandas.read_csv参数整理 读取CSV(逗号分割)文件到DataFrame 也支持文件的部分导入和选择迭代 更多帮助参见:http://pandas.pydata.org/p ...
- c++学习笔记(5)
1.两个相邻的仅由空格,制表符或者换行符分开的字符串字面值,可连接成一个新的字符串 cout<<"a multi-line " "string literal ...
- BZOJ2820 YY的GCD 【莫比乌斯反演】
BZOJ2820 YY的GCD Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, ...
- hadoop下远程调试方法
JPDA 简介Sun Microsystem 的 Java Platform Debugger Architecture (JPDA) 技术是一个多层架构,使您能够在各种环境中轻松调试 Java 应用 ...