Python之模块的导入

模块的简介

模块是Python中非常核心的一块内容,用的非常多,它比较简单.

python这门语言:调包侠
PHP是世界上做好的语言
	Python不服气
    
1. 什么是模块?
	 模块就是一些列功能的集合,模块中就是提前写好了很多的功能,直接拿来使用
    
2. 为什么要用模块?
	 站在巨人的肩膀上,别人写好的一些功能我们把它下载下来直接用在我们自己的项目中,大大提高开发效率
      支付宝支付、微信支付、发短信、验证码、等等很多的服务
      # 别人已经开发好了,给它下载下来,直接挪到我们自己的python文件中使用就行了
    
3. 模块的分类
	1. 内置模块(python解释器原来就存在的,在任何位置,任何时间都可以直接使用)
    	eg:time
        
     2. 第三方的(别人写好的模块,人家放在了网上,去网上下载)
     3. 自定义的(我们自己写的模块)
        
4. 模块存在的形式
	一共有4钟形式,只需要掌握21. 我们自己写的python代码(.py文件)
		# 一个py文件就是一个模块
        
    2. 包的形式:就是一系列py文件的组合(文件夹)
    	# 文件夹内部有一个__init__.py文件

    3. 
    
    4. 




模块的导入方式之import句式

import md # 导入模块的时候,只写模块名字,不要写后缀名字

"""
    学习模块的时候一定要弄清楚:谁是执行文件,谁是导入文件?
    
    运行当前文件,会导入md文件到此文件中,并且会执行导入文件
    
    导入文件多次,那么,也只会执行一次导入文件中得代码,只需要导入一次即可
    
    
    导入文件的时候发生了什么事儿?
        1. 首先会运行执行文件,产生执行文件的全局名称空间
        2. 运行导入文件
        3. 会产生导入文件的全局名称空间,把导入文件中的名字都丢到全局名称空间中
        4. 会在执行文件中产生一个名字md指向导入文件的名称空间
        
"""

# 在执行文件中如何使用导入文件中得数据
# 直接使用模块名字点变量名 直接使用
# money = 999
# print(md.money) # 1000 知名道姓的调用,不会乱
#
# def read1():
#     print('read1')
# md.read1()

money=888
md.change()
print(money)

from…import…句式

from md import money,read1,read2,change  # from the md.py
import md
"""
    from...import...句式
        导入模块也会执行导入文件,多次导入也只会执行一次,跟import句式一样
    
    导入文件的时候发生了什么事儿?
        1. 首先会运行执行文件,产生执行文件的全局名称空间
        2. 运行导入文件md
        3. 会产生导入文件的全局名称空间,把导入文件中的名字都丢到全局名称空间中
        4. 会在执行文件中产生一个名字money指向导入文件的名称空间中得money
        
    如果使用from...import...句式的情况,在执行文件中会出现名字冲突的情况(在执行文件中出现了和导入的名字一样的时候)
        出现冲突的时候离谁近用谁的
    
    以后所有的导入语句都写在文件的开头
"""
# money = 999
# print(money)
# from md import money
# print(money)

# print(read1)
# read2()
# change()
def read1():
    print('from read1')
read1()

导入语句的其他用法

1. 起别名
	
    from md import money as m
    from md import read1 as r1
    from md import read2 as r2
    import md

    def read1():
        print('from read1')
    read1()
    r1()

    md.read1()
    
2. 连续导入
	import md
    import time
    import os
    import sys
    
    import md,time,os,sys
3. 通用导入
	from md import *
    from md import *
    read1()
    change()

__all__ = ['money', 'read1', 'change']

循环导入

# 在你编码的过程中,循环导入是不能允许出现的
如果你的代码出现了循环导入问题,那就是你的代码设计不合理,及时更正

判断文件类型(执行文件、导入文件)

if __name__ == '__main__': # md
    read2()

if __name__ == '__main__':
    '''在这个判断里面写的代码,只有是以执行文件运行的时候,才会被执行,当被当成导入文件的时候,不会被运行'''
















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值