from types import  MethodType#创建一个空类
class Person(object):__slots__ = ("name","age","speak","height")per = Person()
#动态添加属性,这体现了动态语言的特点(灵活)per.name = "tom"
print(per.name)
'''
#动态添加方法
def say(self):print("my name is "+self.name)
per.speak = say
per.speak()
'''def say(self):print("my name is "+self.name)
per.speak = MethodType(say,per)
per.speak()#思考:如果我们想要限制实力的属性怎么办
#比如:只允许给对象添加 name,age,height,weight属性#解决:定义类的时候,定义一个特殊的属性(__slots__)
#可以限制动态添加的属性
per.height = 100
print(per.height)

动态给实例添加属性和方法相关推荐

  1. 我的Python学习笔记(四):动态添加属性和方法

    一.动态语言相关概念 1.1 动态语言 在运行时代码可以根据某些条件改变自身结构 可以在运行时引进新的函数.对象.甚至代码,可以删除已有的函数等其他结构上的变化 常见的动态语言:Object-C.C# ...

  2. 【17】有关python面向对象编程的提高【多继承、多态、类属性、动态添加与限制添加属性与方法、@property】...

    一.多继承 案例1:小孩继承自爸爸,妈妈.在程序入口模块再创建实例调用执行 #father模块 class Father(object):def __init__(self,money):self.m ...

  3. juqery追加li_jQuery添加li标签以及添加属性的方法

    这次给大家带来jQuery添加li标签以及添加属性的方法,jQuery添加li标签以及添加属性的方法的注意事项有哪些,下面就是实战案例,一起来看一下. pageEncoding="UTF-8 ...

  4. vue实例的属性和方法

    一. vue实例的属性和方法 1.属性 1.常用属性 vm.$el      #获取的是个dom对象可以点下面的属性 vm.$data  #获取的是个.... vm.$options vm.$refs ...

  5. Vue2.x源码学习笔记-Vue实例的属性和方法整理

    还是先从浏览器直观的感受下实例属性和方法. 实例属性: 对应解释如下: vm._uid // 自增的id vm._isVue // 标示是vue对象,避免被observe vm._renderProx ...

  6. 给JS对象添加属性和方法

    方式一:在定义对象时,直接添加属性和方法 function Person(name,age) {this.name = name;this.age = age;this.say = function( ...

  7. JS动态为对象添加属性

    JS允许在创建完一个对象后,动态给对象添加属性.如下 var obj = {};// 动态给对象添加属性的常见方式 obj.name = 'aaa'; obj.age = 22; console.lo ...

  8. python methodtype_Python的实例定属性和方法或类绑定方法

    一.给实例对象绑定属性和方法: 1.给实例绑定属性:先定义一个Student类 #!/usr/bin/python class Student(object): pass 然后绑定属性: s = St ...

  9. Python 动态获取对象的属性和方法(内含inspect)

    首先通过一个例子来看一下本文中可能用到的对象和相关概念. #coding:utf-8 import sysdef foo():passclass Cat(object):def __init__(se ...

最新文章

  1. Google Maps Android API V2的使用及问题解决
  2. (十)Java B2B2C o2o多用户商城 springcloud架构- SSO单点登录之OAuth2.0登录认证(1)
  3. Top20的OpenSSH服务器最佳安全实践--SSHD_CONFIG配置文件详细解读
  4. spring boot 中文文档地址
  5. python 排列组合速度_Python实现的简单排列组合算法示例
  6. js创建10万行表格 页面显示10万行数据
  7. WebAssembly 开启微服务新时代
  8. 知乎要用AI打造智能社区,专治「答非所问」的瓦力机器人已上线
  9. 【RPC】远程过程调用
  10. PEP 263 -- Defining Python Source Code Encodings(定义Python源代码编码)
  11. 基于java+swing的物业收费管理系统(java+swing+Gui)
  12. 阿尔泰USB5630数据采集卡
  13. phoenix-hbase 服务频繁挂掉问题排查
  14. python爬虫入门 之 requests 模块
  15. 即使被拖库,也可以保证密码不泄露(一种安全的加密方案)
  16. 软件集成测试采用,集成测试的组成以及流程
  17. 独立站推广引流的8个渠道
  18. 谷歌浏览器最小化后打开黑屏
  19. 元气骑士icloud共享吧_如何禁用OS X的iCloud照片和视频共享
  20. SpringCloud—笔记(一)零基础篇

热门文章

  1. STL中map和string, vector 用法详解
  2. h.264视频文件封装
  3. 开启 JM 的 trace 功能
  4. RBSP、SODB、EBSP三者的区别和联系 SPS: sequence parameter sets
  5. IntelliJ IDEA 详细图解最常用的配置
  6. HTTP 协议是无状态协议,怎么理解
  7. Docker 容器 和 虚拟机 的异同
  8. 不作35岁的程序员?
  9. shell编程 之 test命令
  10. 【SCOI2005】【BZOJ1087】互不侵犯King(状压dp)