Python模块的定义,模块的导入,__name__用法实例分析
作者:随风行云 发布时间:2023-07-13 13:11:00
本文实例讲述了Python模块的定义,模块的导入,__name__用法。分享给大家供大家参考,具体如下:
相关内容:
什么是模块
模块的导入
同级目录导入
不同级目录导入
目录内导入目录外
目录外导入目录内
模块的导入
自模块的导入
__name__
什么是模块:
在Python中,模块就是一个个方法和类的仓库,如果我们想要使用某个模块中的某个方法或类,那么我们就需要导入对应的模板。
【python有内置方法、类,所以有些方法我们并不需要导入模块】
模块的使用:模块.函数 , 模块.类
#函数
import math
print(math.sqrt(3))
#类
import threading
a=threading.Thread()
print(a)
模块的导入:
模块导入:
#import 模块名import mathprint(math.sqrt(9))
from…import 语句:从模块中导入一个指定的部分,如类、方法,其中from…import * 代表导入全部内容
import 模块名
#from 模块名 import 类名、方法名
from collections import Iterable
print(isinstance("abc",Iterable))
print(isinstance([1,2,3],Iterable))
from…import导入的时候还能给导入的部分起个自定义的名字:如:from … import funcA as fa
自模块导入:
Python import 的搜索路径
1.在当前目录下搜索该模块
2.在环境变量 PYTHONPATH 中指定的路径列表中依次搜索 【可以从sys.path中获取】
import sys
print(sys.path)
----------
运行结果:
['J:\\HardWork\\Code\\python',
'J:\\HardWork\\Code\\python',
'I:\\python3\\python36.zip',
'I:\\python3\\DLLs',
'I:\\python3\\lib',
'I:\\python3',
'I:\\python3\\lib\\site-packages']
3.在 Python 安装路径的 lib 库中搜索
同级目录导入:直接导入
不同级目录导入:将对应目录加入到sys.path中,再import
目录内的b导入目录外的c
目录结构:
c中内容:
b中如何导入c:
import sys,os
print(__file__)##这是当前文件的绝对路径
parent_dir=os.path.dirname(__file__)##获得当前文件的目录
pp_dir=os.path.dirname(parent_dir)
sys.path.append(pp_dir)
# print(sys.path)
import c #要导入c,必须将diff_dir加入sys.path中
目录外的c导入目录内的d
目录结构:
d中内容:
c中如何导入d:
from d2 import d
或:
import d2.d
结果:
__name__:
由于模块既可以被导入,也可以被直接运行,为了区分什么是直接运行时运行的内容,所以有了__name__:
当直接运行时,__name__是__main__:
print("import C done")
print(__name__)
if __name__=='__main__':
print("direct run")
---------------
运行结果:
import C done
__main__
direct run
当用于导入时,__name__是当前导入的模块名,由于__name__不等于__main__,所以不会执行:
import sys,os
# print(__file__)##这是当前文件的绝对路径
parent_dir=os.path.dirname(__file__)##获得当前文件的目录
pp_dir=os.path.dirname(parent_dir)
sys.path.append(pp_dir)
# print(sys.path)
import c #要导入c,必须将diff_dir加入sys.path中
------------------
运行结果:
import C done
c
希望本文所述对大家Python程序设计有所帮助。
来源:https://www.cnblogs.com/progor/p/8413274.html


猜你喜欢
- 本文实例为大家分享了vue更多筛选项小组件的实现方法,供大家参考,具体内容如下效果:就是一个简单的小效果,当有很多筛选条件时,默认只展示几项
- 前言:如何做到,控制多设备并行执行测试用例呢。思路篇我们去想下,我们可以获取参数的信息,和设备的信息,那么我们也可以针对每台设备开启不一样的
- 本文实例讲述了Python面向对象类继承和组合。分享给大家供大家参考,具体如下:在python3中所有类默认继承object,凡是继承了ob
- 1.策略模式(Strategy): 定义了算法家族, 分别封装起来, 让它们之间可以互相替换. 比如Collections.sort(Lis
- opencv-python打开USB或笔记本前置摄像头代码其中video_index是摄像头编号,一般前置摄像头为0,USB摄像头为1或2.
- 为了实现将RAW格式照片一键改变整体风格,且有多种风格选择,我们可以使用神经风格迁移技术。神经风格迁移是一种基于深度学习的方法,可以将一张图
- 大家可以在Github上clone全部源码。Github:https://github.com/williamzxl/Scrapy_Craw
- 英文文档:vars([object])Return the __dict__ attribute for a module, class,
- 1:安装redigogo get github.com/garyburd/redigo/redis2:引用redigoimport ( &n
- 如下所示:import pandas as pdfrom pandas import DataFrameseries = pd.read_c
- 本文实例分析了Go语言中的指针运算方法。分享给大家供大家参考。具体分析如下:Go语言的语法上是不支持指针运算的,所有指针都在可控的一个范围内
- 最近在用python写接口的测试程序,期间用到解析字典获取某个key的value,由于多个接口返回的字典格式不是固定的并存在多层嵌套的情况。
- 本文介绍一个exe打包工具pyinstaller,使用非常简单、方便,而且还跨平台。软硬件环境Windows 10 64bitPyQt5An
- 1、ValueError: Invalid control character at: line 1 column 8363 (char 8
- 一、 软件介绍 DB2MYSQL是一个可以自动将ACCESS数据库文件转化为对应的SQL代码的软件。可广泛应用于ACCESS数据库转换为MY
- python软件免费吗?python是免费的,是自由、开放源码的软件之一,在python官网可以免费下载,使用者可以自由地发布这个软件的拷贝
- 最近新接触Mysql,昨天新建一个表用于存储表结构信息:create table tablist(TABLE_SCHEMA varchar(
- Mysql中limit的用法:在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们
- Tensorboard详解该类在存放在keras.callbacks模块中。拥有许多参数,主要的参数如下:1、log_dir: 用来保存Te
- iframe是非常常用的一个html元素,如果在父页面中使用子页面的方法应该怎么写呢,下面就做一下简单的介绍。一、父页面代码<html