python语言的单行注释以井号开头_《Python编程基础》

任务2.1

掌握Python的固定语法

CmRabltafvKEftwgAAAAAGX-x9I876745695.png?v=3uFdEdyq&t=CmRabltafvE.

任务描述

Python是一门简单又优雅的语言,在使用之前,读者需要了解并掌握它的基础语法,这样有助于代码的学习和运用,并有利于保持一个良好的编程风格。读者需要认识计算机语言并学习Python语言的编程规则,掌握Python作为计算机语言的固定语法要求。

任务分析

(1)认识计算机语言。

(2)掌握Python的编码,以及单行代码注释和多行代码注释。

(3)掌握Python中使用多行语句的方法和缩进代码的格式。

(4)了解标识符与保留字符的命名。

(5)掌握调试Python代码的方法。

2.1.1 认识计算机语言

众所周知,人与人之间可以通过语言进行交流沟通,那么人与计算机怎么进行交流呢?这就需要将人类语言转化成计算机能够理解的语言,这种计算机能够理解的语言即为计算机语言。计算机语言的种类很多,总体可以分为三大类,分别是高级语言、汇编语言、机器语言。

机器语言是指一台计算机的全部指令集合,是由“0”和“1”组成的指令序列。汇编语言在机器语言的基础上进行了改进,以英文单词代替0和1,例如Add代表相加,Mov代表传递数据等。汇编语言实际上就是机器语言的一个记号。高级语言并不是特指某一种语言,它泛指很多编程语言,比如Python、C、C++、Java等。大多数编程者都会选择高级语言。相对于汇编语言,高级语言将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,极大地简化了程序中的指令。高级语言源程序可以通过解释和编译两种方式执行,一般使用后一种。由于Python省略了很多编译细节,所以更容易上手。

Python是一种结合解释性、编译性、互动性的面向对象的高层次脚本语言,也是一种高级语言。由于Python易学习,并且具有广泛而丰富的标准库及第三方库的特点,因此它可以和其他语言很好地融合,所以也称为“胶水语言”。Python的设计目标之一是让代码具有高度的可阅读性,使用它设计时,尽量使用其他语言经常使用的标点符号和英文单词,让代码看起来整洁美观,而不像其他静态语言(如 C、Pascal 等)那样需要重复书写声明语句,避免了经常出现特殊情况和意外。

2.1.2 声明Python编码

Python3安装后,系统默认其源码文件为UTF-8编码。在此编码下,全世界大多数语言的字符都可以同时在字符串和注释中得到准确编译。

大多数情况下,通过编辑器编写的Python代码默认保存UTF-8编码脚本文件,系统通过Python执行该文件时就不会出错。但是如果编辑器不支持UTF-8编码的文件,或者团队合作时有人使用了其他编码格式,Python3 就无法自动识别脚本文件,就会造成程序执行错误,这时候对 Python 脚本文件进行编码声明就显得尤为重要了。比如,GBK 脚本文件在没有编码声明时执行就会出错,经编码声明后,脚本文件就可以正常执行。

为源文件指定特定的字符编码,需要在文件的首行或者第二行插入一行特殊的注释行,通常使用的编码声明格式如下。

#-*-coding:utf-8-*

通过上述声明,源文件中的所有字符都会被当成coding指代的UTF-8编码对待。当然这不是唯一的声明格式,上述格式只是普遍使用的一种形式。其他形式的声明,如“#coding:utf-8”和“#coding=utf-8”,也都是可以的。

在编写Python脚本时,除了要声明编码以外,还需要注意路径声明。路径声明的格式如下。

#!e:/Python/Python36

上述语句声明的路径为 Python 的安装路径。路径声明的目的是告诉 OS 调用“e:/Python/Python36”目录下的Python解释器执行文件,一般放在脚本首行。

2.1.3 加入代码注释

注释对于机器编程来说是不可少的,即使是简短的几行Python代码,如果使用了一些生僻的方法,那么程序开发人员也需要花一定时间才能弄明白。更何况,实际应用中常常要面临成千上万行晦涩难懂的代码,如果对代码注释得不够彻底,时间久了恐怕连程序开发人员自己也会弄不清代码的含义。下面将介绍Python注释行的用法。

1.单行注释

