1、运行hello_world.py时发生的情况

  运行hello_world.py时,Python都做了些什么呢?实际上,即便是运行简单的程序,Python所做的工作也相当多:

#!/usr/bin/env python
# -*- coding:utf-8 -*- print("Hello Python world!")

  运行上述代码时,你将看到如下输出:

Hello Python world!

  运行文件hello_world.py时,末尾的.py指出这是一个python程序,因此编译器将使用python解释器来运行它。Python解释器读取整个程序,确定其中每个单词的含义。例如,看到单词print时,解释器就会将括号中的内容打印到屏幕,而不会管括号中的内容是什么。

2、变量

  下面尝试在hello_world.py中使用一个变量。在这个文件开头添加一行代码,并对第二行代码进行修改,如下所示:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author:jie.fang message = "Hello Python world!"
print(message)

  运行这个程序,输出与之前的一样:

Hello Python world!

  我们添加了一个message变量。每个变量都存储了一个值——与变量相关联的信息。在这里,存储的值为文本"Hello Python world!"。

  添加变量导致python解释器需要做更多的工作。处理第一行代码时,它将文本"Hello Python world!"与变量message关联起来;处理第二行代码时,它将与变量message关联的值打印到屏幕。

  下面来进一步扩展这个程序:修改hello_world.py,使其再打印一条消息。为此,在hello_world.py中添加一个空行,再添加如下两行代码:

#!/usr/bin/env python
# -*- coding:utf-8 -*- message = "Hello Python World!"
print(message) message = "Hello Python Crash Course world!"
print(message)

  现在运行这个程序,将看到两行输出:

Hello Python World!
Hello Python Crash Course world!

  在程序中可以随时修改变量的值,而python将始终记录变量的最新值。

2.1 变量的命名和使用

  在python中使用变量时,需要遵守一些规则和指南。违反这些规则将引发错误,而指南旨在让你编写的代码更容易阅读和理解。请务必牢记下述有关变量的规则。

  1. 变量名只能包含字母、数字和下划线。变量名可以字母或者下划线打头,但不能以数字打头,例如,可将变量命令为message_1,但不能将其命令为1_message。
  2. 变量名不能包含空格,但可以使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量greeting message会引发错误。
  3. 不要将python关键字和函数名作为变量名,即不要使用python保留用于特殊用途的单词,如print。
  4. 变量名应既简介又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_person_name好。
  5. 慎用小写字母l和大写字母O,因为它们可能被人看成数字1和0。

  要创建良好的变量名,需要经过一定的实践,在程序复杂而有趣时尤其如此。随着编写的程序越来越多,并开始阅读别人编写的代码,越来越善于创建有意义的变量名。


  注意  就目前而言,应使用小写的python变量名。在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个比较好的习惯。


2.2 使用变量名时避免命名错误

  编写程序的时候,定义变量和变量的引用时要注意变量名是否有误。错误实例如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*- message = "Hello Python World!"
print(mesage)

  在上面的代码中定义的变量名是message,但是print引用的时候却是mesage,运行该程序,将会有如下报错:

Traceback (most recent call last):
File "D:/JetBrains/WorkPlace/Python3/0902/error.py", line 7, in <module>
print(mesage)
NameError: name 'mesage' is not defined

  程序存在错误时,python解释器将竭尽所能地帮助你找出问题所在。程序无法成功运行时,解释器会提供一个Traceback。Traceback是一条记录,指出了解释器在尝试运行代码时,在什么地方遇到了错误。下面就是刚刚变量名引用错误的一个Traceback:


Traceback (most recent call last):
File "D:/JetBrains/WorkPlace/Python3/0902/error.py", line 7, in <module>
print(mesage)
NameError: name 'mesage' is not defined


  计算机一丝不苟,但不关心拼写是否正确。因此创建变量名和编写代码时,你无需考虑英语中的拼写和语法规则。

  很多编程错误都很简单,只是在程序的某一行输出了一个字符。为找出这种错误而花费很长时间的大有人在。


注意  要理解新的编程概念,最佳的方法就是尝试在程序中使用它们。


未完待续...

最新文章

  1. 批处理命令——if
  2. 作业:用HTML制作邮箱登陆界面
  3. vs2010运行C程序时,运行结果窗口一闪而过
  4. jQuery EasyUI - Add link to datagrid cell
  5. 【C#学习笔记】载入图片并居中
  6. 【Quick 3.3】资源脚本加密及热更新(二)资源加密
  7. [转载]mininet的安装和使用
  8. cf446A DZY Loves Sequences
  9. 卡特兰数 Catalan数 ( ACM 数论 组合 )
  10. java web 项目如何部署到互联网中 通过输入域名访问?
  11. hdu 1151 Air Raid DAG最小边覆盖 最大二分匹配
  12. ntp 时钟同步
  13. java排序算法(二):直接选择排序
  14. 使用Visual Studio Team Services敏捷规划和项目组合管理(六)——VSTS仪表盘的使用
  15. docker删除镜像文件时,出现image is referenced in multiple repositories如何解决
  16. MySQL 进阶之索引
  17. Scrum Meeting NO.7
  18. [转] HTML5 FormData 方法介绍以及实现文件上传
  19. 【CF506E】Mr. Kitayuta&#39;s Gift dp转有限状态自动机+矩阵乘法
  20. codeforce150A(简单的求质数问题)

热门文章

  1. apt-get upgarde 和dist-upgrade的差别
  2. 03_java之基本语法
  3. 02_java之数据类型和基本运算
  4. 关于 warning CS0659:“***”重写Object.Equals(object o)但不重写Object.GetHashCode()
  5. rtmp连接服务器失败(一个低级错误)
  6. 字符编码 ASCII,Unicode和UTF-8的关系
  7. iOS开发基础控件--UISegmentedControl
  8. aop编程术语
  9. 前端开发之JavaScript基础篇二
  10. Open MSDN document directly without Visual Studio