python3.1想要动态增加方法需要先Import types
import types
class Demo:
def hello(self):
print("hello world")
helloInstance = Demo()
def hello2(self):
print ("hello again")
Demo.hello2 =hello2 #为该类定义hello2方法
helloInstance.hello()
helloInstance.hello2()
def hello3(self):
print ("hello once more")
helloInstance2 = Demo()
helloInstance2.hello()
helloInstance2.hello2()
helloInstance2.hello3 =hello3 #只为这个实例定义hello3方法
helloInstance2.hello3(helloInstance2)
helloInstance4 = Demo()
helloInstance4.hello()
helloInstance4.hello2()
helloInstance4.hello3(helloInstance4)
执行结果如下:
hello world
hello again
hello world
hello again
hello once more
hello world
hello again
Traceback (most recent call last):
File "C:/Python31/hello2", line 24, in <module>
helloInstance4.hello3(helloInstance4)
AttributeError: 'Demo' object has no attribute 'hello3'
结果分析:可以发现,为该类定义了hello2后,所有后面生成的实例都能调用该方法;而专为第三个实例定义的hello3方法,则不能被第四个实例调用。从这里可以看到python动态生成的强大,可以为类 或者一个具体实例定义一个方法并使用。
Ps:python3.0之后,new被types取代了。所以 import new将会报 ImportError: No module named new错误
分享到:
相关推荐
主要介绍了Python实现动态给类和对象添加属性和方法操作,涉及Python面向对象程序设计中类与对象属性、方法的动态操作相关实现技巧,需要的朋友可以参考下
本文实例讲述了Python实现动态添加属性和方法操作。分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #!python3 class Person(): def __init__(self, name, age): self.name = name self.age = age p1 ...
下面小编就为大家分享一篇python 类对象和实例对象动态添加方法。具有很的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
本文实例讲述了Python实现动态给类和对象添加属性和方法操作。分享给大家供大家参考,具体如下: 动态给类和对象添加属性 定义一个Person类 class Person(object): def __init__(self, name): self.name = name ...
python实例
Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被人们用于独立的、大型项目的开发和设计 Python解释器易于扩展,...
python的使用方法 Python是一种解释性、面向对象、动态数据类型的高级编程语言。它的语法简洁、易于理解,并且拥有丰富的库和强大的功能,因此被广泛应用于各种领域,如Web开发、数据科学、人工智能、游戏开发等等...
给大家介绍了如何在python的类中动态添加属性和生成对象,文中通过几个方面来进行介绍,对这感兴趣的朋友们可以学习学习。
├─(12) 02 python s3 day42 JS的window对象之定时器.avi ├─(13) 03 python s3 day42 JS的history对象和location对象.avi ├─(14) 04 python s3 day42 JS的DOM节点.avi ├─(15) 05 python s3 day42 JS的DOM节点...
1.类外面添加对象属性 class Washer(): def wash(self): print('do some laundry stuff') haier1 = Washer() #添加属性,对象名、属性名 = 值 haier1.width = 400 haier1.height = 500 对象属性既可以在类外面...
Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被人们用于独立的、大型项目的开发和设计 Python解释器易于扩展,...
使用环境:需要先安装PyCharm(请自己百度下载安装),以及然后官网上下载Python 2.7版本,以及Python 3.7版本后,安装在自己的电脑上。...目的:帮助理解集合对象在Python中的具体创建和基本的集合运算。
python 创建类方法 Python是一种面向对象的编程语言,它提供了许多方便的方法来创建类和对象。其中,类方法是一种特殊的方法,它与类本身相关,而不是与类的实例相关。在本文中,我们将介绍如何使用Python创建类方法...
python面向对象之学生管理系统 话不多说,先看看代码(求关注+赞,努力写出好的东西!…_ 谢谢!!) #哪里有所不妥可以修改 #python面向对象之学生管理系统 import sys class StudentManage: student_list = [] #...
Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。 Python解释器易于扩展,可以使用...
授课老师从业经验丰富,讲课由浅入深,贴近真实开发,紧紧围绕Python核心基础知识,系统讲解操作系统、Python环境搭建、Python的基本语法、类型和对象、流程控制、函数、函数式编程、面向对象、文件操作等内容。...
2) 为Student对象动态增加新属性性别sex 3) 在类外部尝试访问私有实例属性sno 4) 在类中新定义get()方法返回age的值,以及set()方法设置age的新值,age>0时设置成为新值,age时,提示设置年龄不合法。 3. 水果超市,...
Python基础课程-⾯向对象编程 Python⾯向对象编程 ⾯向对象编程 在本⽂中,您将学习Python中的OOP的以下基本概念: Python类 对象实例 定义和使⽤⽅法 OOP继承 什么是⾯向对象编程( 什么是⾯向对象编程(OOP)?...