这一节,我们来学习如何写一个简单的Python程序。

我们知道,很多编程语言一开始就是学习怎么输出"Hello, world",对吧?那么,现在我们来学习怎么用Python输出"Hello, world"。

交互模式

进入Python交互模式,输入(注意>>>是Python命令提示符,不是你输入的一部分):

>>> print('Hello, world!')

就可以得到下面的输出:

Hello, world!

'Hello, world!'是Python字符串,在Python中,字符串用单引号(')或双引号(")括起。print()是Python的一个函数,用于打印信息。

之前说过用Python计算表达式的值,是直接输入表达式的:

>>> 1 + 1
2

实际上也可以用print(),与没有print()等效:

>>> print(1 + 1)
2

在print(1 + 1)这个语句中,Python先计算出1+1等于2,然后将2输出。可见print()既可以打印字符串,也可以打印数字。注意,print()打印的并不是"1 + 1",而是1 + 1的结果2。说print()可以打印表达式也是不严谨的,因为是Python先计算出表达式的值,然后用print()将这个值输出。

实际上,要输出"Hello, world!",也可以直接这样写:

>>> 'Hello, world!'

但是得到的输出是这样的:

'Hello, world!'

在输出字符串时,使用print()会输出字符串的内容,不使用则会输出字符串的内容和两边的引号。

运行源代码文件

运行Python程序,可以通过在Python交互模式下输入代码,也可以先写好代码,保存在一个.py文件里,再运行该文件。

创建一个.py文件,用一个文本编辑器打开它,输入下面的代码:

print('Hello, world!')

注意这里没有Python命令提示符,因为不是在交互模式下。

保存文件,然后双击运行。你会发现窗口闪了一下就退出了。为什么会这样呢?这是因为输出一句话的时间是很短的,你还没反应过来就打印完了。

要想暂停程序,可以通过Python的input()函数。这个函数我们以后再详细讨论。现在只需要知道input()将会一直等待输入,直到按下enter就可以了。

input()

那么整个程序就是:

print('Hello, world!')
input()

现在就没有刚才的问题了吧?

最后注意一个问题。在Python交互模式下,可以直接输入表达式:

>>> 12 + 34
46

但是在Python源代码文件里呢?我们可以试一下:

12 + 34
input()

你会发现没有任何输出!因此,只有在Python交互模式下,才能直接输入表达式进行计算,在.py文件里,请使用print()进行输出。

最后,现在我们的程序里都只有一行输出,怎么才能打印多行呢?答案是,因此使用多个print()就可以了:

print('Hello, world!')
print('Hello, Python!')

输出:

Hello, world!
Hello, Python!

当然还有更多方法,以后再讨论。print()打印完后,默认会打印一个换行符。

注释

还有最后一个简单的概念,叫做注释(comment)。很多编程语言都支持注释,注释的作用是解释代码,编译器/解释器会忽略它。Python中的注释以#开头,以换行符结束:

# This is a comment

可以在代码中使用注释:

print('Hello, world!')    # displays 'Hello, world!' on the console
print(15 + 30) # calculate 15 + 30 and display the result

在Python交互模式下,也可以使用注释:

>>> 1 + 2 + 3
6

小结

1. 使用print()打印信息。

2. Python交互模式下,使用print()打印字符串和直接输入字符串不同。

3. Python交互模式下可以直接输入表达式进行计算,.py文件里就不行。

4. 使用input()暂停程序,直到输入换行符。

5. Python注释以#开头。

练习

1. 在Python交互模式下和.py文件里,输出下列信息:

I love Python.

Do you?

Python教程(2.1)——控制台输入的更多相关文章

  1. Python教程(2.5)——控制台输入

    写Python程序时,你可能希望用户与程序有所交互.例如你可能希望用户输入一些信息,这样就可以让程序的扩展性提高. 这一节我们来谈一谈Python的控制台输入. 输入字符串 Python提供一个叫做i ...

  2. python 教程 第十章、 输入/输出

    第十章. 输入/输出 1)    文件 poem = '''Programming is fun use Python!''' f = file('poem.txt', 'w') # open for ...

  3. 《简明python教程》笔记一

    读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info  安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...

  4. (原+转)简明 Python 教程:总结

     简明 Python 教程 说明:本文只是对<简明Python教程>的一个总结.请搜索该书查看真正的教程. 第3章 最初的步骤 1. Python是大小写敏感的. 2. 在#符号右面的内容 ...

  5. Python教程(0)——介绍

    What's Python? Python是一种编程语言,由荷兰人Guido van Rossum于1989年,为打发无聊的圣诞节而开发的. Python的优点是语法简洁,代码量比C/C++.Java ...

  6. 笔记|《简明Python教程》:编程小白的第一本python入门书

    <简明Python教程>这本书是初级的Python入门教材,初级内容基本覆盖,对高级内容没有做深入纠结.适合刚接触Python的新手,行文比较简洁轻松,读起来也比较顺畅. 下面是我根据各个 ...

  7. 简明Python教程自学笔记——命令行通讯录

    [前言]学习Python已经有一段时间了,相关的书籍资料也下载了不少,但是没有一本完整的看完,也没有编出一个完整的程序.今天下午比较清闲就把<简明Python教程>看了一遍,然后根据书里面 ...

  8. 【转】简明 Python 教程

    原文网址:http://woodpecker.org.cn/abyteofpython_cn/chinese/ 简明 Python 教程Swaroop, C. H. 著沈洁元  译www.byteof ...

  9. python教程(一)·命令行基本操作

    先来了解下 "命令提示符". 等等?!既然本篇文章标题是"命令行基本操作",那怎么又说到"命令提示符"去了呢?客官莫要急,且听我说 命令提示 ...

