zoukankan      html  css  js  c++  java
  • python的模块!

    以下是对模块的理解,和总结

    <1>模块是什么

     模块是这样用的 import os 这就是导入了os模块

    这和c语言里的#include<stdio.h>导入方式是一样的

    导入了以后就可以用里面的一系列函数了

    其实os 模块就是 一个os.py 的文件,当import以后,就可以用里面的mkdir,rmdir方法等

    其实os.py文件里面的代码是这样的

    def mkdir()
        xxxx
    
    def rmdir()
        xxxx

    <2>模块的调用方法

    a.import os

    b.import os,math....#可以多个模块写一起,但是这样会容易乱

    c.from os import mkdir 

      mkdir('abc')#下面直接用就可以了,就不用os.mkdir('abc')

    这种导入方法,比较方便的地方就是可以导入os这个模块里的所有方法

    from os import *

    <3>定位模块

    当你导入一个模块,Python解析器对模块位置的搜索顺序是:

    1. 当前目录
    2. 如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。
    3. 如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/
    4. 模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

    <4>模块调用详细

    新建一个test.py,代码如下

    def print_hello():
        print('-----hello-----')
    def add(a,b):
        return a+b

    在file.py文件里,导入这个模块

    import test
    test.add(2,5)
    

     上面就是最简单的调用

    但是,还有一个问题:我自己写的模块,里面有很多函数,我自己要测试一下是否能正常运行,这时候就要在里面加入测试代码

    def print_hello():
    	print('-----hello-----')
    def add(a,b):
    	return a+b
    
    if __name__ == '__main__':
    	print_hello()
    	print(add(1,2))
    

    重点来了:就是这句

      if __name__ == '__main__':

    为什么加这个判断:因为如果没有判断的话 ,在调用test模块的时候,测试语句也会被file,py所执行打印出来

    但是测试语句我们只想让模块他自己调用,其他外人不给用

    而且 print(__name__)这个在模块本身输出的结果是__main__

    但是在外面调用的时候输出是模块的名字test

    所以就可以通过加判断,让这个测试语句只被模块自己调用

  • 相关阅读:
    函数
    函数知识点 --- 函数的认知,组成,格式 --------------- #10
    打包app
    vue ie
    css position
    awesome vue
    20110636乐建18588529432
    vue2.0-基于elementui换肤[自定义主题]
    三目运算符,多条件判断
    微信二次开发准备工作
  • 原文地址:https://www.cnblogs.com/timtike/p/5891138.html
Copyright © 2011-2022 走看看