zoukankan      html  css  js  c++  java
  • 模块的基础概念

    #!/usr/bin/env  python
    # -*- coding: utf-8 -*-
    # ***********************************模块的定义和导入***********************************
    # 模块:在Python中,一个.py文件就称之为一个模块(Module);把相关的代码分配到一个模块里能可以让代码更容易理解。
    # 模块分为三类:1.python标准库;2.第三方模块;3.应用程序自定义模块
    # 模块注意事项:1.提高代码的可维护性;2.编写完一个模块可以从其他地方调用;3.模块命名应避免和关键字重复
    
    # 1.模块引用方法(模块的导入)
    # import time,sys,os        #import导入模块
    # import test
    # print(test.my_add(2,8))
    
    # from test import my_add     #从模块中导入某一个具体的函数或者方法
    # print(my_add(2,8))
    
    # from test import *          #导入模块中的所有函数或方法(一般不建议全部导入,有可能导致重名)
    
    # 2.模块的补充
    # (1)当导入一个模块时python解释器会按照一定的路径进行查找,使用sys.path可以查看查找的路径
    # (2)如果要永久添加一个路径到模块的查找路径中,直接在操作系统的环境变量中添加;使用列表的append方法往sys.path中是临时添加路径
    # import sys
    # print(sys.path)
    
    # 3.在不同包里导入模块
    # 包:就是一个包含了__init__.py文件的文件夹,它定义了由n个模块或n个子包组成的python应用程序执行环境;可以用包来组织模块,避免冲突;
    # 即就是包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包
    # 注意事项:(1)导入一个包时会先执行__init__.py文件,然后才会导入包
    # from my_test import my_test1
    # print(my_test1.my_pingfang(9))
    
    # from my_test.my_test1 import my_pingfang      #多级目录之间以.连接来导入
    # print(my_pingfang(9))
    
    # (2)"__name__" == "__main__"
    # 一般我们将主程序放在    if "__name__" == "__main__":之下,当直接执行某个.py文件的时候,该文件中那么 __name__ == '__main__' 是True
    # print("该py已经执行")
    # if __name__ == "__main__":
    #     print("ok")
    #     print(__name__)
    # 当某个py文件被调用时,在被调用的py文件中__name__的值就是我们这个py文件的名字,即判断false,此时可以将调试代码放在if之下,不会执行
    # from my_test import my_test1
    
    # (3)"__file__":如果从二级目录调用一级目录的模块时,需要将一级目录加入sys.path才可以正常调用
    # 注意:绝对路径用 /
    # import os,sys
    # print(__file__)     #__file__可以打印当前py文件的路径,pycharm执行结果为  E:/python_code/基础知识/常用的模块/模块与包的基础概念.py
                        #在cmd执行结果为  模块与包的基础概念.py
    # print(os.path.dirname(__file__))    #打印当前文件上一层目录的绝对路径
    
    # print(os.path.abspath(__file__))    #打印当前文件的绝对路径
    
    # print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))      #打印一级目录的绝对路径
    
    # 从二级目录调用一级目录的模块
    # import os,sys
    # abs_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    # sys.path.append(abs_dir)
    模块的基础概念
    为了将来做自己想做的事情努力.......
  • 相关阅读:
    tinyxml优化之一
    vs下C++内存泄露检测
    Cocos2d-x项目移植到WP8系列之九:使用自定义shader
    [leetcode 双周赛 11] 1228 等差数列中缺失的数字
    [leetcode 周赛 158] 1224 最大相等频率
    [leetcode 周赛 158] 1223 掷骰子模拟
    [leetcode 周赛 158] 1222 可以攻击国王的皇后
    [leetcode 周赛 158] 1221 分割平衡字符串
    [leetcode 周赛 157] 1220 统计元音字母序列的数目
    [leetcode 周赛 157] 1219 黄金矿工
  • 原文地址:https://www.cnblogs.com/shichenyang/p/12065644.html
Copyright © 2011-2022 走看看