现在python届发生了一个大事件,len方法突然不能直接用了。。。
然后现在有一个需求,让你计算’hello world’的长度,你怎么计算?
这个需求对于现在的你其实不难,我们一起来写一下。
for循环实现len功能
s1 = "hello world"
length = 0
for i in s1:
length = length+1
print(length)
好了,功能实现了,非常完美。然后现在又有了一个需求,要计算另外一个字符串的长度,“hello eva”.
于是,这个时候你的代码就变成了这样:
for循环实现len功能2
s1 = "hello world"
length = 0
for i in s1:
length = length+1
print(length)
s2 = "hello eva"
length = 0
for i in s2:
length = length+1
print(length)
for循环实现len功能2
这样确实可以实现len方法的效果,但是总感觉不是那么完美?为什么呢?
首先,之前只要我们执行len方法就可以直接拿到一个字符串的长度了,现在为了实现相同的功能我们把相同的代码写了好多遍 —— 代码冗余
其次,之前我们只写两句话读起来也很简单,一看就知道这两句代码是在计算长度,但是刚刚的代码却不那么容易读懂 —— 可读性差
print(len(s1))
print(len(s2))
我们就想啊,要是我们能像使用len一样使用我们这一大段“计算长度”的代码就好了。这种感觉有点像给这段代码起了一个名字,等我们用到的时候直接喊名字就能执行这段代码似的。要是能这样,是不是很完美啊?