栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python 获取导入python文件中定义的函数以及函数参数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 获取导入python文件中定义的函数以及函数参数

utils类
#!/usr/bin/env python3
# -*- coding:utf-8 -*-


def test1(age, name):
    other = age
    print(other)
    print(age, name)


def test2(age, name, grade):
    print(age, name, grade)

获取utils类中的方法
import utils

# 获取所有方法
print(dir(utils))
# 过滤掉内置方法
print([item for item in dir(utils) if not (item.startswith("__") and item.endswith("__"))])

[‘builtins’, ‘cached’, ‘doc’, ‘file’, ‘loader’, ‘name’, ‘package’, ‘spec’, ‘test1’, ‘test2’]
[‘test1’, ‘test2’]

获取utils.test1中的参数个数
import utils

print(utils.test1.__code__.co_argcount)

print(getattr(utils, 'test1').__code__.co_argcount)

2
2

获取utils.test1中的所有使用的参数
import utils

print(utils.test1.__code__.co_varnames)

print(getattr(utils, 'test1').__code__.co_varnames)

(‘age’, ‘name’, ‘other’)
(‘age’, ‘name’, ‘other’)

获取utils.test1函数中定义的参数
import utils

count = utils.test1.__code__.co_argcount
print(utils.test1.__code__.co_varnames[0: count])

count2 = getattr(utils, 'test1').__code__.co_argcount
print(getattr(utils, 'test1').__code__.co_varnames[0:count])

(‘age’, ‘name’)
(‘age’, ‘name’)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/325958.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号