单行注释通常以井号(#)开头,如代码2-1所示。

代码2-1 单行注释

# 这是一个单独成行的注释

>>>print("Hello,World!")         # 这是一个在代码后面的注释

注释行是不会被机器编译的,在这里需要提一下的是前文介绍过的编码声明也是以#号开头,但不属于注释行,而且编码声明需要放在首行或第二行,否则不会被机器解释。

2.多行注释

在实际应用中常常会有多行注释的需求,同样也可以使用#号进行注释,只需在每一行前加#号就行。

(1)#号注释

使用#号进行注释,如代码2-2所示。

代码2-2 多行注释

>>>file_name = 'words.txt'

>>>f = open(file_name, 'w')

>>>f.write('Hello, world!')

>>>f.close()

显然,这种方法看起来有些笨拙。Python中对多行注释还有另一种更加方便优雅的方式,就是使用3个单引号或者3个双引号将注释内容括起来,达到多行或者整段内容注释的效果。

(2)单引号注释

使用单引号注释,如代码2-3所示。

代码2-3 单引号注释

'''

该多行注释使用的是3个单引号

该多行注释使用的是3个单引号

该多行注释使用的是3个单引号

'''

>>>print("Hello,World!")

(3)双引号注释

使用双引号注释,如代码2-4所示。

代码2-4 双引号注释

"""

该多行注释使用的是3个双引号

该多行注释使用的是3个双引号

该多行注释使用的是3个双引号

"""

>>>print("Hello,World!")

在使用引号进行多行注释的时候,需要保证前后使用的引号类型保持一致。前面使用单引号,后面使用双引号,或者前面使用双引号,后面使用单引号,都是不被允许的。

2.1.4 使用多行语句

多行语句可以有两种理解:一条语句多行;一行多条语句。

一条语句多行的情况一般是语句太长,一行写完一条语句会显得很不美观,使用反斜杠(\)可以实现一条长语句的换行,也不会被机器识别成多条语句,如代码2-5所示。

代码2-5 长语句换行

>>>total = applePrice +\

...   bananaPrice + \

...   pearPrice

但是Python中,[ ]、{ }、( )里面的多行语句在换行时是不需要使用反斜杠(\)的,如代码2-6所示。

代码2-6 使用逗号换行

>>>total = [applePrice ,

...   bananaPrice ,

...   pearPrice]

一行多条语句,通常在短语句中应用得比较广泛。使用分号(;)可对多条短语句实现隔离,从而在同一行实现多条语句,如代码2-7所示。

代码2-7 分号实现隔离

>>>applePrice = 8; bananaPrice = 3.5; pearPrice = 5

2.1.5 缩进代码

Python最具特色的就是以缩进的方式来标识代码块,不再需要使用大括号({}),代码看起来会更加简洁明朗。

同一个代码块的语句必须保证相同的缩进空格数,否则将会出错。至于缩进的空格数, Python并没有硬性要求,只需保证空格数一致即可。

正确缩进的Python代码块如代码2-8所示。

代码2-8 正确缩进示例

>>>file_name = 'words.txt'

>>>f = open(file_name, 'w')

>>>f.write('Hello, world!')

>>>f.close()

错误示范如代码 2-9 所示,最后一行的语句缩进空格数与其他行不一致,会导致代码运行出错。

代码2-9 错误缩进示例

>>>if True :

...   print('我的行缩进空格数相同'')

>>>else :

...   print('错误示范'')

...  print('我的缩进空格数不同')

此外,在交互式输入复合语句时,必须在最后添加一个空行来标识结束。当代码太复杂时,解释器将难以判断代码块从何结束,而且以空行标识结束也更便于自己进行查阅和理解。

2.1.6 命名标识符与保留字符

标识符在机器语言中是一个被允许作为名字的有效字符串。Python中的标识符主要用在变量、函数、类、模块、对象等的命名中。

Python中对标识符有如下规定。

(1)标识符可以由字母、数字和下划线组成。

(2)标识符不能以数字开头。以下划线开头的标识符具有特殊的意义,使用时需要特别注意。

① 以单下划线开头(如_foo)的标识符代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”导入。

② 以双下划线开头(如__foo)的标识符代表类的私有成员。

③ 以双下划线开头和结尾(如__foo__)的标识符是Python特殊方法专用的标识,如__init__()代表类的构造函数。

(3)标识符字母区分大小写,例如Abc与abc是两个标识符。

(4)标识符禁止使用 Python 中的保留字。要查看某字符串是否为保留字,可以使用iskeyword函数。此外,使用kwlist函数可以查看所有保留字,如代码2-10所示。

代码2-10 查看保留字

>>>import keyword

>>>keyword.iskeyword("and")    # 查看and是否为保留字

True

>>>keyword.kwlist          # 查看Python中的所有保留字

['False','None','True','and','as','assert','break','class','continue','def', 'del','elif','else','except','finally','for','from','global','if','import',' in','is','lambda','nonlocal','not','or','pass','raise','return','try','while ','with','yield']

2.1.7 调试Python代码

进入程序编程学习前,先来欣赏一个程序员的小笑话:“诸葛亮是一个优秀的程序员,每一个锦囊都是应对不同case而编写的!但是再优秀的程序员也敌不过更优秀的Bug!于是六出祁山、七进中原、鞠躬尽瘁、死而后已的诸葛亮只因为有一个错误的Case——马谡,使得整个结构就被break了!”。这里可以发现:“千里之堤毁于蚁穴”不是空穴来风,一个小小的Bug就会让整个程序运行失败。

程序一次写完并能正确运行的概率非常小,一般会有各种各样的Bug需要修正。有的Bug很简单,看看错误信息就知道如何解决;而有的Bug很复杂,需要判断出错时哪些变量的值是正确的、哪些变量的值是错误的。因此,程序开发人员需要一整套调试程序的手段来修复Bug。

程序调试就是将写好的程序投入实际运行前,用手工或编译程序等方法进行测试,进而修正语法错误和逻辑错误的过程。这是保证计算机信息系统正确性的必不可少的步骤。写完计算机程序,必须送入计算机中进行测试,然后根据测试时所发现的错误进一步诊断,找出原因和具体的位置并进行修正。

Python代码可以使用pdb(Python自带的包)调试、Python IDE调试(如PyCharm)、日志功能等进行调试。接下来介绍对于一些简单的错误怎么调试修改,如代码2-11所示。

代码2-11 语法错误示例

>>> print "Hello,World!"      # 缺少括号

SyntaxError: invalid syntax

>>> print(‘Hello,World!’)     # 引号为中文引号

SyntaxError: invalid character in identifier

>>> print(‘Hello,World!’)    # 括号为中文括号

SyntaxError: invalid character in identifier

代码 2-11 中的错误都是语法错误,第一行代码在 Python 2 中是正确运行的,但是在Python3中并不能正确运行;后面的两行代码均是因为使用了中文格式符号导致了出错,编写代码一般使用英文输入。当然这只是简单的打印出来并查看错误,还有其他很多调试代码的方法,读者可以参考其他相关内容进行了解。

o6WPLYcVWnVQhJNHHnJVJY5QxAkuvE24hQDs+EgOQoNMm3+rmNks0ox34G8wuKlA

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值