设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 26855|回复: 15
打印 上一主题 下一主题

【Python 第64课】python shell

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2014-4-14 17:37:55 |只看该作者 |正序浏览


各位好久不见,我终于又更新了。今天抽空来讲点非常非常基础的东西,关于在哪里写 python。

如果你已经编写过自己的程序,相信对这些内容已经熟悉。但很多刚刚接触编程的人,对于在 python 里编写并运行代码,还时常有些疑问。

一般来说,有两种运行 python 代码的方法:
1. 使用交互式的带提示符的解释器
2. 使用源文件

第一种方法,所谓“交互式的带提示符的解释器”,也被称做 python shell。当你安装好 python,并正确配置系统变量 PATH 后(linux 和 mac 上通常都预装并配置好了 python),在命令行里输入 python,会看到诸如以下的提示:

$ python
Python 2.7.5 (default, Aug 25 2013, 00:04:04)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

这就是 python shell。三个右括号 >>> 是 python 输入的提示符,它表示 python 解释器已经准备好了,等待你的命令。
在这里输入 python 的命令,并输入回车,python 解释器将在下一行立刻给出运行的结果。

以最简单的 print 方法为例:

>>> print 'hello world'
hello world
>>>

当输入完并回车之后,python 会立刻在后面输出你指定的字符串。

python shell 可以非常方便的运行 python 语句,这一点对调试、快速组建和测试相当有用。当你在编写代码的过程中,对一些方法不确定的时候,可以通过 python shell 来进行试验。一(cheng)些(xu)人(yuan)甚至把 Python shell 当作计算器来使用:

>>> 1 + 1
2
>>> x = 1
>>> y = 2
>>> x + y
3
>>>

注意上面的例子中,我们在 python shell 中定义了变量。这些变量值在 python shell 打开时一直有效,关闭后变量值则会丢失,除非你通过其他的方式进行保存。

但 python shell 不足的地方是,当你写多行代码时很不方便。你可以尝试写一个 if 语句:

>>> if 2 > 1:
...     print 'right'
...
right
>>>

你需要在第二行开头加上空格,并用两个回车结束语句。当你发现前面某行有错误时,想要回去修改就很麻烦。

另外,python shell 里写好的代码也很难保存(至少我目前还不知道有什么可行的方法)。所以一般并不会用它来“真正地”写代码。当你需要写一个相对完整的 python 程序时,你需要写在一个“源文件”中。这就是运行 python 的第二种方法。

仍然以 print 为例:

用一个文本编辑器新建一个文件,在里面输入:

print "hello world"

保存这个文件为 hello.py。注意,有些同学可能会习惯命名为 print.py,请不要这么做。不要以任何 python 的内置方法或者你会使用到的模块名来命名你自己的代码文件。

然后在命令行中,进入到这个文件所在的文件夹,输入 python hello.py。你会看到:

$python hello.py
hello world
$

这时候不会进入 python shell,而是直接输出了程序的结果。换句话说,python 执行了我们写在源文件 hello.py 中的代码。


python 自带了一个叫做 IDLE 的编辑器。你可以在程序列表里找到并打开它,也可以通过命令行中输入 idle 打开。

打开后,你会看到一个默认的窗口,里面有我们前面说到的 >>> 提示符。这就是 IDLE 里的 python shell,和我们前面说的命令行中的效果是一样的,可以用来调试简单的命令。在这里,你还可以通过快捷键 alt + p(mac 上是 ctrl + p)来返回之前输入过的命令。

如果要编辑源文件,则需要在菜单栏中选择 File -> New Window。这时打开的新窗口就是源文件窗口。在里面写好你的 python 代码后,点击菜单栏上的 Run -> Run Module(或者按键盘上的F5),按提示保存后,就会运行这个源文件,输出结果将会在之前的 python shell 窗口中显示。对于初学者来说,这还是比较方便的开发方式。


当然,还有很多 python 的 IDE(集成开发环境)可供选择,在此我不一一介绍。但基本都包括 python shell 和源代码编辑这两块核心功能。选择合适的方式去写 python,会让你事半功倍。

------------------
最后说点题外话:最近工作上的事情比较忙,一心难以二用,因此耽搁了很久也没有更新文章。目前这种状况仍然没有改变,所以还是不能保证更新的频率,望诸位理解。好在 python 的入门知识已基本都讲到了,点击文章末尾的“阅读原文”可进入之前的文章目录。接下来,我会挑一些小技巧或者常见问题进行分享。同时,我依然会在微信、论坛和QQ群里出现,尽量回答大家的问题,欢迎来各种讨论。




#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

2

主题

0

好友

24

积分

新手上路

Rank: 1

16#
发表于 2018-3-4 16:11:28 |只看该作者
谢谢crossin老师,明白了
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

15#
发表于 2018-3-3 20:34:45 |只看该作者
studypython 发表于 2018-3-3 19:54
我用ide写了个程序,名为ceshi.py,但是在cmd中用python ceshi.py运行不了,报错,不晓得么回事[/img] ...

不是在python里执行,是在cmd命令行下直接执行
然后必须保证你的文件是可以访问到的,也就是你要在 ceshi.py 的目录下,或者用完整路径
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

2

主题

0

好友

24

积分

新手上路

Rank: 1

14#
发表于 2018-3-3 19:54:59 |只看该作者
我用ide写了个程序,名为ceshi.py,但是在cmd中用python ceshi.py运行不了,报错,不晓得么回事[img][/img]

QQ截图20180303195525.png (40.01 KB, 下载次数: 462)

QQ截图20180303195525.png

回复

使用道具 举报

0

主题

0

好友

30

积分

新手上路

Rank: 1

13#
发表于 2016-7-1 20:12:09 |只看该作者
crossin先生 发表于 2016-6-23 00:22
notepad++?它会强行帮你设定成utf8好像,在设置里可以改。设成gbk

好的~~谢谢老师
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

12#
发表于 2016-6-23 00:22:04 |只看该作者
w824311024 发表于 2016-6-21 18:07
crossin老师,用notepad编辑好python文件后,在shell中输出的中文为乱码,该怎么解决啊?我在py文件中加入  ...

notepad++?它会强行帮你设定成utf8好像,在设置里可以改。设成gbk
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

30

积分

新手上路

Rank: 1

11#
发表于 2016-6-21 18:07:01 |只看该作者

回帖奖励 +10

crossin老师,用notepad编辑好python文件后,在shell中输出的中文为乱码,该怎么解决啊?我在py文件中加入 #-*- coding:GBK -*- 或者#-*- coding: utf-8 -*-都不行。。。
回复

使用道具 举报

0

主题

1

好友

273

积分

中级会员

Rank: 3Rank: 3

10#
发表于 2016-2-21 21:31:35 |只看该作者
crossin先生 发表于 2016-2-21 18:41
http://crossin.me/forum.php?mod=viewthread&tid=585&fromuid=3
这里提到的几本

谢谢crossin老师!
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

9#
发表于 2016-2-21 18:41:24 |只看该作者
catherinemic 发表于 2016-2-21 15:15
crossin老师,能推荐基本正规的教程吗?

http://crossin.me/forum.php?mod= ... d=585&fromuid=3
这里提到的几本
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

8#
发表于 2016-2-21 18:41:20 |只看该作者
catherinemic 发表于 2016-2-21 15:15
crossin老师,能推荐基本正规的教程吗?

http://crossin.me/forum.php?mod= ... d=585&fromuid=3
这里提到的几本
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-23 01:54 , Processed in 0.019836 second(s), 28 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部