• 011. Python中*args, **kwargs 和 pass 和self 解释


    *args, **kwargs →在python都表示可变参数, *args表示任意多个任意类型无名参数, 是一个元组; **kwargs表示关键字参数(key/value参数), 是一个字典,接收的参数如a=’hello’,b=1 ; 注意如果*args, **kwargs同时使用的时候, 必须*args在前

    #coding=utf-8
    def fun(a,*b):
        print a
        print b
    
    print fun(1,2,3,4,5,6)   #fun(1, a=2)  是会报错的
    #输出结果:
    #1
    #(2, 3, 4, 5, 6)
    #可以看到, 形参a只接收了一个参数1, 其它后面的的5个参数全部被b接收了
    
    #coding=utf-8
    def funKW(a, **b):
        print a
        print b
    
    print funKW(1,b='2',c=200)
    #输出结果:
    #1
    #{'c': 200, 'b': '2'}
    

    pass关键字解释:

    在编写一个程序时, 执行语句部分思路还没有完成用pass语句来占位(标记), 是要过后来完成的代码. 比如下面这样:

    def test():
        pass
    
    定义一个函数 test, 但函数体部分暂时还没有完成, 又不能空着不写内容, 因此可以用pass来替代占个位置. 

    pass也可用于while语句的无限循环, 每次迭代时不需要任何操作(最好不要写这样的代码)

    def whileTest():
        while(True):
            pass
    

    1. 空语句, 是为了保持程序结构的完整性。

    2. 不做任何事情, 一般用做占位语句。

    self解释:

    1. self用于区分类方法和普通函数; 普通函数如果没有形参, 那就是函数名后直接跟上(), 类方法永远有一个额外的参数名称, 并且是第一个参数, 那就是self; 就算想在类内部定义一个无任何参数的方法, 也必须带上self(并且一定要放在第一位)参数, 当然调用的时候不用为这个参数赋值, Python会提供这个值; 这个特别的变量就是对象本身, 按照惯例它的名称是self.虽然可以给这个参数任何名称, 但是 强烈建议 你使用self这个名称——其他名称都是不赞成你使用的。使用一个标准的名称有很多优点——你的程序读者可以迅速识别它, 如果使用self的话, 还有些IDE(集成开发环境)也可以帮助你.
    2. self相当于Java、C#中的this关键字
    3. 假如有一个类称为Animal和这个类的一个实例Dog。当你调用这个对象的方法Dog.Eat(arg1, arg2)的时候, 这会由Python自动转为Animal.method(Dog, arg1, arg2)→这就是self的原理了. 这也意味着如果你有一个不需要参数的方法, 你还是得给这个方法定义一个self参数。
    class Animal():
        def eat(self):
            print 'This dog eating'
    a=Animal()
    a.eat()
    
  • 相关阅读:
    [开源]用MQL4实现MD5加密
    如何转换WMV到MP3,WMV到MP3播放器
    C# Winform TreeView 的一些基本用法
    WinServer 2008 远程桌面连接设置
    存储数据类型的转化总结
    EF中执行sql语句,以及事务
    C#(委托a)
    LINQ绑定List到GridView
    循环遍历DataTable绑定到Table
    要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。
  • 原文地址:https://www.cnblogs.com/wxylog/p/6719057.html
Copyright © 2020-2023  润新知