a = ' '
b = ' '
a is b
True
a = 'abc'
b = 'abc'
a is b
True
a = 'ab c'
b = 'ab c'
a is b
False
a = 'abc '
b = 'abc '
a is b
False
a = ' '
b = ' '
a is b
False
a = 'e' * 20
b = 'e' * 20
a is b
True
a = 'e' * 21
b = 'e' * 21
a is b
False
切片实现字符串逆序
描述符 实现__get__, set, __delete__的类为描述符类
class Positive:
def __init__(self, name):
self._name = name
def __get__(self, instance, owner):
print('--get--')
return instance.__dict__[self._name]
def __set__(self, instance, value):
print('--set--', value)
if value < 0:
raise ValueError('not less than zero')
instance.__dict__[self._name] = value
def __delete__(self, instance):
del instance.__dict__[self._name]
class Person:
age = Positive('age')
def __init__(self, name, age):
self.name = name
self.age = age
person = Person('Trump', 32)
person2 = Person('James', 65)
print(person.name, person.age)
print(person2.name, person2.age)