zoukankan      html  css  js  c++  java
  • python编程学习进度十

     今天学习了python中一些关于类代码编写的知识,以及其中的一些细节:

    总结:

    1、类其实也是一种对象。

    在类定义外创建的函数也可以成为方法

    >>>def upperName(self):
    ...  return self.name.upper()
    
    >>>rec.method = upperName

    细节:

    1、和def一样,class也是可执行代码,运行时才会产生类对象。调用超类的构造器是可以的,在子类的构造方法中使用Super.__init__()即可。抽象超类有的方法没有提供实现,而是由子类提供。类的运算符重载通过修改诸如__add__(对应于+)等方法来实现。具体细节请参考原书。下面是一个修改__iter__获得用户定义的迭代器的例子:

    class Squares:
     def __init__(self,start,stop):
      self.value = start - 1
      self.stop = stop
     def __iter__(self):
      return self
      def next(self):
      if self.value == self.stop:
       raise StopIteration
      self.value += 1
      return self.value ** 2
    
    %python
    >>>from iters import Squares
    >>>for i in Squares(1,5):
    ...  print i,
    ...
    1 4 9 16 25

    2、右侧方法如__radd__中,self在右侧,和__add__相反。

    __call__可以拦截调用,用使用函数的方法使用类。对改写了__call__的类prod,实例化x = prod(2),x(3)可以直接使用。

    __del__是析构器,但在Python中很少使用析构方法。命名空间其实是普通的字典。

  • 相关阅读:
    Mybatis(三)
    Mybatis(二)
    Mybatis
    AJAX的跨域
    AJAX
    EL表达式与标准标签库JSTL
    java无脚本jsp页面-简介
    javaWeb的开发模式
    ADO.Net之SqlConnection、sqlcommand的应用
    翻译1-在SQL Server 2016中介绍微软R服务
  • 原文地址:https://www.cnblogs.com/lover995/p/12291593.html
Copyright © 2011-2022 走看看