您的位置:首页 > 编程语言 > Python开发

CSDN社群十问十答(Python第一期)

2019-06-26 18:07 1441 查看

过去的一周,我们从CSDN Python社群中,整理了小伙伴们提问较多的问题,并请技术达人对这些问题进行了回答,现整理如下。欢迎大家在社群中积极提问哦,积极提问的小伙伴还将获得CSDN提供的神秘纪念礼品哦!

 

问题1、append 与 extend 方法有什么区别?
append表示把某个数据当做新元素追加到列表的最后面,它的参数可以是任意对象。
extend 的参数必须是一个可迭代对象,表示把该对象里面的所有元素逐个地追加到列表的后面。

问题2、Python 为什么要使用全局解释锁?
Python中由于使用了全局解释锁(GIL)的原因,代码并不能同时在多核上并发的运行,也就是说,Python的多线程不能并发,很多人会发现使用多线程来改进自己的Python代码后,程序的运行效率却下降了。这篇文章对Python中的全局解释锁(GIL)进行了介绍。作者认为这是Python中最令人头疼的问题。

问题3、我在别的文件中写了一个函数,然后在python console调用使用该函数,出现了上述错误。显示这个是什么意思?TypeError: 'NoneType' object is not callable。
原因是因为没有对别的文件中函数进行编译,只要打开该调用函数的文件,然后点击运行,之后再在python console中调用使用该函数就不会报错。

问题4、PyCharm Python Console 中文输出乱码,怎么办呢?
解决方案请参照如下文章:https://blog.csdn.net/huiyanshizhu/article/details/78907629

问题5、系统提示这个错误:AttributeError: module 'numpy' has no attribute 'arange'
在工作目录中存在一个自己创建的numpy.py文件

问题6、说说你对zen of python的理解,你有什么办法看到它?
Python之禅,Python秉承一种独特的简洁和可读行高的语法,以及高度一致的编程模式,符合“大脑思维习惯”,使Python易于学习、理解和记忆。Python同时采用了一条极简主义的设计理念,了解完整的Python哲学理念,可以在任何一个Python交互解释器中键入import this命令,这是Python隐藏的一个彩蛋:描绘了一系列Python设计原则。如今已是Python社区内流行的行话"EIBTI",明了胜于晦涩这条规则的简称. 在Python的思维方式中,明了胜于晦涩,简洁胜于复杂。

问题7、调试python代码的方法有哪些?

具体IDE都有调试,比如:IDLE, Eclipse+Pydev都可以设置断点调试。 
pdb模块也可以做调试。
还有PyChecker和Pylint
PyChecker是一个python代码的

问题8、在github上都fork过哪些python库?
http://rogerdudler.github.io/git-guide/index.zh.html    #关于git简明指南  

http://www.zhihu.com/question/20070065                  #关于git的BBS  

http://www.techug.com/githug-for-designer               #关于github的 

问题9、什么是GIL?
GIL(Global Interpreter Lock)全局解释器锁? 简单地说就是:
每一个interpreter进程,只能同时仅有一个线程来执行, 获得相关的锁, 存取相关的资源.
那么很容易就会发现,如果一个interpreter进程只能有一个线程来执行, 
多线程的并发则成为不可能, 即使这几个线程之间不存在资源的竞争.
从理论上讲,我们要尽可能地使程序更加并行, 能够充分利用多核的功能.

问题10、什么是元类(meta_class)?
元类就是用来创建类的“东西”

欢迎大家扫码进群交流哦!我们还将每周分享技术学习资源+每月推出技术主题月活动+群主、技术达人在线答疑互动

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: