我的编程空间,编程开发者的网络收藏夹
学习永远不晚

day 20 02 模块的导入

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

day 20 02 模块的导入

day 20 02  模块的导入

1.
模块:就是一个文件:放置一些通用的有独立功能程序或者函数.
比如建立一个py文件,文件名为:demo,文件里面的内容:
demo模块:
print('嗨大米')
def tx():
print('123')#函数没有进行调用
2.
怎么导入demo的:首先import+文件名(文件名要符合命名规则)
1.import demo#此时就可以导入并且运行出demo的结果
2.demo.tx()#调用demo文件里面的函数tx,此时写好的函数就可以调用了
(每次要使用模块里面的参数函数名字,都得通过demo.名字才可以使用)
3.
每次import一个模块所做的事情:
找到模块(文件:有它自己的路径)
创建这个模块的命名空间
把文件中的名字都放到命名空间里面

4.
假设demo里面有一个参数money=100而在导入的模块外面也有一个参数money=200
导入模块后面的代码:
import demo#此时就可以导入并且运行出demo的结果
money=200
demo.tx()#调用demo文件里面的函数tx
print(demo.money)

#当调用demo里面的函数tx的时候,里面的money是等于100的,因为在demo模块里面有自己的命名空间, 自己里面有就使用自己文件里面的,与外面的money=200不相关

demo模块里面的代码:
print('嗨大米')
money = 100
def tx():
    print('123',money)

运行结果:

嗨大米
123 100
100
5.
为什么一个模块不会被重复导入:
import sys
print(sys.modules.keys())
print(sys.path)
先从sys.modules里面查看是否已经被导入(正是因为这样查看是否被导入,被导入后,后面的都不会去看了,所以才不会被重复导入)
#如果没有被导入,就依据sys.path路径去寻找模块
#找到了就导入
#创建这个模块的命名空间
#执行文件,把文件中的名字都放到命名空间里面
 
6.
给一个模块起别名:即重命名
import time as t
print(t.time())
为什么要起别名:写一个代码可以在两个地方都可以用,即代码具有兼容性
两个数据库:Oracle和mysql,对这两个数据库的使用的操作一般都是:
连接数据库:
登入数据库
增删改查
关闭数据库
oracle.connect  mysql.connect
同样方式只是导入的模块名字不一样而已,此时给两个数据库起同一个别名就方便简单的多:
if 数据库=='oracle':
import oracle as db
elif 数据库=='mysql':
import mysql as db
import time as t
time.time #报错:重命名为t了,原来的time就不能用了
7.
写程序的时候,应该先一次性把使用的模块都在文件开头依次导入:
内置模块
扩展模块:别人写好的,需要安装的
自定义的模块:自己写的
最好不要写一点程序就导入一个模块
import time,sys,os 一行可以导入多个模块

8.
单独从某个模块当中导入一个方法或者是变量,就用:from 模块 import 方法/变量
from time import sleep  #从time模块当中导入sleep方法
sleep(1)  #直接调用sleep方法
from demo import tx
tx()
#此时的执行结果中的money还会使用demo模块里面函数tx外面的money=100,但是我只是调用了函数而已,为什么会这样呢:
因为在导入模块的时候,都会一次将模块里面的代码看过并且将参数保存起来,当使用到的时候会直接拿来用

9.

两种不同导入的优缺点:

(1)import demo demo:里面的名字都会导入 会占很多内存 里面的命名空间和不是模块里面的命名空间是分开的,所以外面如果有和demo里面相同的变量名,也是不会相互影响

(2)from demo import 变量名:不占内存 但是只是导入单一的变量或者方法,不方便后面使用,这里的变量名如果在模块外面存在一样的变量名的话,就会依据外面的变量名为准,demo里面的将不会存在

from demo import money,tx
print(money)
tx()
money=200
tx()#调用tx还是会继续使用demo里面的money,而不会使用200

运行结果:

嗨大米
123 100
100
100
123 100

10.

_all_ = ['demo模块里面的变量名/方法']与import*

demo模块:

_all_ = ['tx']
   #这里没有money,下面的demo.money就不能使用,即money没有被导入,存在_all_里面的才会被导入
print('嗨大米')
money = 100

def tx():
    print('123',money)

导入模块后的代码:

import sys
print(sys.path)
from demo import *  #如果demo模块里面没有_all_ = ['tx']的话,这里就会导入全部的变量名,但是此时有,就受到了限制,没有在列表里面的变量名或者方法都不会被导入
tx() #tx已经被导入
print(demo.money) #报错,money没有被导入

11.
_name_与_main_

如果在demo模块里面 print(_name_),此时的打印结果,_name_=_main_
当我们使用其他模块,而在其他模块里面引用demo模块的时候,这个模块中的_name_=demo
我们可以用 if _name_=_main_,来判断是否执行模块里面的某个独立功能的函数,这样在导入模块的时候就不会全部都执行

