Python学习杂记1

Python学习杂记


摘要:

1.self
2.zip函数
3.*list/tuple
4.super继承说明
5.数据库事务
6.functools模块
7.* args和**kwargs
8.with语句

self:

  • self在python中不是关键词,可以定义成其他合法的字符串,但是最好写成self,符合规范。

    =>

    class Person:
              def _init_(myname,name):
                       myname.name=name
              def sayhello(myname):
                       print 'My name is:',myname.name
    p=Person('Bill')
    print p
    

    上面的myname就是一个self的替代。

  • self指的是类实例对象本身,不是类本身。

    =>

    class Person:
             def _init_(self,name):
                      self.name=name
             def sayhello(self):
                      print 'My name is:',self.name
    p=Person('Bill')
    print p 
    
  • self指向类实例对象本身,不是类本身的理由

    class Person:
             def _init_(self,name):
                      self.name=name
             def sayhello(self):
                      print 'My name is:',self.name
    p=Person('Bill')
    p1 = Person('Apple')
    print p
    

    如果self指向类对象,当有多个实例对象时,会无法确定其指向哪一个。

  • self代表当前对象的地址。self能避免非限定调用造成的全局变量。在类的方法内才能使用,一般为额外的第一个参数。
  • 原理:当创建一个类MyClass,实例化MyClass得到了MyObject这个对象,然后调用这个对象的方法MyObject.method(arg1,arg2) ,这个过程中,Python会自动转为Myclass.mehod(MyObject,arg1,arg2)

你可能感兴趣的:(编程,python)