Есть несколько способов проверить тип переменной. Во-первых, вы можете проверить, если параметр является экземпляром str
:
def isstring(parameter):
return isinstance(parameter, str)
Другой способ мог бы попытаться объединить строку (в данном случае ""
) с параметром и уловом в конечном итоге исключений (TypeError
исключение):
def isstring(parameter):
try:
parameter += ""
return True
except TypeError:
return False
Другой способ мог бы использовать type
(по аналогии с isinstance
, но разница в основном, когда полиморфизм участвует):
def isstr(parameter):
return type(parameter) == str
Вы также можете использовать assert
, но если вы хотите просто проверить, имеет ли параметр определенный тип, я бы принял первый случай.
Это не будет. Операция 'string +" A "' будет успешной, если это возможно, иначе она не будет. ('string' не обязательно должна быть строкой для успеха.) Непонятно, что вы здесь задаете. Почему вы хотите, чтобы функция «знала», что вы передаете в строке? – BrenBarn