• python基础之函数__name__属性


    博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。


    一、背景

      实际开发过程中,经常会遇到很多完全相同或者非常相似的操作,这时,可以将实现类似操作的代码封装为函数,然后在需要的地方调用该函数。这样不仅可以实现代码的复用,还可以使代码更有条理性,增加代码的可靠性。下面我们来介绍一下python的函数__name__属性相关内容。


    二、__name__属性

    • Python提供了一个__name__属性,通过__name__属性可以识别程序的使用方式:
    • 当作为模块导入时,则其__name__属性的值被自动设置为模块名;
    • 如果作为程序直接运行,则其__name__属性被自动设置为字符串“main”。

      原来“test_1.py”文件中添加测试代码如下:

    import test_1		#导入test_1模块
    c = test_1.minimal(5,6)	#调用函数,将较小值赋给c
    print('较小值为:',c)	#输出较小值c
    def minimal(x, y):	#自定义计算较小值函数
        if x > y:	#如果x>y成立,返回y的值
            return y
        else:		#否则返回x的值
            return x
    #用来测试
    r = minimal(2,3)
    print('测试2和3的较小值为:',r)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

      例:运行以上程序,分析运行结果。

    在这里插入图片描述

      例如:想要实现将“test_1.py”作为程序直接运行时,执行测试代码;而“test_1.py” 作为模块导入时,不执行测试代码,可将“test_1.py”文件中的代码作如下修改:

    def minimal(x, y):				#自定义计算较小值函数
        if x > y:				#如果x>y成立,返回y的值
            return y
        else:					#否则返回x的值
            return x
    #用来测试
    if __name__ == '__main__':			#识别当前的运行方式
        r = minimal(2,3)
        print('测试2和3的较小值为:',r)
     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

      例:运行下面程序,分析运行结果。可以看出模块文件方法里面的打印信息在调用时不会打印。

    import test_1		#导入test_1模块
    c = test_1.minimal(5,6)	#调用函数,将较小值赋给c
    print('较小值为:',c)	#输出较小值c
    def minimal(x, y):	#自定义计算较小值函数
        if x > y:	#如果x>y成立,返回y的值
            return y
        else:		#否则返回x的值
            return x
    #用来测试
    r = minimal(2,3)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

      结果如下。

    在这里插入图片描述


    三、参考

    1、廖雪峰的官网
    2、python官网
    3、Python编程案例教程


    四、总结

      以上就是就是关于Python的函数__name__属性相关知识,可以参考一下,觉得不错的话,欢迎点赞、收藏、在看,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。

  • 相关阅读:
    leetcode - 1980. Find Unique Binary String
    无涯教程-JavaScript - ERFC.PRECISE函数
    微信模板消息跳转小程序
    动态内存分分配(malloc、free、calloc、realloc)
    【仿真建模】第三课:AntLogic入门基础课程 - 多层建筑行人疏散仿真讲解
    文件分片上传设计
    SQL ZOO —— 6 JOIN
    C++笔记
    docker常用命令
    【小树T系列3D打印机安装教程】
  • 原文地址:https://blog.csdn.net/jiankang66/article/details/125472541