反射进阶 内置方法

1. 反射当前模块成员

import sys
def s1():
    print ('s1')
def s2():
    print ('s2')
this_module = sys.modules[__name__]     #sys.modules[__name__]  全局的空间
print(hasattr(this_module, 's1'))           判断s1是否在全局          
print(getattr(this_module, 's2')())         执行全局中的s2函数

%s和%r

class B:
    def __str__(self):
        return 'str : class B'
    def __repr__(self):
        return 'repr : class B'
b = B()
print('%s' % b)      %s ⇒ str(),比较智能; 
print('%r' % b)        %r ⇒ repr(),处理较为简单和直接;
在进行格式化输出时,%r 与 %s 的区别就好比 repr() 函数处理对象与 str() 函数处理对象的差别。

例:

s = 'world'
print('hello %s'%s)     # hello world
print('hello %r'%s)        # hello 'world

内置方法

1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值