zoukankan      html  css  js  c++  java
  • day17

    跨文件夹导入模块

    '''
    import导入的方式,到文件结束,不能直接导入文件中的某一个变量名或者说对象

    import 文件夹.文件夹.文件夹.文件

    导模块中的.语法左侧必须为文件夹

    from 文件夹.文件夹.文件 import 变量名


    '''

    模块的两种被执行方式

    '''
    自执行和被导入执行
    __name__ = __main__
    __name__ = 模块名
    当一个py文件自执行的时候,__name__就等于__main__
    当一个py文件作为模块被导入执行,__name__就等于文件名(模块名)

    if __name__ == '__main__':
    自执行的逻辑
    pass
    if 判断语句可以帮助我们在模块被导入执行的时候不被自执行
    '''

    文件头

    '''
    # coding = utf-8   特殊注释,必须要有#
    # coding : utf-8
    可以加一些花里胡哨的东西
    比如:# -*- coding : utf-8 -*
    '''

    '''
    一系列模块的集合体,,用文件夹来管理一系列有联系功能的模块,这个文件夹我们称之为包,文件夹名就是包名

    注:.py文件就是一个模块,所以包含.py文件的文件夹实质上包,所以如果想要将文件夹当作包来使用,最好在
      文件加上__init__.py文件,如果只想当作普通文件可以不用加__init__.py文件.

    在python2中必须要有__init__.py文件,在python3中可以不加,但是解释器会自动帮你创建

    我们可以通过跨文件导模块的方式来世使用包中的模块

    在导包的文件中,产生一个与包名相同的名字,指向包的名称空间(就是__init__.py的全局名称空间)
    __init__.py文件可以管理 包可以直接点出来使用的 名字
    '''

    包的管理

    '''
    在包中采用相对导入来管理模块或模块中的名字

    在包的__init__.py文件中或者是包中任意一个模块中
    .代表当前文件的所在目录
    ..代表当前文件所在目录的上一级
    .语法不能出包,因为包外的文件都能自执行,但是拥有.开头的导入的文件不能自执行
    注:自执行需要sys.path中能够找到,也就是说要有绝对路径,但是.语法中采用的相对导入,没有绝对路径存在于环境变量中
    '''

    环境变量

    '''
    sys.path这个环境变量存在于项目中,并不属于系统,所以sys.path存活于内存中,伴随着项目的启动而创建,项目的结束而销毁,在项目运行过程中,可以对环境变量进行操作.
    sys.path这个环境变量的第一位存放着当前文件的绝对路径,而第二位存放当前项目的根目录的绝对路径
    在pycharm中一个pycharm窗口运行的所有文件与文件夹统称为项目


    '''
  • 相关阅读:
    SQL语句中exists/not exists的用法分析
    码元、符号、波特率、比特率等概念的了解
    LED学习及一个花样流水灯的实现
    数学建模总结
    单片机控制继电器
    透明传输
    DNN4.8+SQL 2005 EXPRESS安装及DNN 4.8版本的新特性与其他版本的差异
    为什么我被google 迷住了!还很激动!Google是什么?它为何有趣
    四角号码查询器 第3版 发布
    google base不只是ebay!令人激动的google base
  • 原文地址:https://www.cnblogs.com/zhuqihui/p/10822295.html
Copyright © 2011-2022 走看看