当前位置: 首页 > wzjs >正文

苏州外贸网站建设推广服务百度视频免费高清影视

苏州外贸网站建设推广服务,百度视频免费高清影视,陕西 网站建设首选公司,软件推广怎么赚钱程序导入其它模块和库,其实就是直接运行了对应的模块程序,或者对应的模块下的__init__.py文件。 在项目文件下创建两个python文件 基本模块知识 model_test.py print("model test begin....")def modelTest():print("this is model te…

程序导入其它模块和库,其实就是直接运行了对应的模块程序,或者对应的模块下的__init__.py文件。
在项目文件下创建两个python文件

基本模块知识

  1. model_test.py
print("model test begin....")def modelTest():print("this is model test")# 模块运行有两种方式
# 1.直接运行 --  __main__
# 2.导入运行 --  模块的绝对路径print(f"__name__ is {__name__}")
# __name__可以区分是直接运行还是导入运行
# 如果是直接运行那么它会输出  __name__ is __main__
# 如果是导入运行那么它会输出  __name__ is model_test# 所以在库模块中要测试模块功能,可以使用下面这种方式测试,而不会影响到导入此模块的程序
if __name__ == "__main__":modelTest()print("model test 直接运行")

直接运行model_test.py,它会输出 __name__ is __main__
在这里插入图片描述

  1. import_code.py
import model_test
from model_test import modelTest
# 模块运行有两种方式
#1.直接运行  __main__
#2.导入运行   模块的绝对路径model_test.modelTest()
modelTest()

运行import_code.py,导入运行了model_test,它会输出 __name__ is model_test
if __name__ == "__main__":语句块下的命令,不会被导入运行!所以print("model test 直接运行")没有执行!而其他print都被执行了。
在这里插入图片描述

创建Python Package目录

在pycharm中创建python package目录,它会默认创建一个__init__.py文件而对应的目录会被标记为一个python package目录,或者我们手动创建一个普通目录,再手动创建__init__.py文件也是同样的效果。
我们创建如下目录结构:
在这里插入图片描述
__init__.py文件写入

# 包的初始化文件
# 导入包的时候会先执行这个文件
print("this is __init__.py")

a.py文件写入

print("this is a.py")

01模块和包.py中写入

from pythonpack import a

运行结果
首先执行了__init__.py里面的代码,其次才执行了a.py
在这里插入图片描述

创建一个flask程序测试模块效果

创建如下项目格式
在这里插入图片描述
app.py文件写入如下内容

from flask import Flask
def create_app():app = Flask(__name__)# 做app的配置return app

config/setings.py文件写入如下内容

Host="0.0.0.0"
Port=9000

main.py文件写入如下内容

from app import create_app
from config import setings
# 直接调用create_app()初始化app
app = create_app()@app.route("/")
def index():return "this is index"@app.route("/teacher")
def teacher():return "this is teacher"@app.route("/student")
def student():return "this is student"#使用setings.py中的配置
app.run(host=setings.Host, port=setings.Port, debug=True)

用这种导入调用的方式,将对应的配置放到对应的模块下,更加有利于项目的管理。

相对导入和绝对导入

在我们进行相对和绝对导入的时候需要,时刻关注top-level的位置 --》 程序入口,目录结构如下:
在这里插入图片描述

pack1.pack1model

# 这种方式导入叫做绝对导入
# from pythonpack.pack2 import pack2model# 相对导入
from ..pack2 import pack2model# 相对导入,不能访问到top-level那一层,只能访问到top-level以下层,下面这种会报错
#from ...pythonpack.pack2 import pack2modeldef pack1test():print("this is pack1test")pack2model.pack2test()

pack2.pack2model

def pack2test():print("this is pack2test")

程序入口.py

# 可以导入到函数,也可以导入到模块
#from pythonpack.pack1.pack1model import pack1test
#pack1test()from pythonpack.pack1 import pack1model# 绝对导入 相对导入
# 时刻关注top-level的位置 --》 程序入口
pack1model.pack1test()

在这里插入图片描述

top-level -> sys.path

那么既然只能导入top-level下的模块,那么python中的那么多模块,都是怎么找到的呢?
其实可以使用sys.path查看当前所有的top-level目录,而其中就包含当前的目录,而且返回一个list格式,我们可以自己定义一些路径加入到top-level中!使用sys.path.append(),这样一来就可以直接导入其它目录下的模块了!

import sys
print(sys.path)  #返回一个列表格式
sys.path.append("绝对路径")  #将其它路径也加入到top-level

模块的查找

1.先看内存里,是否导入过,如果导入过,就不会去找了,直接从内存拷贝。
2.如果内存里面没有,就去sys.path定义的路径顺序,一个一个去查找。

http://www.dtcms.com/wzjs/648.html

相关文章:

  • 商城网站模板网站seo优化方案策划书
  • 腾讯云预装wordpress做优化关键词
  • 网站备案审核状态查询浙江网络推广
  • 在网上做国际快递淘宝网站中国培训网官网
  • 做网站与全网营销搜索推广排名优化seo引擎优化是什
  • 免费企业网站建设b2b免费发布信息平台
  • 做营销网站代理挣钱吗提升seo排名平台
  • 网站策划与设计(企业关键词优化推荐
  • wordpress 插件名称安卓优化大师官方版
  • 湛江北京网站建设2022年网络流行语
  • 平面设计黑白创意图片网站页面优化内容包括哪些
  • 保健品 东莞网站建设百度一下搜索引擎大全
  • 如何用ps做创意视频网站百度推广客户端教程
  • 南京网站建设企业sem是什么?
  • 有没有哪个网站可以做LCM模组百度搜索引擎seo
  • 泗阳做网站设计市场调研报告模板ppt
  • 网站关键词的布局如何建造自己的网站
  • Apple 手机网站制作哪些网站有友情链接
  • vs2013网站开发代码国外常用的seo站长工具
  • 云尚网络建站seo关键词排名优化软件怎么选
  • 网站怎么做的支付宝接口广告媒体资源平台
  • 免费建立网站论坛谷歌商店下载安装
  • 武汉p2p网站建设价格线上推广平台哪些好
  • 自已的电脑怎么做网站电商营销的策略与方法
  • 滴道网站建设广州网站优化工具
  • 网站建设 总体思路个人怎么建立网站
  • 做家具厂招聘有哪些网站网络营销是什么工作主要干啥
  • 深圳手机建网站效果好的关键词如何优化
  • 大型网站的标准网上推广培训
  • 互联网公司网站源码免费seo公司