import导入模块和包

模块  在python中只要是.py格式结尾的文件都可以称之为模块
包     包含一个  __init__.py  (init左右两个各有两个_)文件的文件夹就可以称之为一个python的包

包的创建方法如下:

模块和包导入
import 可以导入包和模块;如果需要导入类函数变量等则需要from...import
import 模块名    # 模块名后面不带.py;import不能导入函数;如果要导入的模块和当前模块在同一目录下,可以直接使用这种方法,可能会由于pycharm识别不到会有红色波浪线提示,实际上是可以使用的;如果不在同一目录下使用下面一种方法
from 包名 import 模块名    # 包名,模块名后面不带.py;要导入的模块和当前模块不在同一目录下,需要从项目名下一级(不写项目名0424,如下图)开始逐级导入(如from py0515.package05152 import demo2  注意from后面查找到模块的上一级目录import后面是具体的模块)这种可能就需要每级目录下有__init__.py文件,保险起见最好每级下都创建__init__.py文件,如果没有的话有时候正常,有时候又会报错;此时就需要项目名包名模块名遵循标识符命名规则,否则会报错
导入模块的时候会从上到下执行模块中的代码
导入包的时候,首先会执行__init__.py文件中的代码

import demo1    # 导入demo1模块
demo1.func(9)   # 调用demo1模块中的func函数
from py0515.package05152 import demo2    # as 别名 ; 起了别名之后,之后的代码不能用原名demo2
demo2.func(5)    # 别名.func(5)

from 包名 import *     # *为导入模块所有的内容,但是在PEP8规范中禁止使用,对于不特别熟悉包内容的人员可读性不高 

导入模块中的某个函数或者变量
from 模块名 import 变量名/函数    # 在同一目录下,同导入模块
from 包名.模块名 import 变量名/函数    # 不在同一目录下,同导入模块

from demo1 import func as demo1_func    # 导入demo1模块的func函数,可以使用as 别名,一般和现有的函数名冲突时可使用别名
demo1_func(6)    # 可以直接调用函数
from py0515.package05152.demo2 import func
func(3)
import random 等同于 from random import randint
import keyword 等同于 from keyword import kwlist

__init__.py  作用1、是python包的标识
                           2、是可以直接把当前模块中常用的函数或者变量等直接导入到__init__.py文件里,在其他地方导入时直接在包里找就行了,不需要再去模块里面找


if __name__ == '__main__'    条件判断语句,只有在直接运行原文件的时候才会成立(原文件作为启动文件)
__name__  是python中的一个魔法变量(值不是固定的,会改变)
    当文件作为程序入口文件(启动文件)时,它的值为__main__
    其他情况该模块作为被其他模块导入的时候,它的值为导入模块的模块名

import 模块  通常是导入内置的模块或者第三方的模块
    第三方模块  别人写好的python包模块,先安装 requests
        安装方法1:命令行输入 pip install requests
        安装方法2:pycharm setting里面;同样可以在里面设置换源地址
        更新方法:pip install -U 库名    # U必须大写

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值