精华内容
下载资源
问答
  • python创建模块

    2017-09-09 09:04:06
    Python中,每个Python文件都可以作为一个模块模块的名字就是文件的名字。 比如有这样一个文件test.py,在test.py中定义了函数add test.py def add(a,b): return a+b 调用自己定义的模块 那么在其他文件中就...

    模块制作

    定义自己的模块

    在Python中,每个Python文件都可以作为一个模块,模块的名字就是文件的名字。

    比如有这样一个文件test.py,在test.py中定义了函数add

    test.py

    
        def add(a,b):
            return a+b
    

    调用自己定义的模块

    那么在其他文件中就可以先import test,然后通过test.add(a,b)来调用了,当然也可以通过from test import add来引入

    main.py

    
        import test
    
        result = test.add(11,22)
        print(result)
    

    测试模块

    在实际开中,当一个开发人员编写完一个模块后,为了让模块能够在项目中达到想要的效果,这个开发人员会自行在py文件中添加一些测试信息,例如:

    test.py

    
        def add(a,b):
            return a+b
    
        # 用来进行测试
        ret = add(12,22)
        print('int test.py file,,,,12+22=%d'%ret)
    

    如果此时,在其他py文件中引入了此文件的话,想想看,测试的那段代码是否也会执行呢!

    main.py

    
        import test
    
        result = test.add(11,22)
        print(result)
    

    运行现象:

    至此,可发现test.py中的测试代码,应该是单独执行test.py文件时才应该执行的,不应该是其他的文件中引用而执行

    为了解决这个问题,python在执行一个文件时有个变量__name__

    总结:

    • 可以根据__name__变量的结果能够判断出,是直接执行的python脚本还是被引入执行的,从而能够有选择性的执行测试代码
    展开全文
  • Python创建功能模块

    2020-05-11 18:15:59
    什么是模块?简单来说,当程序的功能很多、代码量很大时,我们可以编写一个实现一定功能的python文件,将功能独立封装成一个模块(即.py文件...本篇文章小编给大家分享在Python如何创建属于自己模块,实现更多的功能

    用Python创建模块

    本篇文章小编给大家分享在Python如何创建属于自己的模块,实现更多的功能!
    

    一、模块

    1. 模块是什么?
      简单来说,当程序的功能很多、代码量很大时,我们可以编写一个实现一定功能的python文件,将功能独立封装成一个模块(即.py文件)

    2. 模块有什么作用?
      调用自定义的模块,会让我们在编写程序时省去很多重复的工作和代码的编写,实现更多的功能的同时,提高程序编写的效率!

    3. 如何创建功能模块?
      创建模块很简单,只需使用python编写要实现的功能模块代码,然后保存为.py文件,一个新的功能模块就创建完成了。

    二、示例创建功能模块

    小编来给大家创建一个截取字符串的功能模块,下面是创建该功能模块的详细解析。

    1. 编写截取字符串代码,保存文件为au.py文件

       def cutwords():#定义函数cutwords(),功能为截取字符串
       		a="Believe in yourself"#创建变量a用于存放字符内容
      	 	b=a[0:7]#创建变量b用于存放截取变量a中第0到7个字符
       		print(b)#打印截取后的字符
      
    2. 新建一个.py文件,实现功能模块的调用,并将该文件保存到au.py文件相同的目录下进行模块调用,下面是模块调用的代码

      调用方法一:使用import au,此种写法在调用模块的函数或者变量时需要精准的定位,即模块名·函数名()
      或者是模块名·变量名(),否则python会因为函数或者变量没有导入命名空间而报错
      				import au
      				print("截取的字符串为:")
      				result=str(au.cutwords())
      调用方法二:使用from au import cutwords,此种写法在调用模块时已将被调用模块的函数或者变量导入命名空间,直接调用函数或者变量
      				from au import cutwords
      				print("截取的字符串为:")
      				result=str(cutwords())
      
    3. 无论是哪种调用方法,最终实现的功能是一样的,只需注意调用的书写格式,下面我们来看看最后的成果吧

    4. 在这里插入图片描述
      好了,使用Python创建功能模块就完成了,创作不易,点个赞打个赏再走吧!需要参考的小伙伴们打开下面的链接可以自取上述截取字符串的源文件:https://pan.baidu.com/s/1yzGhORxpCNy4QVlMnbxrA
      提取码:umqa
      更多内容请关注小琳的公众号,和小琳一起悄悄拔尖儿!在这里插入图片描述

    展开全文
  • Python创建模块与配置

    2020-07-20 17:53:44
    Python创建模块与配置22 创建自己的模块22.1 自己模块22.2 配置模块搜索路径 22 创建自己的模块 模块,通常是一个含有源代码的文件,文件里有设计好了的函数、类、变量或者类的对象等内容。模块的作用是有效地避免多...

    22 创建自己的模块

    模块,通常是一个含有源代码的文件,文件里有设计好了的函数、类、变量或者类的对象等内容。模块的作用是有效地避免多源代码文件的大项目时函数名、变量名、类名等程序基本要素的名字冲突问题,在一个多文件的大工程的不同模块文件里可以在不同的文件里出现相同的变量名、函数名、类名等。那一个工程如何区分不同模块里的变量名、类名、函数名呢?语法格式如下:

    模块名.变量名
    模块名.函数名
    模块名.类名
    

    即使用点运算(.),每个包含源代码的文件名(不含.py)做为模块名。引用非重名的变量、函数、类等也是这样通过点运算来引用的。

    举例说明,list列表和tuple元组都有index函数,都是Python内建模块和函数,日常使用时是直接通过该类型的变量(本质是类的对象)点运算调用各自类(后续章节会讲类的知识)的index函数,其实也可以通过list.index或者tuple.index的方式来使用。

    a = range(10)
    print a
    print a.index(3)
    print list.index(a, 3)
    t = tuple(a)
    print t
    print t.index(3)
    print tuple.index(t, 3)
    

    程序执行结果:

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    3
    3
    (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
    3
    3
    

    22.1 自己模块

    在理解了Python的模块的意义、用途和使用方式之后,可以考虑自己如何编写模块、使用和配置模块等问题。

    下面以编写求整数加、减法模块为例讲解模块的创建和基本使用。模块文件myam.py源代码如下所示:

    def add(x, y):
        return x + y
    def minus(x, y):
        return x - y
    

    另为编写一个使用myam模块(注意模块名不含.py)的程序testam.py,请将模块文件myam.py和使用模块的文件testam.py暂时放在同一个目录下,如下所示:

    liao@liao:~/md/module$ tree
    .
    ├── myam.py
    ├── myam.pyc
    └── testam.py
    
    0 directories, 3 files
    liao@liao:~/md/module$ 
    

    使用模块myam的testam.py的代码如下所示:

    import myam
    print myam.add(13, 10)
    print myam.minus(13, 10)
    

    由于在非模块文件里引入某模块的方式很多,所以testam.py的编写方式很多,例如:

    from myam import add, minus
    print add(13, 10)
    print minus(13, 10)
    

    程序执行完毕后请看一下模块所在目录下是否多了一个文件?是的多了一个和模块文件同名的.pyc文件,对这个文件是在第一次使用模块时Python自动编译生成,删除了模块源文件.py留下模块的.pyc文件,使用模块的testam.py同样能正常运行,故模块开发好以后可以不提供源文件只提供.pyc文件,算是一种自我的知识产权的保护?呵呵。

    22.2 配置模块搜索路径

    在前一节,为了展示模块的开发和使用,暂时将模块文件和使用模块的文件放置在了同一个目录下,问题就来了,如果模块文件和使用模块的文件不在同一目录下会怎样?大家可以做一个简单的实验,将使用模块的文件放在另一个目录下,运行程序看会怎样?

    liao@liao:~/md$ tree test
    test
    ├── module
    │   ├── myam.py
    │   └── myam.pyc
    └── testam.py
    1 directory, 3 files
    liao@liao:~/md$
    

    是的程序运行时会报错找不到模块,平时使用的其他模块时例如csv、random也没要求这些模块和使用程序必须在同一个目录下啊,显然这里会有一些问题,怎么解决?

    实际上无论是标准模块还是自己写的模块,使用模块的程序是按照某种规则(实际是一些目录)去寻找模块,按照所有已知规则如果找不到才会报错模块找不到,解决办法就是让Python能找到新写的模块即可。

    有几种方式可以让Python找到新写的这个模块。

    方式一:新模块拷贝到标准目录下

    第一种就是把新写的模块的.py拷贝一份放在规则可以找到的地方(目录),这样做很简单,但缺点是会产生垃圾,系统移植性不好,故建议这么去做。

    方式二:修改sys.path环境变量

    第二种方式是使用模块的文件通过修改sys模块path变量(列表),添加新建模块的保存路径,这种方式不会产生系统垃圾,但移植到另外一台计算机上修要根据实际修改模块存在的路径,修要调整程序,移植性差点儿。

    import sys
    dirm = "/home/liao/md/test/module"
    sys.path.append(dirm)
    print sys.path
    import myam
    print myam.add(12, 15)
    

    当程序和模块移植到其他计算机上需要修改模块所在目录dirm。

    方式三:修改PYTHONPATH环境变量

    第三种方式是修改系统的环境变量,Linux用户需要修改PYTHONPATH,shell里执行:

    liao@liao:~/md/test/module$ export PYTHONPATH=/home/liao/md/test/module:$PYTHONPATH
    liao@liao:~/md/test/module$ cd ..
    liao@liao:~/md/test$ python testam.py 
    23
    3
    

    但是问题来了,这只是针对一个模块,如果一台计算机机上要运行很多的自己写的模块,那么这个PYTHONPATH变量修要写很多的目录,移植性差。而且在shell里修改PYTHONPATH只是在当前Shell里有用,重新开一个Shell就不起作用了.

    liao@liao:~$ cd md
    liao@liao:~/md$ cd test/
    liao@liao:~/md/test$ python testam.py 
    Traceback (most recent call last):
      File "testam.py", line 1, in <module>
        import myam
    ImportError: No module named myam
    liao@liao:~/md/test$ echo $PYTHONPATH
    
    liao@liao:~/md/test$ 
    

    解决办法是在~/.bashrc里写一条export PYTHONPATH=/home/liao/md/test/module:$PYTHONPATH后每次启动shell就能找到myam模块了,尽管解决了一点问题那也移PYTHONPATH,如果windows下系统变量没有,新建,把模块目录作为该变量的值value,这可参考windows的Path环境变量windows的Path环境变量 来做一做。

    方式四:.pth文件

    第四种,也是个人觉得最好的方式,将模块的目录统一管理,存放在一个.pth文件里.pth文件里 。

    (1)Windows用户可以在c:\python27或者c:\python27\site-packages目录下新建一个.pth文件,例如mypkpath.pth,在这个文件里添加模块所在目录。

    (2) ubuntu用户,在/usr/local/lib/python2.7/dist-packages目录下创建.pth文件,在.pth文件里记录新建模块的路径。

    (3)redhat用户,在/usr/lib/python2.7/site-packages目录下创建.pth文件,在.pth文件里记录新建模块的路径。

    liao@liao:~/md/test$ cd /usr/local/lib/python2.7/dist-packages
    liao@liao:/usr/local/lib/python2.7/dist-packages$ sudo touch mypkpath.pth
    [sudo] liao 的密码: 
    liao@liao:/usr/local/lib/python2.7/dist-packages$ ls *.pth
    mypkpath.pth
    liao@liao:/usr/local/lib/python2.7/dist-packages$ 
    

    将模块目录添加到该文件里:

    liao@liao:/usr/local/lib/python2.7/dist-packages$ cat mypkpath.pth 
    /home/liao/md/test/module
    liao@liao:/usr/local/lib/python2.7/dist-packages$ cd 
    liao@liao:~$ cd md/
    liao@liao:~/md$ cd test/
    liao@liao:~/md/test$ ls
    module  testam.py
    liao@liao:~/md/test$ python testam.py 
    23
    3
    liao@liao:~/md/test$ 
    

    方式四的操作方式最好,值得推荐!

    展开全文
  • import 模块的用法: 1 格式: import 模块名 即可导入该包的所有可调用内容,代码中调用格式则为:模块名.方法名|属性名 2 格式 from 模块名 import 具体的方法|属性名(导入多个可使用逗号分开),代码中可直接...

    import 模块的用法:

    1 格式: import 模块名  即可导入该包的所有可调用内容,代码中调用格式则为:模块名.方法名|属性名

    2 格式 from  模块名 import 具体的方法|属性名(导入多个可使用逗号分开),代码中可直接用具体的方法名|属性名来调用即直接使用

    3 格式  from  模块名 import *为导入该模块下的所有可调用内容(一般不推荐这么做,因为这样可能会覆盖原有的方法或变量名)

    如何创建自己模块:

    模块即脚本或是脚本的集合,我们自己随便写的一个python代码文件都可以当做模块导入。

    导入自己的模块有以下两种方法:

    1 复制到要导入代码文件的目录下 即可导入

    2 讲导入代码文件复制到你安装Python的Lib目录下,以后就可以在任何新创建的代码文件中直接导入该模块

    展开全文
  • 4.4 Python创建模块

    2016-07-01 07:42:33
    创建自己模块是很容易的,你一直在这样做,始终都是!这是因为每个Python程序就是一个模块。 你只需要确保它有一个.py扩展名。下面的例子会让你明白。 例子(保存为mymodule.py): def sayhi(): print('...
  • Python创建模块并导入

    千次阅读 2017-08-30 09:24:04
    Python创建自己模块很方便,所有的.py文件都被视为是一个模块 我们可以用import 文件名的方式把它导入自己的新文件 不过我们要注意创建模块要符合命名规范,比如首字母不能是数字等 如果首字母是数字就会出现...
  • 一、创建文件的目录结构 /string2date /string2date __init__.py string2date.py setup.py LICENSE README.md __init__.py 初始化的数据,之后pip install调包的时候会先加载这里面的数据,所以里面还需要...
  • 创建模块的步骤准备一个.py文件开始创建模块导入模块并使用 准备一个.py文件 在上一章中,已经创建过一个包含递归函数的文件:nester.py,内容如下...正式创建模块,输入python setup.py install 现在新模块已经安装到本地
  • Python创建自己模块很方便,所有的.py文件都被视为是一个模块 我们可以用import 文件名的方式把它导入自己的新文件 不过我们要注意创建模块要符合命名规范,比如首字母不能是数字等 如果首字母是数字就会出现...
  • 创建模块: gr_modtool newmod multiusrp 进入新模块所在文件夹: cd gr-multiusrp/ 添加一个source block: gr_modtool add -t source -l python multiusrp_source -t:为模块模式,有以下几种可选:‘sink’,...
  • 在实战中我们往往需要导入自己写的一个.py文件,而且不是...1. sys.path.append( )告知解释器假设我们自己python文件名为 inferSingleDocVec.py,那么这个文件可以作为一个模块被引入,现在Python 解释器并不知道...
  • 之前在前面的 Python模块与包 文章中具体的介绍了模块,也介绍了模块创建与发布的步骤。 文章地址:https://blog.csdn.net/Mr_fengzi/article/details/90767007 假如你自己写了一个自我感觉很不错的程序,那么...
  • 摘要:这篇文章描述了自己动手把需要的代码封装成python模块的方法。完成后,我们可以直接使用pip install xxx下载自己模块并使用内置的函数。 介绍 python作为一门鼎鼎大名的语言,最有优势的地方就是它拥有...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,058
精华内容 823
关键字:

python自己创建模块

python 订阅