python学习:扩展类的方法

一:先看一段小程序

<span style="font-size:18px;"><strong>class person:
    def __init__(self):
        print "new person"
        self.name = "lyl"
    def setName(self,name):
        self.name = name
    def printName(self):
        print self.name
p  = person();
p.setName("LiuYanliang")
p.printName()
</strong></span>

看执行结果:

new person

LiuYanliang

二:总结

 (1)可以在类的内部,使用def扩展类的方法

 (2)类中的方法,第一个参数必须为self。

时间: 2024-10-26 01:53:15

python学习:扩展类的方法的相关文章

Python中的类和方法使用举例

1.类的属性 成员变量对象的创建创建对象的过程称之为实例化,当一个对象被创建后,包含三个方面的特性对象聚丙属性和方法,句柄用于区分不同的对象,对象的属性和方法,与类中的成员变量和成员函数对应,obj = MyClass()创建类的一个实例,扩号对象,通过对象来调用方法和属性 类的属性 类的属性按使用范围分为公有属性和私有属性类的属性范围,取决于属性的名称,共有属性---在内中和内外都能够调用的属性私有属性---不能在内外贝类以外函数调用定义方式:以""双下划线开始的成员变量就是私有属性

python学习——定制类

看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的. __slots__我们已经知道怎么用了,__len__()方法我们也知道是为了能让class作用于len()函数. 除此之外,Python的class中还有许多这样有特殊用途的函数,可以帮助我们定制类. __str__ 我们先定义一个Student类,打印一个实例: >>> class Student(object): ... def __init__(self, name):

用静态类扩展类的方法

学到静态类,它有一个比较特殊的功能,就是能扩展其他类的方法: 例如:我们定义了要给Person类,但是用过一段时间后发现,这个类的功能不够了,但是又不想从写(或者与别人合作,不能从写),那用静态类来扩展就是一种方法. Person类    然后我们写了一个静态类  叫做 PersonPlus,在PersonPlus里,写了一个 PersonSaysorry(this Person p)的静态方法,这里要注意,方法的参数这样写:public static void PersonSaysorry(t

python学习19类5之多态与鸭子模型

'''''''''一.多态1.Python中多态是指一类事物有多种形态.''' class Animal: def run(self): raise AttributeError('子类必须实现这个方法') #抛出异常 class People(Animal): def run(self): print('人正在走') class Pig(Animal): def run(self): print('pig is walking') class Dog(Animal): def run(self

python学习之运用特殊方法,定制类

class Time60(object): def __init__(self,hr,min): self.hr=hr self.min=min def __add__(self, other): #__add__ 相当于加:+操作符 return self.__class__(self.hr+other.hr,self.min+other.min) #self.__class__()等价Time60() def __str__(self): return '%d:%d'%(self.hr,se

python学习笔记-类的descriptor

descriptor应用背景 所谓描述器,是实现了描述符协议,即get, set, 和 delete方法的对象. 简单说,描述符就是可以重复使用的属性. 比如以下代码: f = Foo() b = f.bar f.bar = c del f.bar 在解释器执行上述代码时,当发现你试图访问属性(b = f.bar).对属性赋值(f.bar = c)或者删除一个实例变量的属性(del f.bar)时,就会去调用自定义的方法. 为什么把对函数的调用伪装成对属性的访问?有什么好处? 从property

Python学习笔记之魔法方法

魔法方法(特殊方法):名称以双下划线和双下划线结尾的方法. 这些方法会在特殊情况下被Python直接调用,几乎没有直接调用的必要. __init__():构造函数 __del__():析构函数 在其他语言中对象可能被要求属于某一个类,或被要求实现接口,但在Python中只是简单的要求它遵守几个给定的规则. 如一个序列类,为了实现规则,则需要实现以下魔法方法: __len__(self):返回集合中所含项目的数量 __getitem__(self,key):返回与所给键对应的值 __setitem

python学习之 类class

定义 Python 的 Class 比较特别,和我们习惯的静态语言类型定义有很大区别. 1. 使用一个名为 __init__ 的方法来完成初始化.2. 使用一个名为 __del__ 的方法来完成类似析购操作.3. 所有的实例方法都拥有一个 self 参数来传递当前实例,类似于 this.4. 可以使用 __class__ 来访问类型成员 >>>>>> class MyClass: def __init__(self): print "initialize.&q

Python学习_11_类和实例

类和实例 类是对象创建实例的模板,而实例则是对象的实体.类使用class关键字定义: class MyClass:? ? pass python中创建实例直接使用工厂函数(类名加上一对括号),和其他的语言使用new关键字有所不同: my_obj = MyClass() 一般来说,类名以大写字母开头,而对象名则以小写字母或者下划线开头. 实例化对象时,会执行类定义中的__init__()方法,该方法执行时包含实例的各种初始化操作. 方法和函数的区别:方法由对象调用,在方法定义中,第一个参数必须是显