随机推荐

  1. ECSHOP自动收货解决方案 【附代码】

    ecshop系统,本身不带自动确认收货的,网上也找了一下,很多很复杂,且需要在服务器端设置定时任务,如果是虚拟主机,基本上就歇菜了. 某宝有一些卖自动收货的插件,不太了解其机制,不过也比较贵,要1-2 ...

  2. Load 数据1

    Druid 的load 数据分为两类 :批量load(历史数据) 和实时load(新数据) ,本文介绍批量load 数据 indexing 服务 批量load 数据需要用到indexing 服务,它是 ...

  3. Real-time 节点

    Real-time 节点 Real-time 节点提供一个实时索引.通过这些节点索引的数据提供查询.real-time节点将定期将他们收集的数据转移到同一跨域时间的Historical节点. 使用zo ...

  4. 初次接触 Android Studio FAQ

    1. 2. 3. 4. 6. 7. Tools -> Adnroid -> enable ADB integration   8.官方模拟器太慢,还是自己下个第三方模拟器吧. http:/ ...

  5. 【2017-04-18】Ado.Net C#连接数据库进行增、删、改、查

    一.简介 1.ado.net是一门数据库访问技术. 他可以通过程序来操作数据库 2.类库 Connection 类 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接 ...

  6. 初识JS

    今儿我遇到一特别恐怖的事儿,JS 刚开始的我看到JS感觉是懵逼的,翻开第一页,感觉是棒棒哒,再看第二页,感觉是easy的,看到第三页是恐怖的,当看到的第四页的时候,我感觉今年的清明节是为我准备的 废话 ...

  7. PROFINET如何实现实时性

    平时我们都听过文艺作品要“源于生活而高于生活”.PROFINET是基于工业以太网的,用文艺范儿的词汇说就是“源于以太网而高于以太网”.那么,PROFINET是怎么做到“高于以太网”的呢? 要做到比普通 ...

  8. javaWeb项目(SSH框架+AJAX+百度地图API+Oracle数据库+MyEclipse+Tomcat)之二 基础Hibernate框架搭建篇

    我们在搭建完Struts框架之后,从前台想后端传送数据就显得非常简单了.Struts的功能不仅仅是一个拦截器,这只是它的核心功能,此外我们也可以自定义拦截器,和通过注解的方式来更加的简化代码. 接下来 ...

  9. JavaScript高级程序设计 第三章 基本概念

    ch3 基本概念 标签(空格分隔): JavaScript 语法 标识符 - 第一个字符必须是字母.下划线或美元 - 驼峰大小写格式 严格模式 ECMAScript5引入,定义了一种解析和执行模型.此 ...

  10. es6英文文档翻译

    ECMA-262英文文档翻译,github地址: https://github.com/zhoushengmufc/es6 ECMA-262英文文档翻译,在线地址: http://zhoushengf ...