Lesson0402_GetatrrWebsite.py

#!/usr/bin/env/python
#-*-coding:utf-8-*- #Author:LingChongShi #查看源码Ctrl+左键 def index():
print('欢迎访问XX网站') def login():
print('登录成功') def logout():
print('退出登录') class People(object):
country='China'
def __init__(self):
pass
def people_info(self):
print('People类中people_info函数')
Lesson0403_Getattr.py
#!/usr/bin/env/python
#-*-coding:utf-8-*- #Author:LingChongShi #查看源码Ctrl+左键 '''
getattr():根据字符串的形式去某个模块中查找X函数
hasattr():根据字符串的形式去某个模块判断X函数是否存在
setattr():根据字符串的形式去某个模块设置X函数
delattr():根据字符串的形式去某个模块删除X函数
'''
import Lesson04_Package.Lesson0402_GetatrrWebsite
'''getattr(object,name,default):
1、object:对象(模块)
2、name:属性(函数/方法)
3、default:无对应属性,返回的值,
4、有对应属性,返回对象属性值
'''
getder=getattr(Lesson04_Package.Lesson0402_GetatrrWebsite,'index','-1')
print(getder)
getder() obj=Lesson04_Package.Lesson0402_GetatrrWebsite.People()
getclass=getattr(obj,'people_info','-1')
getclass() '''hasattr(object,name):
1、object:对象(模块)
2、name:属性(函数/方法)
3、如果对象有该属性返回True,否则返回False
'''
has=hasattr(Lesson04_Package.Lesson0402_GetatrrWebsite,'login')
print(has) obj=Lesson04_Package.Lesson0402_GetatrrWebsite.People()
hasclass=hasattr(obj,'people_info')
print(hasclass) '''setattr(object,name,value):
1、object:对象(模块)
2、name:属性(函数/方法)
3、value:属性值
4、无返回值
'''
set=setattr(Lesson04_Package.Lesson0402_GetatrrWebsite,'str','添加的字符串')
has1=hasattr(Lesson04_Package.Lesson0402_GetatrrWebsite,'str')
print(has1)
get1=getattr(Lesson04_Package.Lesson0402_GetatrrWebsite,'str')
print(get1) obj=Lesson04_Package.Lesson0402_GetatrrWebsite.People()
setclass=setattr(obj,'exit','退出')
hascalss=hasattr(obj,'exit')
print(hasclass) '''delattr(object,name):
1、object:对象(模块)
2、name:属性(函数/方法)
3、无返回值
'''
del1=delattr(Lesson04_Package.Lesson0402_GetatrrWebsite,'logout')
has2=hasattr(Lesson04_Package.Lesson0402_GetatrrWebsite,'logout')
print(has2)
# get2=getattr(Lesson04_Package.Lesson0402_GetatrrWebsite,'logout')
# print(get2) obj=Lesson04_Package.Lesson0402_GetatrrWebsite.People
hasclass=hasattr(obj,'people_info')
print(hasclass)
delclass=delattr(obj,'people_info')
hasclass=hasattr(obj,'people_info')
print(hasclass)

Python笔记【7】_反射getattr&hasattr&setattr&delattr的更多相关文章

  1. day28 反射 属性操作 getattr hasattr setattr delattr

    反射 用字符串来对应其同名的属性或者方法,通过某种方法调用这个字符串来执行方法或者获取属性 网络编程的时候非常好用,是很重要的内容 先看个示例吧: class Teather: dic = { &qu ...

  2. Python自动化运维之13、异常处理及反射(__import__,getattr,hasattr,setattr)

    一.异常处理 python异常: python的运行时错误称作异常 (1)语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译 (2)逻辑错误:由于不完整或不合法的输入所致,也可能是逻 ...

  3. (转)Python自动化运维之13、异常处理及反射(__import__,getattr,hasattr,setattr)

    原文:http://www.cnblogs.com/xiaozhiqi/p/5778856.html https://blog.csdn.net/zong596568821xp/article/det ...

  4. Python笔记(十七)_面向对象编程

    面向对象编程 概念:简称OOP,是一种程序设计思想:OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数 面向对象的设计思想:抽象出类class,根据类class创建实例对象instan ...

  5. Python笔记(六)_函数

    函数一般是从第一行代码开始执行,结束于return语句.异常.或者函数所有语句执行完毕.一旦函数将控制权交还给调用者,就意味着全部结束.函数中做的所有工作以及保存在局部变量中的数据都将丢失.再次调用这 ...

  6. Python笔记(四)_字符串的方法

    字符串的方法 []表示该参数时可选的,start和end参数表示范围 count(sub[, start[, end]]) 返回sub在字符串里边出现的次数 find(sub[, start[, en ...

  7. Python笔记(十一)_匿名函数与map()、filter()

    匿名函数 无需显式定义函数名,和函数过程,使代码更精简的lambda表达式 函数没有命名,不用担心函数名的冲突 冒号前面代表函数的参数,后面表示计算过程 >>>func=lambda ...

  8. Python笔记(十)_迭代器与生成器

    迭代 用for...in来遍历一个可迭代对象的过程就叫迭代 可迭代对象:列表.元组.字典.集合.字符串.生成器 可以使用内置函数isinstance()判断一个对象是否是可迭代对象 >>& ...

  9. Python笔记(九)_切片、列表生成式

    切片 mylist[:3] 取前3位元素,0可省略不写 mylist[-4:] 取后4位元素,0可省略不写 mylist[2:4] 从第2个开始取,取到第4个,但第4个不取,取的元素值为4-2=2 m ...

随机推荐

  1. 正交函数(orthogonal functions)

    a map is a function. 映射即函数: 1. 双线性映射与双线性形式 bilinear map 基于同一定义域,将两个向量空间(V,W)中的向量映射为第三个向量空间(X)的向量的函数: ...

  2. get与post一些特殊情况下

    p=574"> 文章已经迁移至http://androiddevelop.cn/?p=574 版权声明:本文博客原创文章.博客,未经同意,不得转载.

  3. Spring MVC专题

    Spring从3.1版本开始增加了ConfigurableEnvironment和PropertySource: ConfigurableEnvironment Spring的ApplicationC ...

  4. ASP .NET DropDownList多级联动事件

    思路 假如有三级省.市.区,先加载出所有省选择省之后,加载出该省所有市选择市之后,加载出该市所有区重新选择省,则清空市和区重新选择市,则清空区想好数据结构,不同的数据结构做法不同 例子 数据结构 pu ...

  5. WPF 视图导航

    <Window x:Class="ViewExam.MainWindow"        xmlns="http://schemas.microsoft.com/w ...

  6. wpf怎么使用WindowsFormsHost(即winform控件)

    原文:wpf怎么使用WindowsFormsHost(即winform控件) 使用方法: 1.首先,我们需要向项目中的引用(reference)中添加两个动态库dll,一个是.NET库中的System ...

  7. Cordova 教程地址

    原文:Cordova 教程地址 1.Cordova 官网 http://cordova.apache.org/ 2.Cordova插件库 for android http://cordova.apac ...

  8. mingw 构建 mysql-connector-c-6.1.9记录(26种不同的编译错误,甚至做了一个windows系统返回错误码与System V错误码的一个对照表)

    http://www.cnblogs.com/oloroso/p/6867162.html

  9. 在asp.net 中web.config配置错误页

    每当用户访问错误页面时,会出现不友好的错误页面,所以为了防止这种不友好,我们在web.config中的<system.web>节点下配置 <customErrors>,在出现比 ...

  10. window8 飘带与页面切换效果

    演示效果如下 用鼠标点击滑动试试就能看到效果了 ^_^ iscroll 不仅可以做到自然滚动条的效果,看官方文档还可以用来做页面切换的效果,很好很强大. 所以我结合流行的飘带元素做了个简单的例子.. ...