Python入门-import导入模块功能
1.啥是模块
模块(module):用来实现或者多个功能的Python代码,(包含变量、函数、类),本质就是*.py后缀文件。 包(package):定义了一个由模块和子包组成的Python应用程序执行环境,本质就是一个有层次的文件目录结构(必须带有一个__init__.py文件)。
2.模块导入方法
# 导入一个模块
import model_name # 导入多个模块,请多次导入,不要一行导入多个
import module_name1
import module_name2
import module_name3 # 导入模块中的指定的属性、方法(不加括号)、类,一般import后面的都是类名,是大写
from moudule_name import Moudule_Element #导入后的类名太长,为了方便引用,指定别名
from moudule_name import Moudule_Element as new_name
3.import的本质-路径搜索
#import演示
#模块1:test======================
def hello(): #定义一个简单函数
print("hello")
#模块2:=========================
import test
print(type(test))
print(test)
"""
<class 'module'>
<module 'test' from 'E:\\code\\hunjia_16\\day13_0826\\duojincheng\\test.py'>返回代码路径
"""
1.在导入模块的时候,在执行文件后,会在模块当前目录下,新建一个__pycache__目录,并在该目录下生成对应的【.cpython-38.pyc】文件,其中38是python版本号。
2.将py模块的全部代码,加载到内存并赋值给与模块同名的变量,写在当前文件中,这个变量的类型是'module';<module 'module_name' from 'E:\\PythonImport\\module_name.py'>
#from..import..演示
#模块1:test======================
def hello(): #定义一个简单函数
print("hello")
#模块2:=========================
from test import hello
print(type(hello))
print(hello)
"""
from test import hello
print(type(hello))
print(hello)
"""
本质是导入指定的变量或方法到当前文件中。
#from..import 包
#包1:test_package=================
def hello(): #定义一个简单函数
print("hello")
#模块2:=========================
from test_package import test3
print(type(test3))
print(test3)
"""
<class 'module'>
<module 'test_package.test3' from 'E:\\code\\hunjia_16\\day13_0826\\duojincheng\\test_package\\test3.py'>
"""
导入包的本质就是执行该包下的__init__.py文件,在执行文件后,会在包目录下,新建一个__pycache__目录,并在该目录下生成对应的【.cpython-38.pyc】文件,其中38是python版本号。
4.import使用建议
#在模块导入的时候,默认现在当前目录下查找,然后再在系统中查找。系统查找的范围是:sys.path下的所有路径,依次按顺序查找。
1.导入时,系统模块在前,第三方模块在后面
2.尽量使用from..import方便系统查找,减少查找过程
3.非内建函数需要使用"import"导入。Python中的模块文件在"安装路径\Lib"目录下。
4.通过"pip install "命令安装的模块,以及自己在网站上下载的模块。一般第三方模块在"安装路径\Lib\site-packages"目录下
5.多个函数重复调用同一方法,每次都需要反复查找模块,可以自定义一个函数,直接反复用自定义函数即可,例如
def a():
hello()
print("fun a")
5.疑问解答
1.导入模块,有了别名之后,原有名称是否可以继续使用?---可以正常使用
Python入门-import导入模块功能的更多相关文章
- Python使用import导入模块时报ValueError: source code string cannot contain null bytes的解决方案
老猿在导入一个Python模块时报错: >>> import restartnet.py Traceback (most recent call last): File " ...
- Python使用import导入模块时执行了模块的文件但报ModuleNotFoundError错误的愚蠢问题
老猿在学习import导入自定义模块时,搜索路径中sys.path中已经添加对应路径,发现会报ModuleNotFoundError,但对应的模块代码被执行了,代码myfib.py如下: def fi ...
- python入门20 导入模块(引包)
1 引包: import module 或 import module.module1 或 from module import module1,module2...等 2 import xx ...
- python学习第五讲,python基础语法之函数语法,与Import导入模块.
目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...
- Python学习第二阶段,Day2,import导入模块方法和内部原理
怎样导入模块和导入包?? 1.模块定义:代码越来越多的时候,所有代码放在一个py文件无法维护.而将代码拆分成多个py文件,同一个名字的变量互不影响,模块本质上是一个.py文件或者".py&q ...
- python基础,导入模块,if语句,while语句
python基础 python代码 变为字节码 变为机器码 最后执行执行‘文件名.py’文件时出现的‘文件名.pyc’文件为字节码 缓存机制 使用pycharm的时候在文件最开始添加下面这两行代码,中 ...
- Python入门基础学习(模块,包)
Python基础学习笔记(五) 模块的概念:模块是python程序架构的一个核心概念 每个以拓展名py结尾的python源代码文件都是一个模块 模块名同样也是一个标识符,需要符合标识符的命名规则 在模 ...
- Python importlib(动态导入模块)
使用 Python importlib(动态导入模块) 可以将字符串型的模块名导入 示例: import importlib module = 'module name' # 字符串型模块名 test ...
- 模块(modue)和包(package)的概念-import导入模块
模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较 ...
随机推荐
- nginx 如何访问php文件
1.进入nginx安装路径,我的是/usr/local/nginxvi conf/nginx.conf将 location ~ \.php$ { root html; fastcgi_pass 127 ...
- LGP7915题解
奇怪的乱搞做法(? 首先我们枚举序列的每一个位置,从这个位置劈开,假设这个位置是 \(i\),那么按照题意模拟,我们能够构造一个最终序列有 \(i\) 个 L 和 \(n-i\) 个 R 的符合题意的 ...
- ASP.NET Core 6 Minimal API的模拟实现
Minimal API仅仅是在基于IHost/IHostBuilder的服务承载系统上作了小小的封装而已,它利用WebApplication和WebApplicationBuilder这两个类型提供了 ...
- ADT环境搭建手册
前言 笔者在搭建ADT环境之前一脸懵逼,甚至不知道ADT是什么,更别说与之相关的SDK.eclipse等,相信很多小伙伴跟我一样也是一脸茫然,所以在搭建环境之前有必要先了解一下它们是什么,有什么样的关 ...
- 使用MEF应用IOC(依赖倒置)
MVC实用架构设计(二)--使用MEF应用IOC(依赖倒置) 前言 在<上篇>中,基本的项目结构已经搭建起来了,但是有个问题,层与层之间虽然使用了接口进行隔离,但实例化接口的时候,还引 ...
- Linux 环境Skywalking部署Elasticsearch
一.环境准备 1.Java jdk 11+(安装教程可参考https://www.cnblogs.com/sportsky/p/15973713.html) 2.elasticsearch 二.环境搭 ...
- JAVA 用命令提示符执行java找不到或者无法加载主类
使用cmd编译执行java文件时候,报错---找不到或者无法加载主类如下图 把红色部分去掉,再次编译执行如下解决问题 ,执行成功!!!!!! 2.当我们在eclipes中执行运行的时候 ggggggg ...
- 为什么要用 Dubbo?
随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越 复杂,诞生了面向服务的架构体系(SOA), 也因此衍生出了一系列相应的技术,如对服务提供.服务调用.连接处理.通信 协议.序列化 ...
- 如何获取 topic 主题的列表?
bin/kafka-topics.sh --list --zookeeper localhost:2181
- 你知道 Kafka 是如何做到消息的有序性?
kafka 中的每个 partition 中的消息在写入时都是有序的,而且单独一个 partition 只能由一个消费者去消费,可以在里面保证消息的顺序性.但是分区之间的消息是不保证有序的.