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导入模块
模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较 ...
随机推荐
- Laravel-QueryList-采集
<?php namespace App\Http\Controllers; use App\Models\NewsModel; use Illuminate\Http\Request; use ...
- Python 让我舅舅的书法作品和 PIL 库发生点美的误会
Python 让我舅舅的书法作品和 PIL 库发生点美的误会 1. 前言 不久之前写过一篇文章,详细介绍了 PIL 库中的 Image 模块的使用.曾经学习过.使用过一段时间的 PS,认识 PIL 后 ...
- Eureka 基本教程
目录 Eureka 基本教程 RestTemplate 使用 Eureka 使用 注册中心 提供者 消费者 Eureka 基本教程 RestTemplate 使用 学习Euraka的同学直接滑到最下面 ...
- python关于openpyxl的二次开发
from openpyxl import load_workbook class Excel_util: def __init__(self,path): self.path=path # 加载输入路 ...
- redis哨兵功能
redis哨兵功能 redis-Sentinel(哨兵) 前言 当用redis作master-slave的高可用时,如果master本身宕机,redis本身或者客户都没有实现主从切换的功能 redis ...
- C# 委托应用总结(委托,Delegate,Action,Func,predicate)
C# 委托应用总结 一.什么是委托 1.1官方解释 委托是一种定义方法签名的类型.当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联.您可以通过委托实例调用方法. 1.2个人理解 委托就是执 ...
- 三面面试官:运行 npm run xxx 的时候发生了什么?
事情是这样的,直接开讲 面试官:npm run xxx的时候,发生了什么?讲的越详细越好. 我(心想,简单啊): 首先,DNS 解析,将域名解析成 IP 地址,然后 TCP 连接,TCP 三次握手.. ...
- hdu5322 Hope(dp+FFT+分治)
hdu5322 Hope(dp+FFT+分治) hdu 题目大意:n个数的排列,每个数向后面第一个大于它的点连边,排列的权值为每个联通块大小的平方,求所有排列的权值和. 思路: 考虑直接设dp[i]表 ...
- v-if 与 v-for 同时使用会报错
在进行项目开发的时候因为在一个标签上同时使用了v-for和v-if两个指令导致的报错. 报错代码如下: <el-input type="textarea" :autosize ...
- python3 使用mongo数据库
0让服务器端开启服务 sudo mongod --port 27017 --dbpath /data/db --logpath /data/log --logappend --fork --auth ...