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(一)
一.Nginx介绍 1.nginx是一个高性能HTTP服务器,反向代理服务器,邮件代理服务器,TCP/UDP反向代理服务器. 2.nginx处理请求是异步非阻塞的,在高并发下nginx 能保持低资源低 ...
- 如何写好B端产品的技术方案?
B端产品为企业提供协同办公的工具,帮助企业解决某类经营管理问题,核心价值在于为企业增加收入.降本提效.管控风险,企业级SaaS产品也是B端产品中的一类. B端产品有以下特点: 客户是一个群体:B端产 ...
- ActiveMQ-5.9-笔记-02
- JavaWeb——基本概念
1.1 web开发: web:网页 静态web: 普通的html,css 特点:数据内容不会变化 动态web: 百度等几乎所有的网站 提供:数据内容会变化 技术栈:Servlet/JSP(Java), ...
- Centos 7.5 通过yum安装GNOME Desktop时出现:file /boot/efi/EFI/centos from install of fwupdate-efi-12-5.el7.centos.x86_64 conflicts with file from package grub2-common-1:2.02-0.65.el7.centos.2.noarch
系统版本为: [root@s10 ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 由于管理kvm虚拟机的需求,需要安装 ...
- python Apache和php错误日志邮件报警
# qianxiao996精心制作 #博客地址:https://blog.csdn.net/qq_36374896 #!/usr/bin/python #-*- coding: utf-8 -* im ...
- SQL注入手册
英文版:链接: https://sqlwiki.netspi.com/ 中文版:链接: https://pan.baidu.com/s/1WWmjvYYnLC6_nItMVvUVig 密码: e98r ...
- 从零开始,开发一个 Web Office 套件(12):删除文字 & 回车换行
这是一个系列博客,最终目的是要做一个基于 HTML Canvas 的.类似于微软 Office 的 Web Office 套件(包括:文档.表格.幻灯片--等等). 博客园:<从零开始, 开发一 ...
- Linux C++ 实现一个简易版的ping (也就是imcp协议)
背景: 想实现一个在没外网的时候就自动重启路由器的功能. 又不想用ping命令,因为在代码里调用system("ping"); 可能会比较耗时,得单开线程.于是找了个实现ICMP协 ...
- 哪一个List实现了最快插入?
LinkedList和ArrayList是另个不同变量列表的实现.ArrayList的优势在于动态的增长数组,非常适合初始时总长度未知的情况下使用.LinkedList的优势在于在中间位置插入和删除操 ...