3.3. Typing LiteralString
Since Python 3.11: PEP 675 -- Arbitrary Literal String Type
3.3.1. SetUp
>>> from typing import LiteralString
3.3.2. Solution
>>> def execute(sql: LiteralString):
... ...
>>>
>>> username = 'alice'
>>>
>>>
>>> execute('SELECT * FROM users WHERE login="alice"') # ok
>>> execute('SELECT * FROM users WHERE login=' + username) # ok
>>> execute('SELECT * FROM users WHERE login=%s' % username) # error
>>> execute('SELECT * FROM users WHERE login=%(login)s' % {'login': username}) # error
>>> execute('SELECT * FROM users WHERE login={}'.format(username)) # error
>>> execute('SELECT * FROM users WHERE login={0}'.format(username)) # error
>>> execute('SELECT * FROM users WHERE login={login}'.format(login=username)) # error
>>> execute(f'SELECT * FROM users WHERE login={username}') # error