Python基础到进阶,十个问题起飞。

三件事

第一件事,感谢信任,会更努力。

Python基础到进阶,十个问题起飞。

第二件事:今天开组会了,至于为什么要写这件事。因为今天的组会老板的一句话给我印象很深:“当一件事牵扯到你的人生走向时,需要做的可能不只是有A、B方案,甚至需要C方案。”

第三件事:前段时间私信了一些小伙伴,想了解一下小伙伴想看到哪些内容和对公众号的建议。有个小伙伴说的一句话还是很深刻的:“宝器,你现在写的Python From 0 To 1系列,其实针对的不是0基础吧”。

对于这个问题,宝器想说确实是的,因为我想给大家分享的道理是“授人以鱼不如授人以渔”。知识、技术这类问题大家完全可以Google到,但是我之所以写这些技术干货,推送一些书,其实都是和提到的知识点相关的。留意的小伙伴甚至看的到我会建议你去读某某书第几章第几节。

就目前而言,公号的定位是技术为主的,内容基本上是宝器现在学或者之前学习过程中整理的一些比较重要的内容分享,是对看过的一些书、项目中遇到的知识点的一些核心提炼。还会筛选出一些好的公众号文章来转载分享给大家。

今日内容

今天的内容分享将会以问答形式进行,来全面了解一下关于Python的第三部分内容。

说明:第三部分关于Python语句和语法,for,while,if这些不做介绍。

可阅读:

  • 《Python编程从入门到实践》(第5、7章)

    扫描二维码关注公众号,回复: 13123047 查看本文章
  • 《Learing Python 4th 》第三部分的第10~13章

建议先花十分钟阅读一下之前的文章:关于Python的内置对象,你真的全部了解?

Start

1、列表和元祖的区别?

点击下方空白区域查看答案

元祖不可变,主要优点是其不可变性带来的安全性,可参考上篇文章提到的为什么有了列表还要元祖?

2、定义函数时,pass语句的作用是?(阿里面试题)

点击下方空白区域查看答案

pass语句可以用来做空占位符,比如现在还没想好要实现什么功能而让程序运行起来。

3、Python中如何拷贝一个对象?(深浅拷贝和赋值的区别)(阿里面试题)

点击下方空白区域查看答案

赋值:创建对象的一个引用,修改其中任意一个变量会影响另一个。

浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用。

深拷贝:创建一个全新的对象,递归的复制它包含的对象。

更多:强烈建议阅读,面试必备之深浅拷贝这篇文章。

4、函数是否可以返回多个值,如果可以,返回的是什么?

点击下方空白区域查看答案

函数可以同时返回多个值,但其实就是一个tuple
Python基础到进阶,十个问题起飞。

5、函数on可传入的参数类型有哪几种?

点击下方空白区域查看答案

    选定参数

    默认参数

    可变参数

    关键字参数

    命名关键字参数

6、调用递归函数的优缺点?

点击下方空白区域查看答案

优点:使得逻辑更简单清晰

缺点:过深的调用会导致栈移除

建议百度:尾递归优化问题。

7、生成器的作用?

点击下方空白区域查看答案

列表元祖等迭代对象容量是有限的,比如创建一个100万个元素的列表,需要很大的内存,但是如果只需要访问前面几个元素就白白浪费内存了。

如果列表元素可以按照某种算法演算,可以不断的在使用过程中推出后面的元素,就可以不必一开始就创建很大的列表。在Python中这种一边循环,一边计算的机制就是生成器。这也是其优点。

8、迭代器和可迭代对象的区别?

点击下方空白区域查看答案

凡是可以用for循环遍历的对象都是可迭代对象类型,例如,元祖,列表,字典,集合,生成器。

凡是可作用于next()函数的对象都是迭代器类型。
图片

9、列举一下你知道的Python高级函数

点击下方空白区域查看答案

高级函数:把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。

Python的高级函数:map,reduce,filter,sorted()

10、map,reduce,filter的用法。

点击下方空白区域查看答案

点击阅读原文

猜你喜欢

转载自blog.51cto.com/15127516/2682996