欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

自学 Python,现在出现个情况,该怎么办?

程序员文章站 2022-06-12 11:27:50
...

回复内容:

你用的是自带的IDLE……一个奇葩的编辑器= =

理论上来说这个报错就是Python虚机崩溃后端口未释放所致,可以用command+space输入terminal,然后ps -ef | grep python这样看是否有未结束进程,干掉它就好了。最不济,重启机器一定好。
学Python呢,最好不用idle,论IDE而言,多的有Pycharm,wingide,大头的pydev+eclipse也是很好的选择,我个人推荐呢,初期你学python,首先在系统中装个Easy_install和Homebrew,前者负责Python的包,后者负责系统包,搞定之后装pip, ipython就行了,然后直接用ipython的交互环境学习,用vim/sbt2这样的编辑器来写脚本。对了记得设置space=4这样,用tab缩进的都该被烧死lol

当然某种意义上来说我个人是不蛮推荐用独立编辑器的……因为对于平台工程师而言面对的永远都是字符界面TAT,Python的第一阶段其实很好过,在交互环境学就行了,然后你就要学习包管理/编译链(Python很多C extension的)以及virtualenv了,有了这3样基本可以随手写一个Python小脚本的样子,如果走Web开发,PEP333 WSGI协议啥的,再了解下TCP/HTTP协议层,Gunicorn/Gevent这样的server,就可以投简历去干程序猿了= =

===================我的刚从微博过来的分割线===========================
=_= 因为我回答问题的时候以为道楼主@Stephanie Yu 是个还在入门的大学年轻汉子,直到我看了微博之后膝盖中了一剑……额,我给你个简单的方案学Python吧。

首先每台苹果的机器都带了个叫终端的东西,你可以在Finder里面找到这货(command+space搜索),打开它,当然它很丑,很不和谐,不过足够了,打开之后输入Python就进入了Python的交互界面,根据你系统版本不同,你用的Python的版本应该是2.7.X系列。

然后呢,你可以在这个界面输入python语句学习,最简单的手册参考蘑菇叔的简明 Python 教程,当然你的英文应该足够看原版了,那么一本Learning Python (豆瓣)是你入门的不二选择(这货的中文版被吐出翔)。

接着你肯定有写个脚本运行的要求,比如楼主你最想要的批量下美剧脚本,这时候你需要一个编辑器来做这件事情,最简单的就下个Chocolat ‹ Text Editor for Mac,设置好缩进为4个空格和文件类型就可以开搞写脚本了,我不推荐新人用SB2或者VIM,高阶编辑器学习成本太高。

写好的脚本怎么运行呢,你需要把脚本保存在某个位置,比如桌面,切换你的终端路径到桌面,如输入cd ~/桌面,然后python 脚本名.py,就能看到输出啦。

Tips
  1. 新手的话不建议用pdb调试,如果程序出错,会告诉你在哪一行出错为什么出错,直接用print调试即可。
  2. python的东西编码绝对是hell,新手最容易遇到的就是中文字符串处理问题,所以勇敢的在你每个脚本文件的最上面加入#coding:utf-8吧。
  3. 良好的编码风格对debug是有帮助的,至少对于新人而言不会困惑于程序运行流程而忽略了问题的本质,在Python中完成一件事的方法只有一种(Ruby都该被烧死!),看PEP 8 -- Style Guide for Python Code会有很多启发。
  4. 其实我还是很想说没有Virtualenv和包管理的Python真心没法用啊,再怎么样编译链包管理环境隔离得了解下会让你的程序跑得更爽对你的系统也不会造成“污染”。
你现在的情况就好像,有人教你写小说,先让你在windows下开个记事本,然后新建一个文章,结果记事本出错了,于是你就没法继续学习写小说了……但是实际上你可以用任何文本编辑器来学习写小说,不是吗?

同理,你可以用任何文本编辑器来编辑.py文件,不一定非要用idle。你把编辑的文件保存为.py,然后在terninal里输入python .py,就可以看到运行的结果。

实际上,教程上让你用idle唯一的原因只是idle是python自带的,省去叫你找其他编辑器的麻烦。

但是,就实际使用而言,除了初学者,几乎没有人会用idle来写代码,因为实在是不好用。

上面提到的vim之类的都是编辑器,不过那些太硬派了,很不适合初学者。我推荐一个编辑器Sublime Text,你甚至连跑到terninal里打python都不用,直接cmd+b就能看到运行结果了。

祝你学习python愉快。

==== 分割线 ====

