-
Notifications
You must be signed in to change notification settings - Fork 1
base
BHM-Bob edited this page Jul 1, 2023
·
3 revisions
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:一个字典,包含一些参数的默认值。
该装饰器函数用于计算函数的运行时间。
- 参数:
-
runTimes:一个整数,表示函数运行的次数,默认值为1。
-
- 返回值:装饰器函数。
- 示例:
@TimeCosts(9)
def f(idx, s):
return s+idx
print(f(8))
print(f(s=8))该装饰器函数用于自动为__init__()函数分配属性。
- 参数:
-
init:一个函数,表示要装饰的__init__()函数。
-
- 返回值:装饰器函数。
- 示例:
@autoparse
def __init__(self, x):
# do something该函数生成一个在给定范围内的随机整数序列,并计算每个数字的频率。返回频率最高的数字。
- 参数:
-
choices_range:一个包含两个整数的列表,表示范围的下限和上限,默认值为[0,10]。 -
times:一个整数,表示生成随机序列的次数,默认值为100。
-
- 返回值:一个整数,表示生成序列中频率最高的数字。
该函数从给定的列表中随机选择一个元素。
- 参数:
-
lst:一个列表,表示要选择随机元素的列表。 -
seed:一个整数,表示用于随机数生成的种子值,默认值为None。
-
- 返回值:任意类型,表示从列表中随机选择的元素。
该函数用于输出错误信息。
- 参数:
-
info:一个字符串,表示错误信息。 -
ret:任意类型,表示返回值,默认值为None。
-
- 返回值:任意类型,表示返回值。
该函数用于输出日志信息。
- 参数:
-
info:一个字符串,表示日志信息。 -
head:一个字符串,表示日志头,默认值为"log"。 -
ret:任意类型,表示返回值,默认值为None。
-
- 返回值:任意类型,表示返回值。
该函数返回当前时间的字符串表示形式,可以用给定的字符替换标准的冒号分隔符。
- 参数:
-
chr:一个字符串,表示要替换的冒号分隔符,默认值为":"。
-
- 返回值:一个字符串,表示当前时间的字符串表示形式。
当输入值为None时,返回默认值。
- 参数:
-
x:任意类型,表示要检查的输入值。 -
default:任意类型,表示如果x为None时要返回的默认值。
-
- 返回值:输入值(如果不为
None),否则为默认值。
获取所需的参数。
- 参数:
-
default_args:一个包含默认值的字典,表示所需参数的默认值。 -
kwargs:一个字典,表示传递给函数的关键字参数。 -
del_kwargs:一个布尔值,表示是否删除传递给函数的关键字参数,默认值为True。
-
- 返回值:一个包含所需参数的字典。
将列表分割为子列表。
- 参数:
-
lst:一个列表,表示要分割的列表。 -
n:一个整数,表示每个子列表的长度,默认值为1。 -
drop_last:一个布尔值,表示当最后一个子列表的长度小于n时是否删除最后一个子列表,默认值为False。
-
- 返回值:一个包含子列表的列表。
该类用于处理参数。
- 方法:
-
__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())