Normally language and datatype cant be set at the same time. This fails in this case:
from rdflib import *
L1 = Literal("example", datatype=XSD.string)
L2 = Literal(L1, lang="en")
print(repr(L2))
# rdflib.term.Literal('example', lang='en', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#string'))
In comparison setting it by hand Literal("example", lang="en", datatype=XSD.string) will result in an error.