zoukankan      html  css  js  c++  java
  • python 类编程相关内容(更新)

    python作为面向对象的编程语言,类和对象相关的编程当然是少不了的!

    python类:

    1 class 类名 :
    2     变量名 [ = 初始值 ]
    3     ……
    4     def 函数名 ( self [ , 其余参数列表 ]) :
    5         函数体
    6         ……

    基本是个这样子的!

    注意self参数,在我接触到的类方法里几乎都要在参数列表第一项填上self,当然只是在类定义的时候,在调用的时候大概默认将对象传入了函数中,所以调用时不需要传入这个参数。在方法定义的过程中使用到的类变量也需要用 self.变量名 的方式,不然会报错,表示变量是外部变量不能直接修改。

    在一个类的类方法中使用其他模块的方法,只需要import一下就行

    1 from 模块名 import 方法名

    在python中,有许多内置方法是可以重载的,就像C++的类里的重载运算符,不过也有很多差别。

    __init__( self ) :

    这个就相当于C++里面的构造函数了,在对象生成的时候就会自动调用~

    __add__( self [ , ] ) :

    重载__add__相当于重载“+”运算符,可以实现对象的加法操作。

     1 >>> class A:
     2       num = 1;
     3       def __add__( self , other ) :
     4           tmp = A()
     5           tmp.num = self.num + other.num
     6           return tmp
     7 
     8     
     9 >>> a = A()
    10 >>> b = A()
    11 >>> a = a + b
    12 >>> print( a.num )
    13 2


    __str__( self [ , ]) :

    重载__str__使对象拥有字符串的表示方法,这样在调用 print(对象名) 时就可以直接输出

    1 >>> class A:
    2         num = 1;
    3         def __str__( self ) :
    4             return "num = %d"%self.num
    5 
    6     
    7 >>> a = A()
    8 >>> print(a)
    9 num = 1


    __repr__( self [ , ]) :

    重载__repr__使对象可以直接被调用输出

    1 >>> class A:
    2         num = 1;
    3         def __repr__( self ) :
    4             return "num = %d"%self.num
    5 
    6     
    7 >>> a = A()
    8 >>> a
    9 num = 1
  • 相关阅读:
    AOJ.866 飞越原野 (三维BFS)
    UVA.129 Krypton Factor (搜索+暴力)
    UVA.10986 Fractions Again (经典暴力)
    UVA.10305 Maximum Product (暴力)
    UVA.725 Division (暴力)
    HDU.3342 Legal or Not (拓扑排序 TopSort)
    HDU.2647 Reward(拓扑排序 TopSort)
    13 成都
    15 沈阳
    14 鞍山
  • 原文地址:https://www.cnblogs.com/cenariusxz/p/6698711.html
Copyright © 2011-2022 走看看