python进阶(三) 内建函数getattr工厂模式
原型:getattr(对象,方法名)
#coding=utf-8 class pyMethod(object):
def outstr(self):
print('this is string') def outint(self):
print('this is number') def outdate(self):
print('this is date') if __name__=="__main__":
str = 'int'
getattr(pyMethod(),'out%s'%str)()
str = 'str'
getattr(pyMethod(),'out%s'%str)()
str = 'date'
getattr(pyMethod(),'out%s'%str)()
getattr(pyMethod(),'out%s'%str)() 注意pyMethod()和最后的() 这里之所以这么写pyMethod()加括号是实例化类对象,最后的括号,因为getattr函数反射后,是一个方法对象。
运行结果:
C:\Python27\python.exe D:/weixin/python_getattr.py
this is number
this is string
this is date Process finished with exit code 0
Linux and python学习交流1,2群已满.
Linux and python学习交流3群新开,欢迎加入,一起学习.qq 3群:563227894
不前进,不倒退,停止的状态是没有的.
一起进步,与君共勉,
python进阶(三) 内建函数getattr工厂模式的更多相关文章
- PHP设计模式(三)抽象工厂模式(Abstract Factory For PHP)
一.什么是抽象工厂模式 抽象工厂模式的用意为:给客户端提供一个接口,可以创建多个产品族中的产品对象 ,而且使用抽象工厂模式还要满足以下条件: 系统中有多个产品族,而系统一次只可能消费其中一族产品. 同 ...
- Java设计模式(三) 抽象工厂模式
原创文章,同步发自作者个人博客,转载请注明出处 http://www.jasongj.com/design_pattern/abstract_factory/ 抽象工厂模式解决的问题 上文<工厂 ...
- Python进阶(三十五)-Fiddler命令行和HTTP断点调试
Python进阶(三十五)-Fiddler命令行和HTTP断点调试 一. Fiddler内置命令 上一节(使用Fiddler进行抓包分析)中,介绍到,在web session(与我们通常所说的se ...
- PHP设计模式(三)抽象工厂模式(Abstract Factory)
一.什么是抽象工厂模式 抽象工厂模式的用意为:给客户端提供一个接口,可以创建多个产品族中的产品对象 ,而且使用抽象工厂模式还要满足以下条件: 系统中有多个产品族,而系统一次只可能消费其中一族产品. 同 ...
- Python进阶(三)----函数名,作用域,名称空间,f-string,可迭代对象,迭代器
Python进阶(三)----函数名,作用域,名称空间,f-string,可迭代对象,迭代器 一丶关键字:global,nonlocal global 声明全局变量: 1. 可以在局部作用域声明一 ...
- [python实现设计模式]-3.简单工厂模式-触宝开放平台
预备知识: 开放封闭原则(Open-Closed Principle OCP) Software entities(classes,modules,functions etc) should open ...
- Python进阶:设计模式之迭代器模式
在软件开发领域中,人们经常会用到这一个概念——“设计模式”(design pattern),它是一种针对软件设计的共性问题而提出的解决方案.在一本圣经级的书籍<设计模式:可复用面向对象软件的基础 ...
- python设计模式---创建型之工厂模式
# coding = utf-8 from abc import ABCMeta, abstractmethod # 简单工厂模式 class Animal(metaclass=ABCMeta): @ ...
- Java设计模式(三)简单工厂模式
定义与类型 定义:由一个工厂对象决定创建出哪一种产品类的实例 类型:创建型,但不属于GOF23种设计模式 适用场景 工厂类负责创建的对象比较少 客户端(应用层)只知道传入工厂类的参数,对于如何创建对象 ...
随机推荐
- git本地项目代码上传至码云远程仓库总结【转】
转载自 :https://blog.csdn.net/fox9916/article/details/78253714 git基本使用小结 之前公司的版本控制工具一直用的是svn,最近要改用git,之 ...
- org.hibernate.InvalidMappingException: Could not parse mapping document from无法创建sessionFactory
把 "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd" 改为 "http://hibernate.sourc ...
- phpstudy 500 Internal Server Error 解决办法
版本:phpstudy 2018 报错:500 Internal Server Error 原因:手动选择路径的时候,产生了斜杠不同 (正确:"D:/phpStudy/PHPTutoria ...
- js上传
有时候需要显示进度,这时候就需要做一些切割,具体上传代码如下: <!DOCTYPE HTML> <html lang="en-US"> <head&g ...
- ansible运维工具(二)
ansible playbook(二) 运行palybook时 要使用ansible-playbook命令 palybook执行任务的顺序是,在第一个主机上完成第一个任务,然后在第二个主机上完成第一个 ...
- iOS - 国内注册境外 Apple id 账号
注册前准备工作 需要手头MAC一台 AppStore下载VPN Plus FQ到美国(ipip.net 查看当前ip 是否是在境外 当前ip 在境外才可以哦) 动手搞起来 https://applei ...
- [ICLR'17] DEEPCODER: LEARNING TO WRITE PROGRAMS
DEEPCODER: LEARNING TO WRITE PROGRAMS Basic Information Authors: Matej Balog, Alexander L. Gaunt, Ma ...
- redis出现错误:NOAUTH Authentication required.
出现认证问题,应该是设置了认证密码,输入密码既可以啦 注意密码是字符串形式! 127.0.0.1:6379> auth "yourpassword" 127.0.0.1:63 ...
- C# IO流的操作(二)
文件在操作系统中是以二进制(01)的形式保存到磁盘上的,在C#程序当中,我们可以通过读取流将文件读取到byte[]当中(读到内存中),也可以通过写入流将byte[]写入文件(保存到磁盘上).下面将演示 ...
- linux/nginx命令
1.ps查看服务器所有的进程: -aux 显示所有状态 -ef 简洁信息 ps -aux | grep node 第二列是pid,杀掉程序使用kill. ps -ef | grep node 第一列是 ...