基于计算机等级二级Python语言程序设计
程序的格式框架,即段落格式,是Python语法的一部分,这种设计有助于提高代码的可读性和可维护性。
缩进
Python语言采用严格的”缩进“来表示程序逻辑。缩进指每行语句开始前的空白区域,用来表示Python程序间的包含和层次关系。一般代码不需要缩进,顶行编写且不留空白。当表示分支、循环、函数、类等程序含义时,在if、while、for、def、class等 保留字所在完整语句后通过引文冒号(:)结尾并在之后行进行缩进,表明后续代码与紧邻无缩进语句的所属关系。需要注意,不是所有语句都可以通过缩进包含其他代码,只有上述一下特定保留字所在语句才可以引导缩进。
代码编写中,缩进可以用Tab键实现,也可以用多个空格实现(一般时4个空格),但两者不混用。Python中建议采用4个空格的书写方式。Python语言对语句之间的层次关系没有显示,可以嵌套使用多层缩进。
如果Python程序执行时产生了”Unecpected indent“错误,则说明代码中出现了缩进不匹配的问题,需要查看所有的缩进是否一样,以及错用缩进的情况。
注释
注释是代码中的辅助性文字,会被编译器或解释器略去,不被计算机执行,一般用于程序员对代码的说明。Python采用”#“表示一行注释的开始。
# 单行注释
# 单行注释
print("hello world") # 这也是一个单行注释
在python中,使用一堆三引号("""")或(’’’’’’)进行多行注释,引号中间的代码,解释器将忽略。
'''
这是单引号多行注释
这是单引号多行注释
'''
"""
这是双引号的多行注释
这是双引号的多行注释
"""
多行注释通过用来为Python文件、模块、类或者函数等添加版权、功能等信息,也经常用来解释代码中重要的函数、参数等信息,以便于后续开发这维护代码。
续行符
Python程序是逐行编写的,每行代码长度并无限制,单从程序员角度,单行代码太长并不利于阅读,因此,Python提供“续行符”将单行代码分割为多行表达。续行符有反斜杠(\)符号表达。
print("这是"+\
"一行"+\
"字符")
与自然语言相似,Python语言的基本单位是“单词”,少部分单词是Python语言规定的,被称为保留字,大部分单词是用户自定义的,通过命令过程形成了变量或函数,用来代表数据或代码。
>>> a = 99
>>> a = a + 1
>>> print(a)
在python中,变量可以随时命名,随时赋值,随时使用。import keyword
keyword.kwlist
#通过引入keyword库,可以查询到保留的关键字。
计算机对数据进行运算时需要明确数据的类型和含义。比方说十进制与二进制的数值值是不一样的。不仅对计算机,即使对人来说,也需要清楚数字所表达的基本类型及含义。数据类型用来表达数据的含义,消除计算机对数据理解的二义性。
Python语言支持多种数据类型,最简单的包括数字类型、字符串类型,略微复杂的包括元组类型、集合类型、列表类型、字典类型。
>>> "一二三四五六七八九十"[1]
'二'
>>>"一二三四五六七八九十"[-1]
十
可以采用[N:M]格式获取字符串的子串,这个操作被形象地称为切片。[N:M]获取字符串中从N到M(但不包括M)间连续的字符串,其中,N和M为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。>>>a=1024*32
>>>print(a)
32768
在Python程序中,赋值语句使用等号(=)表达,而值相等的判断使用双等号(==)表达。双等号判断后的结果是True(真)或False(假),分别对应相等或值不相等。>>>n = 3
>>>a,b=n+1,n+2
同步赋值会同时运算等号右侧的所有表达式,并一次性且同时将右侧表达式结果分别赋值给左侧的对应变量。a = 100
print(a)
print("test")
在Python’中,默认情况下,一条print()语句输出后会自动换行,如果想要依次输出多个内容,而且不换行,可以将要输出的内容使用英文的都好分割print(a,"test")
a=input()
print(a)
>>> a=eval(”1“)
1
>>>b=eval("1.2+3.4")
4.6
eval可以直接对内容进行运算,并将结果保存到变量中。但要注意,如果是普通的字符串,eval去掉双引号后,会将其解释为某个变量,如果程序之前没有定义过该变量,则会报错。由于Python语言的格式框架也是语法元素的一部分,且语法中没有过多的控制格式符号,因此,不经过任何要求的Python源程序都具有一定的可读性。进一步的,什么样的代码才是漂亮的呢?Tim Peters从哲学层面给出了一个非常优美的回答,被称为"Python之禅"(the Zen of Python)
>>>import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
Python中采用PEP8作为编码规范,其中PEP是Python Enhancement Proposal的缩写,意思就是Python增强建议书,8,表示版本号。下面给处PEP8编码规范中的一些应该严格遵守的条目。