Menu

base

BHM-Bob G

Brief

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.

API文档

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:任意类型,表示如果xNone时要返回的默认值。
  • 返回值:输入值(如果不为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())

Related

Wiki: Home

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.