时间:2022-04-26 点击: 次 来源:网络 作者:佚名 - 小 + 大
零基础学python做数据分析看什么书籍推荐零基础学python第二版pdf
下载地址 https://share.weiyun.com/S11bpehi
资料目录 小甲鱼零基础学python视频全套96集 刘金玉零基础python入门到精通教程100集全套VIP精选 跟老齐学Python从入门到精通 电子工业出版社 尽管我们很多文档是用英文写的,但是,如果你能充分利用汉语来理解某些名词,将是非常有帮助的。因为在汉语中,不仅仅表音,而且能从词语组合中体会到该术语的含义。比如“激光”,这是汉语。英语是从“light amplification by stimulated emission of radiation”出来的“laser”,它是一个造出来的词,因为此前人们不知道在那种条件下发出来的是什么。但是汉语不然,反正用一个“光”就可以概括了,只不过这个“光”不是传统概念中的“光”,而是由于“受激”辐射得到的光,故名“激光”。是不是汉语很牛? “迭”在汉语中的意思是“屡次,反复”,如高潮迭起。跟“代”组合就可以理解为“反复‘代’”,是不是有点“子子孙孙”的意思了?“结婚-生子-子成长-结婚-生子-子成长-……”,你是不是也在这个“迭代”的过程中呢? 给个稍微严格的定义,来自维基百科:“迭代是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果。” 某些类型的对象是“可迭代”(iterable)的,但如何判断一个对象是不是可迭代的?下面演示一种方法(事实上还有别的方式): >>> astr = "python" >>> hasattr(astr,'__iter__') False 这里用内建函数hasattr()判断一个字符串是否是可迭代的,返回了False。用同样的方式可以判断: >>> alst = [1,2] >>> hasattr(alst,'__iter__') True >>> hasattr(3, '__iter__') False hasattr()的判断本质就是看那个类型中是否有__iter__函数。读者可以用dir()找一找,在数字、字符串、列表中谁有__iter__函数。同样还可找一找dict、tuple两种类型对象是否含有这个方法。 以上穿插了一个新的概念“iterable”(可迭代的),现在回到extend上,这个函数需要的参数就是iterable类型的对象。 >>> new = [1, 2, 3] >>> lst = ['python','qiwsir'] >>> lst.extend(new) >>> lst ['python', 'qiwsir', 1, 2, 3] >>> new [1, 2, 3] 通过extend函数,将[1,2,3]中的每个元素都拿出来,然后塞到lst里面,从而得到一个跟原来的对象元素不一样的列表,比原来的多了三个元素。上面说得有点啰嗦,只不过是为了把过程完整表达出来。 从上面的演示中可以看出,lst经过extend函数操作之后,变成了一个貌似“新”的列表。 >>> new = [1,2,3] >>> id(new) 3072383244L >>> lst = ['python', 'qiwsir'] >>> id(lst) 3069501420L 用id()能够看到两个列表分别在内存中的“窝”的编号。 >>> lst.extend(new) >>> lst ['python', 'qiwsir', 1, 2, 3] >>> id(lst) 3069501420L 虽然lst经过extend()方法之后比原来扩容了,但是,并没有离开原来的“窝”,即在内存中还是“旧”的,只不过里面的内容增多了。相当于两口之家,经过一番云雨之后,又增加了一个小宝宝,那么这个家是“新”的还是“旧”的呢?角度不同或许说法不一。 这就是列表的一个重要特征:列表是可以修改的。这种修改,不是复制一个新的,而是在原地进行修改。 |
上一篇:零基础学python3买什么书推荐几本书零基础学python背记手册pdf
下一篇:没有了