b = a[:3]
примет 3 первых символа строки
b = a[:15]
не сделает ошибку (не уверен на python2)
c = a[-3:]
для последних 3 символов
Но вы все равно можете переопределить (наследовать) строковый тип
class MySuperString(str):
def left(self, num_char):
return self[:num_char]
a = MySuperString('plop')
b = a.left(3)
, например, см. http://www.nomadiccodemonkey.com/?p=590
edit:
if isinstance(a, str):
не будетработать больше, используйте это вместо:
if issubclass(a, str):
или, естественно, это:
if isinstance(a, MySuperString):
шутка по-французски: et ça marche même si tu mets des SuperSlip!