As others have mentioned, the documentation is clear in regard to this aspect, you can further verified by setting the seed before each call, for example:
import random
random.seed(42)
print([random.choices([0, 1], weights=[0.2, 0.8], k=1)[0] for i in range(0, 10)])
random.seed(42)
print(random.choices([0, 1], weights=[0.2, 0.8], k=10))
Output
[1, 0, 1, 1, 1, 1, 1, 0, 1, 0]
[1, 0, 1, 1, 1, 1, 1, 0, 1, 0]
Furthermore setting just once, does leads to different results, as one might expect:
random.seed(42)
print([random.choices([0, 1], weights=[0.2, 0.8], k=1)[0] for i in range(0, 10)])
print(random.choices([0, 1], weights=[0.2, 0.8], k=10))
Output
[1, 0, 1, 1, 1, 1, 1, 0, 1, 0]
[1, 1, 0, 0, 1, 1, 1, 1, 1, 0]