faker.providers.color

class faker.providers.color.Provider(generator: Any)

基类: BaseProvider

实现 Faker 的默认颜色提供程序。

color(hue: str | float | int | Sequence[int] | None = None, luminosity: str | None = None, color_format: str = 'hex') str

以人性化的方式生成颜色。

在底层,此方法首先创建一个以 HSV 颜色模型表示的颜色,然后将其转换为所需的 color_format。参数 hue 根据以下规则控制 H 值:

  • 如果值是介于 0360 之间的数字,它将用作生成颜色的 H 值。

  • 如果值是介于 0 到 360 之间的两个数字的元组/列表,则颜色的 H 值将从该范围中随机选择。

  • 如果值是有效的字符串,则颜色的 H 值将从与所提供字符串对应的 H 范围中随机选择。有效值包括 'monochrome''red''orange''yellow''green''blue''purple''pink'

参数 luminosity 影响 S 和 V 值,并且部分受 hue 的影响。这种关系的具体细节有些复杂,如果您想深入了解,请参考源代码。为了保持接口简单,此参数可以省略,也可以接受以下字符串值:'bright''dark''light''random'

参数 color_format 控制颜色以哪种颜色模型表示。有效值包括 'hsv''hsl''rgb''hex'(默认值)。

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color(hue='red')
...
'#af2f33'
'#e02141'
'#ef6466'
'#a80a14'
'#ed9e95'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color(luminosity='light')
...
'#79c3e0'
'#89ffa1'
'#96cbf7'
'#aafaff'
'#e3f495'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color(hue=(100, 200), color_format='rgb')
...
'rgb(26, 155, 88)'
'rgb(9, 193, 49)'
'rgb(73, 229, 154)'
'rgb(107, 249, 166)'
'rgb(76, 204, 69)'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color(hue='orange', luminosity='bright')
...
'#efc332'
'#edae65'
'#d1861d'
'#ffcc42'
'#e09533'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color(hue=135, luminosity='dark', color_format='hsv')
...
'hsv(135, 96, 45)'
'hsv(135, 98, 57)'
'hsv(135, 94, 61)'
'hsv(135, 99, 47)'
'hsv(135, 94, 50)'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color(hue=(300, 20), luminosity='random', color_format='hsl')
...
'hsl(217, 94, 27)'
'hsl(40, 23, 54)'
'hsl(268, 100, 74)'
'hsl(175, 43, 31)'
'hsl(131, 47, 11)'
color_hsl(hue: str | float | int | Sequence[int] | None = None, luminosity: str | None = None) Tuple[int, int, int]

生成一个 HSL 颜色元组。

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color_hsl()
...
(197, 57, 32)
(132, 90, 39)
(207, 76, 65)
(183, 88, 33)
(258, 62, 73)
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color_hsl(hue='red', luminosity='dark')
...
(358, 92, 27)
(350, 96, 33)
(359, 88, 36)
(356, 98, 28)
(6, 85, 34)
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color_hsl(hue=(100, 200), luminosity='random')
...
(149, 94, 27)
(105, 23, 54)
(162, 100, 74)
(138, 43, 31)
(174, 19, 55)
color_hsv(hue: str | float | int | Sequence[int] | None = None, luminosity: str | None = None) Tuple[int, int, int]

生成一个 HSV 颜色元组。

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color_hsv()
...
(197, 73, 51)
(132, 95, 76)
(207, 58, 92)
(183, 94, 64)
(258, 37, 90)
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color_hsv(hue='red', luminosity='dark')
...
(358, 96, 53)
(350, 98, 66)
(359, 94, 68)
(356, 99, 56)
(6, 92, 63)
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color_hsv(hue=(100, 200), luminosity='random')
...
(149, 97, 53)
(105, 33, 65)
(162, 51, 100)
(138, 61, 45)
(174, 27, 64)
color_name() str

生成一个颜色名称。

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color_name()
...
'OliveDrab'
'PeachPuff'
'BlueViolet'
'LightGoldenRodYellow'
'Teal'
color_rgb(hue: str | float | int | Sequence[int] | None = None, luminosity: str | None = None) Tuple[int, int, int]

生成一个整数 RGB 颜色元组。

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color_rgb()
...
(35, 103, 130)
(9, 193, 46)
(98, 173, 234)
(9, 155, 163)
(170, 144, 229)
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color_rgb(hue='red', luminosity='dark')
...
(135, 5, 9)
(168, 3, 30)
(173, 10, 13)
(142, 1, 10)
(160, 27, 12)
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color_rgb(hue=(100, 200), luminosity='random')
...
(4, 135, 67)
(124, 165, 111)
(124, 255, 215)
(44, 114, 65)
(119, 163, 158)
color_rgb_float(hue: str | float | int | Sequence[int] | None = None, luminosity: str | None = None) Tuple[float, float, float]

生成一个浮点数 RGB 颜色元组。

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color_rgb_float()
...
(0.13770000000000002, 0.4045149999999999, 0.51)
(0.038000000000000034, 0.76, 0.18239999999999984)
(0.3864000000000001, 0.6798800000000002, 0.92)
(0.03840000000000004, 0.6099200000000001, 0.64)
(0.6668999999999999, 0.5670000000000001, 0.9)
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color_rgb_float(hue='red', luminosity='dark')
...
(0.53, 0.02120000000000002, 0.03815999999999998)
(0.66, 0.013200000000000012, 0.12100000000000023)
(0.68, 0.04080000000000004, 0.05145333333333333)
(0.56, 0.005600000000000005, 0.042559999999999855)
(0.63, 0.10835999999999996, 0.05039999999999997)
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.color_rgb_float(hue=(100, 200), luminosity='random')
...
(0.015900000000000015, 0.53, 0.2643816666666667)
(0.489125, 0.65, 0.43549999999999994)
(0.49, 1.0, 0.8470000000000001)
(0.17550000000000002, 0.45, 0.2578500000000001)
(0.4672, 0.64, 0.62272)
hex_color() str

生成一个十六进制三元组格式的颜色。

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.hex_color()
...
'#d82c08'
'#629f70'
'#c2094d'
'#e3e707'
'#6baa95'
rgb_color() str

生成一个逗号分隔的 RGB 值格式的颜色。

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.rgb_color()
...
'197,215,20'
'132,248,207'
'155,244,183'
'111,71,144'
'71,48,128'
rgb_css_color() str

生成一个 CSS rgb() 函数格式的颜色。

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.rgb_css_color()
...
'rgb(197,215,20)'
'rgb(132,248,207)'
'rgb(155,244,183)'
'rgb(111,71,144)'
'rgb(71,48,128)'
safe_color_name() str

生成一个网络安全颜色名称。

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.safe_color_name()
...
'aqua'
'teal'
'fuchsia'
'white'
'teal'
safe_hex_color() str

生成一个十六进制三元组格式的网络安全颜色。

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.safe_hex_color()
...
'#ccdd11'
'#88ffcc'
'#99ffbb'
'#664499'
'#443388'