码迷,mamicode.com
首页 > 编程语言 > 详细

Python_day6_反射_正则表达式之篇

时间:2016-06-12 01:43:38      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

一、反射

  定义:利用字符串形式去对象(模块)中操作(寻找/检查/删除/设置)成员

  #getattr:获取模块中属性

  #hasattr:检查模块中是否存在某个成员(函数)

  #delattr:删除模块中成员

  #setattr:设置某块中

  一般常用反射模式:

import fanshe_commons   #导入访问函数的模块【fanshe_commons模块中设置有login,logout,home等函数】

def run():
	inp = input("请输入访问URL:")
	if inp == ‘login‘:  #
		fanshe_commons.login()  #调用fanshe_commons模块中login函数,当输入输入URL为login时,执行login函数,此时比忘记执行函数要带login()
	elif inp == ‘logout‘:
		fanshe_commons.logout()
	elif inp == ‘home‘:
		fanshe_commons.home()
	else:
		print("404")
if __name__ == ‘__main__‘:  #if __name__ == ‘__main__‘表示只在当前模块执行主函数
	run()

  反射阶级02:

hasattr:检查模块中是否存在某个成员(函数)
#getattr:获取模块中属性
import  fanshe_commons  ##导入访问函数的模块  fanshe_commons某块中含有login,logout,home函数

def run():
	inp =input("请输入要访问的URL:")#inp属于一个字符串,那么fanshe_commons.inp() != fanshe_commons.login()
	if hasattr(fanshe_commons,inp): # #hasattr:检查模块中是否存在某个成员(函数)
		func = getattr(fanshe_commons,inp) #getattr:获取模块中属性
		func()
	else:
		print("404")
if __name__ == ‘__main__‘:
	run()

   反射阶级03:

  应用“_import_”方法:可以对多个模块中的方法进行调用,不需挨个挨个通过import导入某块

  格式:#模块/方法

import  fanshe_commons  ##导入访问函数的模块  fanshe_commons某块中含有login,logout,home函数
def run():
	#commons/login     注意:在输出方式也需要按照“某块/方法”进行
	inp =input("请输入要访问的URL:")#inp属于一个字符串,那么fanshe_commons.inp() != fanshe_commons.login()
	m,f = inp.split(‘/‘)  #将mn比作为一个模块,f为这个模块下的函数或者成员
	obj = __import__(m)   #将模赋值给一个值
	if hasattr(obj,f): # #hasattr:检查模块中是否存在某个成员(函数)
		func = getattr(obj,f) #getattr:获取模块中属性
		func()
	else:
		print("404")
if __name__ == ‘__main__‘:
	run()

  技术分享

  阶级04:在不同的文件夹中导入函数

  # obj = __import__("lib."+m,fromlist=True)  #导入两个不同的文件夹中的函数
import  fanshe_commons  ##导入访问函数的模块  fanshe_commons某块中含有login,logout,home函数
def run():
	#commons/login     注意:在输出方式也需要按照“某块/方法”进行
	inp =input("请输入要访问的URL:")#inp属于一个字符串,那么fanshe_commons.inp() != fanshe_commons.login()
	m,f = inp.split(‘/‘)  #将mn比作为一个模块,f为这个模块下的函数或者成员
	# obj = __import__(m)   #将模赋值给一个值
	obj = __import__("lib."+m,fromlist=True)  #导入两个不同的文件夹中的函数
	if hasattr(obj,f): # #hasattr:检查模块中是否存在某个成员(函数)
		func = getattr(obj,f) #getattr:获取模块中属性
		func()
	else:
		print("404")
if __name__ == ‘__main__‘:
	run()

  扩展

  几种常见的导入模块方式有:

  A:import XXX模块

  B: from xxx文件夹 import +方法

  C:obj = _import_("模块")

  D:obj = _import_("文件夹.oo.xx",fromlist=True)

二、正则表达式

三、

Python_day6_反射_正则表达式之篇

标签:

原文地址:http://www.cnblogs.com/lcj0703/p/5576094.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!