fish_random 随机数据生成函数包

fish_random.gen_random_address(zone) 通过省份行政区划代码,返回该省份的随机地址
fish_random.get_random_areanote(zone) 省份行政区划代码,返回下辖的随机地区名称
fish_random.gen_random_bankcard([bank_name, …]) 通过指定的银行名称,随机生成该银行的卡号
fish_random.gen_random_company_name() 随机生成一个公司名称
fish_random.gen_random_float(minimum, maximum) 指定一个浮点数范围,随机生成并返回区间内的一个浮点数,区间为闭区间 受限于 random.random 精度限制,支持最大 15 位精度
fish_random.gen_random_idcard([zone, …]) 根据指定的省份编号、性别或年龄,随机生成一个身份证号
fish_random.gen_random_mobile() 随机生成一个手机号
fish_random.gen_random_name([family_name, …]) 指定姓氏、性别、长度,返回随机人名,也可不指定生成随机人名
fish_random.gen_random_str(min_length, …) 指定一个前后缀、字符串长度以及字符串包含字符类型,返回随机生成带有前后缀及指定长度的字符串

fish_random 包含的是一些生成随机值的函数。

fish_random.gen_random_address(zone)

通过省份行政区划代码,返回该省份的随机地址

Param:
  • zone: (string) 省份行政区划代码 比如 ‘310000’
Returns:

  • random_addr: (string) 省份下辖随机地区名称

举例如下:

print('--- gen_address demo ---')
print(gen_random_address('310000'))
print('---')

输出结果:

--- gen_address demo ---
上海市卢湾区陵县支街918号
---
fish_random.gen_random_bankcard(bank_name=None, card_type=None)

通过指定的银行名称,随机生成该银行的卡号

Param:
  • bank_name: (string) 银行名称 eg. 中国银行
  • card_type:(string) 卡种类,可选 CC(信用卡)、DC(借记卡)
Returns:

  • bankcard_number: (string) 随机生成的银行卡卡号

举例如下:

print('--- gen_random_bankcard demo ---')
print(gen_random_bankcard())
print(gen_random_bankcard('中国银行', 'CC'))
print(gen_random_bankcard('中国银行', 'DC'))
print('---')

输出结果:

--- gen_random_bankcard demo ---
6282689914390956
6259073791134721
6212836989522229131
---
fish_random.gen_random_company_name()

随机生成一个公司名称

Returns:
  • company_name: (string) 银行名称

举例如下:

print('--- gen_random_company_name demo ---')
print(gen_random_company_name())
print('---')

输出结果:

--- gen_random_company_name demo ---
上海大升旅游质询有限责任公司
---
fish_random.gen_random_float(minimum, maximum, decimals=2)

指定一个浮点数范围,随机生成并返回区间内的一个浮点数,区间为闭区间 受限于 random.random 精度限制,支持最大 15 位精度

Param:
  • minimum: (float) 浮点数最小取值
  • maximum: (float) 浮点数最大取值
  • decimals: (int) 小数位数,默认为 2 位
Returns:

  • random_float: (float) 随机浮点数

举例如下:

print('--- gen_random_float demo ---')
print(gen_random_float(1.0, 9.0))
print(gen_random_float(1.0, 9.0, decimals=10))
print(gen_random_float(1.0, 9.0, decimals=20))
print('---')

执行结果:

--- gen_random_float demo ---
6.08
6.8187342239
2.137902497554043
---
fish_random.gen_random_idcard(zone=None, gender=None, age=None, birth_year=None, result_type='SINGLE_STR')

根据指定的省份编号、性别或年龄,随机生成一个身份证号

Param:
  • zone: (string) 省份编号 eg. 310000, 默认 None: 随机
  • gender:(string) 性别 “01” 男性, “00” 女性, 默认 None: 随机
  • age:(int) 年龄 默认 None:随机最大年龄100岁
  • result_type: (string) 返回结果数量类型,默认值 ‘SINGLE_STR’,表示随机返回一个身份证号,可选 ‘LIST’,返回一个随机身份证列表,包含 20 个随机身份证号
Returns:

  • idcard_list: (list) 随机生成的身份证号组成的列表

举例如下:

print('--- gen_random_idcard demo ---')
print(gen_random_idcard('310000'))
print(gen_random_idcard('310000', age=100))
print(gen_random_idcard('310000', age=100, birth_year=1990))
print(gen_random_idcard('310000', age=30, gender='00'))
print(gen_random_idcard(age=30, gender='01', result_type='LIST'))
print('---')

输出结果:

--- gen_random_idcard demo ---
['310108194005039404']
['310225192009222639']
['310114199505252156']
['310102199001126142']
['412822199003256855', '411330199011239176', '410102199011165210', '410328199012105337', ...
---
fish_random.gen_random_mobile()

随机生成一个手机号

Returns:
  • str: (string) 手机号

举例如下:

print('--- gen_random_mobile demo ---')
print(gen_random_mobile())
print(gen_random_mobile())
print('---')

执行结果:

--- gen_random_mobile demo ---
16706146773
14402633925
---
fish_random.gen_random_name(family_name=None, gender=None, length=None)

指定姓氏、性别、长度,返回随机人名,也可不指定生成随机人名

Param:
  • family_name: (string) 姓
  • gender: (string) 性别 “01” 男性, “00” 女性, 默认 None: 随机
  • length: (int) 大于等于 2 小于等于 10 的整数, 默认 None: 随机 2 或者 3
Returns:

  • full_name: (string) 随机人名

举例如下:

print('--- gen_random_name demo ---')
print(gen_random_name())
print(gen_random_name("赵","01", 3))
print('---')

执行结果:

--- gen_random_name demo ---
师艺
赵群腾
---
fish_random.gen_random_str(min_length, max_length, prefix=None, suffix=None, has_letter=True, has_digit=False, has_punctuation=False)

指定一个前后缀、字符串长度以及字符串包含字符类型,返回随机生成带有前后缀及指定长度的字符串

Param:
  • min_length: (int) 字符串最小长度
  • max_length: (int) 字符串最小长度
  • prefix: (string) 字符串前缀
  • suffix: (string) 字符串后缀
  • has_letter: (bool) 字符串时候包含字母,默认为 True
  • has_digit: (bool) 字符串是否包含数字,默认为 False
  • has_punctuation: (bool) 字符串是否包含标点符号,默认为 False
Returns:

  • random_str: (string) 指定规则的随机字符串

举例如下:

print('--- gen_random_str demo ---')
print(gen_random_str(5, 7))
print(gen_random_str(5, 7, prefix='FISHBASE_'))
print(gen_random_str(5, 7, prefix='FISHBASE_', suffix='.py'))
print(gen_random_str(5, 7, has_digit=True, has_punctuation=True))
print(gen_random_str(5, 7, prefix='FISHBASE_', has_digit=True, has_punctuation=True))
print('---')

执行结果:

--- gen_string_by_range demo ---
q4uo6E8

FISHBASE_8uCBEUH

FISHBASE_D4wRX2.py

FISHBASE_65nqlNs

FISHBASE_3"uFm$s
---
fish_random.get_random_areanote(zone)

省份行政区划代码,返回下辖的随机地区名称

Param:
  • zone: (string) 省份行政区划代码 比如 ‘310000’
Returns:

  • random_areanote: (string) 省份下辖随机地区名称

举例如下:

print('--- fish_data get_random_areanote demo ---')
print(get_random_areanote(310000))
print('---')

输出结果:

--- fish_data get_random_areanote demo ---
徐汇区
---