zoukankan      html  css  js  c++  java
  • 接口测试基础——第7篇 Python中_、__、__func__之间的区别

    今天的东西很少,主要是给自己做个笔记,顺便帮大家普及一下Python中的边角知识:

    1、if __name__ == "__main__"是什么意思

    答:一个.py文件,如果是自身在运行,那么他的__name__值就是"__main__";
    如果它是被别的程序导入的(作为一个模块),比如:
    import unittest
    那么,他的__name__就不是"__main__"了。
    所以,在.py文件中使用这个条件语句,可以使这个条件语句块中的命令只在它独立运行时才执行。
    ----来自百度问答

    2、python中_param,__param,__param__的区别

    答:_ 表示该方法或属性是私有的,也就是说你不想让别人编辑,那么就可以把变量设置成为 “_变量名”

    __来避免子类的重写;

    例如:

    class A(object): 
        def __method(self): 
            print "I'm a method in A" 
        def method(self): 
            self.__method()
    a = A()
    print a.method()
    


    输出是这样的:
    I'm a method in A

    我们给A添加一个子类,并重新实现一个__method:

    class A(object): 
        def __method(self): 
            print "I'm a method in A" 
        def method(self): 
            self.__method()
    
    class B(A): 
        def __method(self): 
            print "I'm a method in B" 
    
    b = B() 
    print b.method()
    


    现在,结果是这样的:
    I'm a method in A

    就像我们看到的一样,B.method()不能调用B.__method的方法。实际上,它是"__"两个下划线的功能的正常显示。
    因此,在我们创建一个以"__"两个下划线开始的方法时,这意味着这个方法不能被重写,它只允许在该类的内部中使用。

    __XX__用于python调用或一些特殊情况

    当你看到"__func__"的时,就知道不要调用它。为什么?因为它的意思是它是用于Python调用的,如下:

    name = "param"
    print name.__len__()
    number = 10
    print number.__add__(20)
    

    输出为:

    5
    30
    “xx”经常是操作符或本地函数调用的magic methods。

            原文链接:http://www.cnblogs.com/coder2012/p/4423356.html

    微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~

  • 相关阅读:
    Vue.js 2.x笔记:安装与起步(1)
    EntityFramework Core笔记:保存数据(4)
    EntityFramework Core笔记:查询数据(3)
    EntityFramework Core笔记:表结构及数据基本操作(2)
    EntityFramework Core笔记:入门(1)
    ASP.NET MVC系列:web.config中ConnectionString aspnet_iis加密与AppSettings独立文件
    EntityFramework优化:第一次启动优化
    EntityFramework优化:查询性能
    EntityFramework优化:查询WITH(NOLOCK)
    SpringCloud学习笔记:熔断器Hystrix(5)
  • 原文地址:https://www.cnblogs.com/captainmeng/p/7735280.html
Copyright © 2011-2022 走看看