课程
/后端开发
/Python
/初识Python
讲义中直接写for m in 'ABC,for n in'123', 单引号引导的不是字符串吗?为什么又变成了列表?
2017-10-15
源自:初识Python 10-4
正在回答
python里的所有东西都是对象,对象都有属性。
for a in B: 底层本质的含义是对B对象进行遍历。底层的设计B对象上必须含有__iter__属性和next()方法时,B才能被for循环遍历。而刚好pyhon里,字符串对象是有__iter__属相和next()方法的,所以他是可以被for循环遍历的。
换句话说,为什么sum(x,y)就等于x和y的和呢。因为sum()这个函数是被程序设计者封装了一个简单算法在里面。
同理,为什么字符串对象可以被遍历呢,因为python的设计者在设计之初就对“字符串可遍历”这个特性进行了封装。你就直接可以用啦。
慕移动6447889 提问者
Python的迭代可以遍历任何可迭代的集合,list,tuple,dict,set,以及unicode。
字符串就是unicode集合,可以用迭代遍历
他这个的意思前面有见到过,就是挨个把字符串里的每个字符遍历一遍,本身字符串就不是基本数据类型,地层是由char组成的数组
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序