Add an optional seed parameter for Colour.random

This commit is contained in:
Maselkov 2021-03-28 12:28:35 +02:00 committed by GitHub
parent 8657edfc99
commit baa1ab058b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -119,7 +119,7 @@ class Colour:
return cls(0)
@classmethod
def random(cls):
def random(cls, *, seed=None):
"""A factory method that returns a :class:`Colour` with a random hue.
.. note::
@ -128,8 +128,16 @@ class Colour:
with maxed out saturation and value.
.. versionadded:: 1.6
Parameters
------------
seed: Optional[Union[:class:`int`, :class:`str`, :class:`float`, :class:`bytes`, :class:`bytearray`]]
The seed to initialize the RNG with. If ``None`` is passed the default RNG is used.
.. versionadded:: 1.7
"""
return cls.from_hsv(random.random(), 1, 1)
rand = random if seed is None else random.Random(seed)
return cls.from_hsv(rand.random(), 1, 1)
@classmethod
def teal(cls):