python学习日志(六)

一、模块

在Python中,一个.py文件就称之为一个模块(Module)。使用模块的好处:

 

  • 最大的好处是大大提高了代码的可维护性
  • 提高代码的复用性、
  • 使用模块还可以避免函数名和变量名冲突

 

如果不同的人编写的模块名相同怎么办?为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。请注意,每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是mycompany(如果定义了这个包,__init__.py在这个包下。也可以定义多级目录。

 

 

 

二、使用模块

模块的编写:

 

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

' a test module '

__author__ = 'Michael Liao'

import sys

def test():
    args = sys.argv
    if len(args)==1:
        print('Hello, world!')
    elif len(args)==2:
        print('Hello, %s!' % args[1])
    else:
        print('Too many arguments!')

if __name__=='__main__':
    test()

 

 

第1行和第2行是标准注释,第1行注释可以让这个hello.py文件直接在Unix/Linux/Mac上运行,第2行注释表示.py文件本身使用标准UTF-8编码;

第4行是一个字符串,表示模块的文档注释,任何模块代码的第一个字符串都被视为模块的文档注释;

第6行使用__author__变量把作者写进去,这样当你公开源代码后别人就可以瞻仰你的大名;

以上就是Python模块的标准文件模板,当然也可以全部删掉不写,但是,按标准办事肯定没错。

后面开始就是真正的代码部分。首先就是导入该模块用 import 模块名

当我们在命令行运行hello模块文件时,Python解释器把一个特殊变量__name__置为__main__,而如果在其他地方导入该hello模块时,if判断将失败,因此,这种if测试可以让一个模块通过命令行运行时执行一些额外的代码,最常见的就是运行测试。

三、变量的作用域

 

在一个模块中,我们可能会定义很多函数和变量,但有的函数和变量我们希望给别人使用,有的函数和变量我们希望仅仅在模块内部使用。在Python中,是通过_前缀来实现的。正常的函数和变量名是公开的(public),可以被直接引用,比如:abcx123PI等;

类似_xxx__xxx这样的函数或变量就是非公开的(private),不应该被直接引用,比如_abc__abc等;

private函数或变量不应该被别人引用,那它们有什么用呢?请看例子:

def _private_1(name):
    return 'Hello, %s' % name

def _private_2(name):
    return 'Hi, %s' % name

def greeting(name):
    if len(name) > 3:
        return _private_1(name)
    else:
        return _private_2(name)

我们在模块里公开greeting()函数,而把内部逻辑用private函数隐藏起来了,这样,调用greeting()函数不用关心内部的private函数细节,这也是一种非常有用的代码封装和抽象的方法,即:

外部不需要引用的函数全部定义成private,只有外部需要引用的函数才定义为public。

 

四、安装第三方模块

用pip(若Python3则用pip3指令),安装模块的路径需要查阅资料。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习是指学习如何学习的一个概念,它以学习算法为研究对象,从学习算法的角度研究如何使学习算法能够在新的任务上更好地泛化。 Python是一种流行的编程语言,具有简洁、易读、易学的特点,因此,使用Python进行元学习是非常方便的。 在Python中,我们可以使用元编程技术来实现元学习。元编程是指在运行时对程序本身进行操作的编程方式。Python提供了一些内建的元编程工具,如装饰器、元类等。 装饰器是Python中常用的元编程工具之一。我们可以使用装饰器为函数或类添加额外的功能,例如记录日志、计时等。这样,我们可以通过添加装饰器来监控和调整学习算法的表现,提高其泛化能力。 另一个常见的元编程工具是元类。元类是创建类的类,它可以访问和修改类的属性和方法,并控制类的创建和行为。使用元类,我们可以自定义创建学习算法的类,从而更好地控制学习算法的行为和性能。 除了元编程技术,Python还提供了丰富的机器学习库和工具,如Scikit-learn、TensorFlow等。这些库和工具可以帮助开发人员快速实现和应用元学习算法,简化元学习的过程。 总之,元学习是一个有趣且重要的研究领域,Python作为一种流行的编程语言,在实现和应用元学习算法上具有很大的优势。通过运用元编程技术和机器学习库,我们可以更好地探索和应用元学习的潜力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值