Python 字符串的方法,Python 是面向对象进行编程的语言,而对象拥有各种功能、特性,专业术语称之为——方法(Method)。为了方便理解,我们假定日常生活中的车是“对象”,即car。然后众所周知,汽车有着很多特性和功能,其中”开”就是汽车一个重要功能,于是汽车这个对象使用“开”这个功能,我们在 Python 编程中就可以表述成这样:car.drive()
在理解了对象的方法后,我们来看这样一个场景。很多时候你使用手机号在网站注册账户信息,为了保证用户的信息安全性,通常账户信息只会显示后四位,其余的用 *
来代替,我们试着用字符串的方法来完成这一个功能。
输入代码:
phone_number = '1386-666-0006'
hiding_number = phone_number.replace(phone_number[:9],'*' * 9)
print(hiding_number)
其中我们使用了一个新的字符串方法 replace()进行“遮挡”。replace 方法的括号中,第一个 phone_number[:9]
代表要被替换掉的部分,后面的 '*' * 9
表示将要替换成什么字符,也就是把 *
乘以9,显示9个 *
。
你会得到这样的结果:*********0006
现在我们试着解决一个更复杂的问题,来模拟手机通讯簿中的电话号码联想功能。
注:在这里只是大致地展示解决思路,真实的实现方法远比我们看到的要复杂
输入代码:
search = '168'
num_a = '1386-168-0006'
num_b = '1681-222-0006'
print(search + ' is at ' + str(num_a.find(search) + 1) + ' to ' + str(num_a.find(search) + len(search)) + ' of num_a')
print(search + ' is at ' + str(num_b.find(search) + 1) + ' to ' + str(num_b.find(search) + len(search)) + ' of num_b')
你会得到这样的结果,代表了包含168的所有手机号码
168 is at 6 to 8 of num_a
168 is at 1 to 3 of num_b