这一节,我们来学习如何写一个简单的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. C# 弱引用WeakReferance

    在应用程序代码内实例化一个类或结构时,只要有代码引用它,就会形成强引用.例如,如果有一个类MyClass(),并创建一个变量MyClassVariable来引用该类的对象,那么只要在 MyClassV ...

  2. Virtualbox mac版centos7.2 安装共享文件夹

    因为用的是mac本,在自己电脑上用virtualbox安装了centos7.2 虚拟机,为了实现与本机交换文件,需要用到贡享文件夹功能. 网上搜的时候多是windows版的,所以自己写一个mac版的. ...

  3. JS组件系列——自己动手封装bootstrap-treegrid组件

    前言:最近产品需要设计一套相对完整的组织架构的解决方案,由于组织架构涉及到层级关系,在表格里面展示层级关系,自然就要用到所谓的treegrid.可惜的是,一些轻量级的表格组件本身并没有自带树形表格的功 ...

  4. JS设计模式之---单例模式

    单例模式是保证一个类仅有一个实例,并提供一个访问它的全局访问点. 单例模式在现在面向对象的语言Java,C#,C++等等中也有很多用到,其实它在Javascript中使用同样非常广泛. var Cre ...

  5. 新建Android项目,会出现两个项目一个是自己创建的项目,另一个是“appcompat_v7”项目,这是怎么回事呢?该怎么解决呢?

    做Android开发的朋友最近会发现,更新ADT至22.6.0版本之后,创建新的安装项目,会出现appcompat_v7的内容.并且是创建一个新的内容就会出现.这到底是怎么回事呢?原来appcompa ...

  6. PHP获取随机数

    <?php $FileID=date("Ymd-His") . '-' . rand(100,999); //$FileID为   20100903-132121-908   ...

  7. 什么是体数据可视化(Volume data visualization)?及体绘制的各种算法和技术的特点?

    该文对体数据进行综述,并介绍了体数据的各种算法和技术的特点. 前言 由于3D数据采集领域的高速发展,以及在具有交互式帧率的现代化工作站上执行高级可视化的可能性,体数据的重要性将继续迅速增长. 数据集可 ...

  8. 调用startActivityForResult后,onActivityResult为什么立刻响应

    现象      今天在编写代码的时候,涉及到两个Activity通过Intent来传值的问题.具体描述为:activity A调用startActivityForResult()函数启动Activit ...

  9. js 检测浏览器

    首先还是IE浏览器的检测,一般我们在写代码的时候,出现的兼容性bug几乎都来自IE.从IE10以后,IE还算有点良心,支持了大部门的CSS3及H5的新特性.那么在IE10之前呢,就要才去别的手段来代替 ...

  10. description方法的介绍及重写

    Dog *d = [Dog new]; //查看对象地址 NSLog(@"\n d= %p ",d);//打印的为地址 例:0x1001002e0 //查看对象实例变量的值 NSL ...