为了研究你所说的new window之后就没有反应的情况,我特意在mac试了,没有发现什么不对头。

我看到你说“后来报个错就这样了”,我估计是这块出了什么问题,但是因为不知道这个错到底是什么,也很难做出判断。

有什么问题,可以私信我。 codecademy.com
对于没有计算机和编程基础的人来说,这个网站的学习体验是挺棒的。
有趣,不会无聊,有提示,有针对题目的问答。

进入编程世界英文是必备的技能,至少要能读。这是一个英文站点,可以两样同时学习。 Mac下自带python,但那个版本的IDLE时常会出现莫名的问题。
推荐使用:
  • PyCharm 一个python集成开发环境,它的用户体验相当顺手。除了一般编辑器支持的代码检查、补全、折叠、调试等等功能它都做得很到位之外,它对于django、GAE等python web框架的开发也有很好的支持。可自定义、可扩展。支持Window、Mac、Linux平台。对于初学者来说唯一美中不足的是,它是一个收费软件,有30天的试用期。如果你想用它来作为你工作的帮手,还是值得入手的。
  • Sublime Text 2 一款高级的文本编辑器,安装几个扩展包,就可以变身成为python的开发利器。可以关联python的运行环境。默认有很好的代码高亮和缩进功能。通过配置,还可以增加语法检查、格式检查、自动补全等功能。
  • 传说中“神的编辑器”Emacs和“编辑器之神”Vim。它们共有的特点就是强大的可扩展性。理论上来说,你可以用它完成任何一款IDE可以实现的功能,并且按你的喜好调校成你最顺手的武器。只可惜,这种工具的上手难度较高,不适合初学者。
欢迎来我们教室一起讨论学习python过程中遇到的问题
crossin.me
微信:crossincode
qq群:295921816 那个叫idle吧。

很高兴你有心思学python。我只用过win上的IDLE,打开后是IDLE的界面,然后新建New window应该就是新的文件,直接开写。保存按F5就可以运行了。

我觉得完全的新手用IDLE挺好的,这东西本来就是为了这样的人群设计的嘛。 compileonline.com
用这个多省事啊 0,你可以不用IDLE编写Python,用任何的文本编辑器都可以的,推荐Sublime Text(Vim本质上是和记事本一样的文本编辑器,但是有程序代码的语法感知能力,能够显示語法突顯,内置一些快捷键等,但是vim学习曲线陡峭,不适合新手)。
1,找本靠谱的书啊!
Python学习手册 (豆瓣)
你的问题可以看看第3章: 如何运行程序
加油! 我擦,零基础啊就学python,而且是mac上。
这种情况发生你就重新安装试试。关键是咱们无法重现帮不上你啊。
建议你把这本书作为你的补充学习材料。m.douban.com/book/revie 是编辑器的困惑还是ide的困惑。
如果喜欢ide的话我也不知道什么好。
如果喜欢编辑器的话我推荐vim
因为python不需要什么的。
只是控制好缩进就好的。
记事本什么的也可的。
用你比较熟悉的编辑器就可以了。 学习或者轻量级任务推荐使用ipython notebook。

好处:
1. 界面像个网页,不像terminal那样让初学者感到不适。
2. 支持语法高亮、自动缩进,排版美观。
3. 编辑命令跟一般人熟知的一样,比如command+c是拷贝,command+v是粘贴,command+x是剪切,command+z是撤销,command+y是重做,不像vi或emacs那样让初学者不适。
4. 源代码跟文档混排,像写文章一样写程序。
5. 交互性很好。稍作设置就可以画图,显示视频,输入数学公式等等。
6. 很多牛人都用这个,因为实在太方便了。

启动方法:
1. Command+Space
2. 输入terminal然后回车。另外,terminal也可以在Launchpad中的utilities里找到,不一定非要用command+space。
3. 在terminal里输入ipython notebook回车,然后会自动打开上网用的浏览器
4. 在浏览器显示的那个页面中点"New Notebook",会出来一个新的页面。
5. 这个新页面中有些输入框,随便在里面输入任何python能识别的命令或程序代码,按Shift+回车,就会看到结果了。比如输入1+1,然后按Shift+Enter,就会显示一个2。
6. 只要试几次就能熟练使用了。

退出方法:
先在菜单里保存,然后像关网页一样关闭就行了。之后terminal里可能还有东西在运行,鼠标在terminal窗口里点一下之后 按control+c(不是command+c),然后确认一下就可以退出那个东西了。然后点“x”关闭terminal。