Python---反射ttr

原创 2018年04月16日 10:00:50

反射:通过字符串映射或修改程序运行时的状态,属性,方法。

4个函数:getattr(),hasattr(),setattr(),delattr()

用法如下:

def bulk(self):
    print("%s is yelling"%self.name)
class Dog(object):
    def __init__(self,name):
        self.name=name
    def eat(self,food):
        print("%s is eating"%self.name,food)
d=Dog("Sun")
choice=input(">>:").strip()  #choice为字符串形式
#print(hasattr(d,choice))    #hasattr(obj,name_str)判断一个对象obj里是否有name_str方法
if hasattr(d,choice):
    delattr(d,choice)    #delattr(obj,name_str)  删除obj对象中的name_str属性
    func = getattr(d,choice)  #getattr(obj,name_str)获取对象objname_str方法的内存地址(如果有)
    #print(func)
    setattr(d,choice,"Xiao")   #改名
    #func("HEHE")   #func就相当于eat
else:
    # setattr(d,choice,bulk)   #setattr(obj,name_str1,name_str2)把位于obj对象外的name_str2方法加进obj对象中(动态装一个方法)  obj.name_str1=name_str2
    # d.talk(d)   #talkname_str1
    # print(d.name)
    # setattr(d,choice,None)   #动态装一个静态属性 d.choice=None
    # print(getattr(d,choice))
    setattr(d,choice,150000)
    print(getattr(d,choice))  #getattr(d,choice)如果是一个方法,则返回内存地址;如果是一个不存在的静态属性,则直接返回值)
print(d.name)   #改名测试
d.eat("Monkey")

迭代器生成器和yield单线程并发实现

迭代器是访问集合元素的一种方式。实现是next()方法# coding:utf-8a = iter([1,2,3])print(a)try:    print(a.__next__())    pri...
  • runner668
  • runner668
  • 2018-03-28 11:33:54
  • 40

<30>python学习笔记——生成器

列表生成式 [ 函数或运算方法  for   元素   in   可迭代对象 ] 列表生成式依次将元素带入函数或运算方法中进行操作,并依次返回值 示例1: [i*2 for i in range(10...
  • xiexiecm
  • xiexiecm
  • 2017-03-09 16:31:26
  • 97

《Python-yield的简单练习》---yield实现单线程下的并行

主要练习yield的使用,理解其作用。代码实现#!/usr/bin/env python #-*- coding: utf-8 -*-""" @author: 烽火 @license: Apache ...
  • w695050167
  • w695050167
  • 2017-07-06 10:44:30
  • 227

python(四)上:列表生成式、生成器、迭代器和内置函数

目录列表生成式 生成器 迭代器一、列表生成式列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。 举个例子,要生成list [1...
  • fgf00
  • fgf00
  • 2016-08-19 17:35:02
  • 2165

R语言TTR包的安装

R语言是一门统计语言,主要用于数学建模、统计计算、数据处理、可视化 等几个方向,R语言天生就不同于其他的编程语言。R语言封装了各种基础学科的计算函数,我们在R语言编程的过程中只需要调用这些计算函数,就...
  • hongweigg
  • hongweigg
  • 2015-04-23 15:23:11
  • 4647

R语言——TTR包

ADX:对应股票中的DMI指标,趋向指标 ATR:真实波幅 CCI:顺势指标 CLV:收盘价相对位置       [(收盘价-最低价)-(最高价-收盘价)]/(最高价-最低价) CMF:蔡金现金流,...
  • troubleisafriend
  • troubleisafriend
  • 2015-08-26 19:01:48
  • 3766

基础4

本节内容 迭代器&生成器装饰器json & pickle数据序列化软件目录结构规范 列表生成式,迭代器&生成器 列表生成式 >>> a [1, 2, 3, 4, 5, 6, ...
  • LWL_WLiang
  • LWL_WLiang
  • 2017-05-20 21:13:02
  • 99

并发

第21章 并发 前面所学习的都是有关顺序编程的知识:程序中的所有事物在任意时刻都只能执行一个步骤。然而,对于某些问题,能够并行地执行程序中的多个部分则是非常必要的。 本章主要介绍并发的基本知识,使...
  • qq_26122707
  • qq_26122707
  • 2017-01-30 13:49:19
  • 102

机器学习---分类模型评估ROC

1.假设如下:2.两个指标(1)ROC曲线 TPR(ture-pos-rt)=TP/(TP+FN) #正样本召回率,也是正类分对的概率 FPR(false-pos-rt)=FP/(FP+TN) ...
  • zhouwenyuan1015
  • zhouwenyuan1015
  • 2017-03-28 20:24:33
  • 278

反射机制反射Dao 反射机制

  • 2011年06月17日 12:28
  • 26KB
  • 下载
收藏助手
不良信息举报
您举报文章:Python---反射ttr
举报原因:
原因补充:

(最多只允许输入30个字)