課程
/后端開發
/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程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-10-16
python里的所有東西都是對象,對象都有屬性。
for a ?in B: ? 底層本質的含義是對B對象進行遍歷。底層的設計B對象上必須含有__iter__屬性和next()方法時,B才能被for循環遍歷。而剛好pyhon里,字符串對象是有__iter__屬相和next()方法的,所以他是可以被for循環遍歷的。
換句話說,為什么sum(x,y)就等于x和y的和呢。因為sum()這個函數是被程序設計者封裝了一個簡單算法在里面。
同理,為什么字符串對象可以被遍歷呢,因為python的設計者在設計之初就對“字符串可遍歷”這個特性進行了封裝。你就直接可以用啦。
2017-10-15
Python的迭代可以遍歷任何可迭代的集合,list,tuple,dict,set,以及unicode。
字符串就是unicode集合,可以用迭代遍歷
2017-10-15
他這個的意思前面有見到過,就是挨個把字符串里的每個字符遍歷一遍,本身字符串就不是基本數據類型,地層是由char組成的數組