python 函数的几个属性 func_name, func_code等

直接见代码:

复制代码

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 # @Time    : 2018/07/25 10:14
 4 
 5 
 6 def add(x=0, y=1):
 7     """
 8     add input args x and y.
 9     :param x:
10     :param y:
11     :return: x + y
12     """
13     return x + y
14 
15 
16 if __name__ == '__main__':
17     print dir(add)
18     attr_name_list = [
19         'func_closure', 'func_code',
20         'func_defaults', 'func_dict',
21         'func_doc', 'func_globals',
22         'func_name'
23     ]
24     for attr_name in attr_name_list:
25         print attr_name.ljust(15), ':', getattr(add, attr_name)
26     print 'func_code_filename: ', add.func_code.co_filename

复制代码

 

结果如下:获取函数名称和文件位置:func_name, func_code.co_filename。

复制代码

 1 ['__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__doc__', '__format__', '__get__', '__getattribute__', '__globals__', '__hash__', '__init__', '__module__', '__name__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', 'func_globals', 'func_name']
 2 func_closure    : None
 3 func_code       : <code object add at 0000000001CEFE30, file "D:/Users/14/PycharmProjects/ias/shapan/test_func.py", line 6>
 4 func_defaults   : (0, 1)
 5 func_dict       : {}
 6 func_doc        : 
 7     add input args x and y.
 8     :param x:
 9     :param y:
10     :return: x + y
11     
12 func_globals    : {'__builtins__': <module '__builtin__' (built-in)>, '__file__': 'D:/Users/14/PycharmProjects/ias/shapan/test_func.py', 'attr_name': 'func_globals', '__package__': None, 'add': <function add at 0x0000000002615AC8>, 'attr_name_list': ['func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', 'func_globals', 'func_name'], '__name__': '__main__', '__doc__': None}
13 func_name       : add
14 func_code_filename:  D:/Users/14/PycharmProjects/ias/shapan/test_func.py

复制代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值