base.py is a foundation for all sub-module in mbapy as mbapy is a multi-functional python package, it provides some uni-functional things including global configs, functions and classes. It will not provide some specific functional things but coding utils.
generated by cahtGPT
__NO_ERR__
:一个布尔值,表示是否禁用错误输出。_Params
:一个字典,包含一些参数的默认值。TimeCosts(runTimes: int = 1)
该装饰器函数用于计算函数的运行时间。
runTimes
:一个整数,表示函数运行的次数,默认值为1。示例:
:::python
@TimeCosts(9)
def f(idx, s):
return s+idx
print(f(8))
print(f(s=8))
autoparse(init)
该装饰器函数用于自动为__init__()
函数分配属性。
init
:一个函数,表示要装饰的__init__()
函数。示例:
:::python
@autoparse
def init(self, x):
# do something
rand_choose_times(choices_range: list[int] = [0,10], times: int = 100)
该函数生成一个在给定范围内的随机整数序列,并计算每个数字的频率。返回频率最高的数字。
choices_range
:一个包含两个整数的列表,表示范围的下限和上限,默认值为[0,10]
。times
:一个整数,表示生成随机序列的次数,默认值为100。rand_choose(lst: list, seed = None)
该函数从给定的列表中随机选择一个元素。
lst
:一个列表,表示要选择随机元素的列表。seed
:一个整数,表示用于随机数生成的种子值,默认值为None
。put_err(info: str, ret = None)
该函数用于输出错误信息。
info
:一个字符串,表示错误信息。ret
:任意类型,表示返回值,默认值为None
。put_log(info: str, head = "log", ret = None)
该函数用于输出日志信息。
info
:一个字符串,表示日志信息。head
:一个字符串,表示日志头,默认值为"log"。ret
:任意类型,表示返回值,默认值为None
。get_time(chr: str = ':') -> str
该函数返回当前时间的字符串表示形式,可以用给定的字符替换标准的冒号分隔符。
chr
:一个字符串,表示要替换的冒号分隔符,默认值为":"。get_default_for_None(x, default)
当输入值为None
时,返回默认值。
x
:任意类型,表示要检查的输入值。default
:任意类型,表示如果x
为None
时要返回的默认值。None
),否则为默认值。get_wanted_args(default_args: dict, kwargs: dict, del_kwargs = True)
获取所需的参数。
default_args
:一个包含默认值的字典,表示所需参数的默认值。kwargs
:一个字典,表示传递给函数的关键字参数。del_kwargs
:一个布尔值,表示是否删除传递给函数的关键字参数,默认值为True
。split_list(lst: list, n = 1, drop_last = False)
将列表分割为子列表。
lst
:一个列表,表示要分割的列表。n
:一个整数,表示每个子列表的长度,默认值为1。drop_last
:一个布尔值,表示当最后一个子列表的长度小于n
时是否删除最后一个子列表,默认值为False
。MyArgs
该类用于处理参数。
__init__(self, args: dict) -> None
:初始化方法,接受一个字典作为参数。get_args(self, args: dict, force_update = True, del_origin = False)
:获取参数的方法。add_arg(self, arg_name: str, arg_value, force_update = True)
:添加参数的方法。toDict(self)
:将参数转换为字典的方法。import module_name
# 使用TimeCosts装饰器计算函数运行时间
@module_name.TimeCosts(9)
def f(idx, s):
return s+idx
print(f(8))
print(f(s=8))
# 使用autoparse装饰器自动分配属性
@module_name.autoparse
def __init__(self, x):
# do something
# 生成随机整数序列并计算频率
result = module_name.rand_choose_times(choices_range=[0, 10], times=100)
print(result)
# 从列表中随机选择一个元素
lst = [1, 2, 3, 4, 5]
result = module_name.rand_choose(lst)
print(result)
# 输出错误信息
module_name.put_err("This is an error message")
# 输出日志信息
module_name.put_log("This is a log message")
# 获取当前时间的字符串表示形式
result = module_name.get_time(chr="-")
print(result)
# 当输入值为None时,返回默认值
result = module_name.get_default_for_None(None, "default")
print(result)
# 获取所需的参数
default_args = {"arg1": 1, "arg2": 2}
kwargs = {"arg2": 3, "arg3": 4}
result = module_name.get_wanted_args(default_args, kwargs)
print(result)
# 将列表分割为子列表
lst = [1, 2, 3, 4, 5, 6]
result = module_name.split_list(lst, n=2, drop_last=True)
print(result)
# 使用MyArgs类处理参数
args = {"arg1": 1, "arg2": 2}
my_args = module_name.MyArgs(args)
print(my_args.toDict())