12.
复习总结:
# 所有模块导入尽量往上写:且导入顺序:
    内置模块
    扩展模块:需要安装的都是扩展模块
    自定义模块
# import 模块名
     #模块名. 变量名 和本文件中的变量名完全不冲突
   import 模块名 as 重命名的模块名:提高代码的兼容性
   import 模块1,模块2


# from import
   from 模块名 import 变量名
      直接使用 变量名 就可以完成操作
      如果本文件中有相同的变量名会发生冲突
   from 模块名 import 变量名 as 重命名变量名
   from 模块名 import 变量名1,变量名2..
   from 模块名 import *
#    将模块中的所有变量名都放到内存中
#     如果文件中有相同的变量名会发生冲突
#     from 模块名 import * 和_all_是一对
       没有这个变量,就会导入所有名字
       有_all_就导入_all_列表里面的名字而已

# 包:一大堆模块的集合

 

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

day 20 02 模块的导入

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

day 20 02 模块的导入

day 20 02  模块的导入1.模块:就是一个文件:放置一些通用的有独立功能程序或者函数.比如建立一个py文件,文件名为:demo,文件里面的内容:demo模块:print('嗨大米')def tx(): print('123')
2023-01-31

模块的导入

一.模块导入的过程(1).先从sys.modules里查看模块是否已经被导入(2).如果没有被导入,就依据sys.path路径寻找模块(3).找到了模块就导入(4).创建这个模块的命名空间(5).执行文件,把文件中的名字都放到命名空间里im
2023-01-30

python模块导入

[seemmo@RegionServer1 duwen]$ pythonPython 2.6.6 (r266:84292, Nov 22 2013, 12:16:22) [GCC 4.4.7 20120313 (Red Hat 4.4.7-
2023-01-31

python3导入paramiko模块

这些指令包括paramiko 2及以上。如果你想安装paramiko 1。x,请参见安装(1.x)。然而,1.x依赖于不安全的依赖,所以升级是强烈鼓励。推荐的方式得到Paramiko是安装最新的稳定版本通过PIP:$ pip install
2023-01-31

Python 之模块导入

Python之所以应用越来越广泛,在一定程度上也依赖于其为程序员提供了大量的模块以供使用,如果想要使用模块,则需要导入。导入模块有一下几种方法:import modulefrom module.xx.xx import xxfrom mod
2023-01-31

python导入模块的步骤

这篇文章主要介绍“python导入模块的步骤”,在日常操作中,相信很多人在python导入模块的步骤问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python导入模块的步骤”的疑惑有所帮助!接下来,请跟着小编
2023-06-20

Python导入模块的方法

Python导入模块的方法有两种:import module 和 from module import a,区别是前者所有导入的东西使用时需加上模块名的限定(module.a),而后者不需要。导入一个模块,Python 解析器对模块位置的搜
2023-01-30

Javascript模块导入导出详解

这篇文章主要介绍了Javascript模块导入导出详解的相关资料,需要的朋友可以参考下
2022-12-25

python—模块导入和类

1.查询模块:按目录依次查找需要导入的模块,模块目录一般在:/usr/lib64/python2.7In [2]: sys.pathOut[2]:['','/usr/bin','/usr/lib64/python2.7/site-packa
2023-01-31

python模块导入细节

官方手册:https://docs.python.org/3/tutorial/modules.html可执行文件和模块python源代码文件按照功能可以分为两种类型:用于执行的可执行程序文件不用与执行,仅用于被其它python源码文件导入
2023-01-30

python导入模块--import--2

调用之前写的彩色打印,写个简单的脚本testimport.py实验下在跟之前test_import_color_print.py同级目录下创建testimport.py文件,不然导模块会有问题代码如下#!/usr/bin/python#co
2023-01-30

python导入模块--import--1

python前面写的程序,后面就可以将它当成一个模块导入,取其精华舍弃不用的随意使用,最理想的情况是任何一个功能,只要写一次,以后所有人都可以任意调用,代码重用性高的可怕,而且python还可以根据需求将C,C++,Java等程序作为模块,
2023-01-30

Python怎么导入模块

这篇文章主要讲解了“Python怎么导入模块”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python怎么导入模块”吧!常规导入常规导入应该是最常使用的导入方式,大概是这样的:import
2023-06-16

python导入pygame模块的方法

这篇“python导入pygame模块的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python导入pygame模块的
2023-06-30

python中的模块如何导入

在Python中,可以使用`import`关键字来导入一个模块。有几种导入模块的方式:1. 导入整个模块:`import module_name`这种方式导入整个模块后,可以通过`module_name`来访问模块中的属性和方法。例如:``
2023-09-08

pycharm怎么导入pandas模块

在 pycharm 中导入 pandas 模块:安装 pandas:使用 pip install pandas 命令。打开 pycharm 项目。导入 pandas:添加 import pandas as pd 语句。验证导入:使用 pri
pycharm怎么导入pandas模块
2024-04-25

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录