一.注释
在python中有两种注释方法,分为:单行注释和多行注释,注释中的内容不会被python解释器运行,自动忽略。
1.单行注释
#此行为注释
在代码中如有必要使用单行注释时,以 “ # ” 开头,紧随其后的则为注释内容。而此行中 “ # ” 之前的内容不受任何影响。
2.多行注释
'''注释开始
此为多行注释
这也是注释
同上
水
我还能水
我还……
'''
多行注释一般用于概述性说明,区别于单行注释。可以写多行注释。(废话)
多行注释写在两行 “ ‘’’ ” (注意是英文单引号) 之间。在其之间包括第一行标示之后,都算作注释部分。
注释主要有三种用途。
第一,表明作者和版权信息。
第二,解释代码原理或用途。
第三,辅助程序调试。 在调试程序时,可以通过单行或多行注释临时 “ 去掉 ” 一行或连续多行与当前调试无关的代码,辅助程序员找到成功需发生问题的可能位置。
二.缩进
与C语言等不同的是,python并不使用 “ { } ” 来表示代码之间的包含关系,而改以用 “ 缩进 ” 的形式表示包含。
以if语句为例:
C语言:
if(1 < 2)
{
x=x+1;
y=y+1;
/*该两行语句在C语言中若要在“if”语句判断为True后执行,则必须被
包含在符号“{}”之内。*/
}
else
{
x=x+2;
y=y+2;
//同理。
}
由以上实例可以看出,在 “ if ”(或“ else ”)之后所跟的代码若要被执行 “ if ” (或“ else ”)语句,则必须用将代码放在与 “ { } ” 组成的整体之中。
而且为了美观,人们默认 “ { } ” 与其内包含的代码全部加以缩进处理,以示美观。
python语言:
if 1 > 2:
x=x+1
y=y+1
'''
而若要在python中得到同样的结果,并不需要“{}”加以修饰,而是用“缩进”
代替“{}”表达同样的意思,不仅使代码变得更美观,也为我们在编写代码时
带来方便。
'''
else:
x=x+2
y=y+2
# 同理。
python使用缩进。
缩进在PEP 8 1 规范中规定一般是四个空格.
三.python模块、库、包
1.模块
首先我们知道,我们用编程语言(比如我们C语言,和我们正在学的python)编写代码的目的是为了使电脑为我们所用,来为我们办一些只有使用电脑才能完成的任务,对于编程语言来讲,能完成某一任务的一段代码就可以被单独当作一个 " 工具 " ,我们单独拿python作为例子。
假设一个文件如图:
里面只有一段简单的代码:
print("Hello World!")
这个文件只有一个功能:输出 “ Hello World!”。
而这个可以被拿来完成一个行为的文件(.py文件),就叫做模块。
我们所拿来举例子的 “ 1.py” 文件,事实上只是一个最简单形式的模块。
在模块之中,我们可以写一个任意复杂的代码,并定义几个常量,或是在一个模块之中引用其他模块,这都是被允许的。
我们也可以把几个模块组合在一起,然后就衍生出了两种概念:包、库。
2.包:
一个包其实就是一个被不同模块填充的文件夹,其中充满了模块,被称作包。
包体现了模块的结构化管理思想,包由多个模块文件构成。
一个包里第一个文件必须叫做“__init__.py”,__init__.py文件里面可以为空,也可以写入包被执行(被引用)时的初始化代码。
__init__.py是包的标志性文件,一个文件夹下如果有__init__.py文件,则一定是包。
包里面可以包含多个包,被称为子包,子包里也有__init__.py文件。
3.库
库是模块的集成。
库算是python非常强调的一个概念。
库和包的概念非常相近。
其实我觉的都一样(bushi)
编程界有很多著名的,被大家广为熟知的名言名句,成为约定俗成的规矩,而库的出现就是因为——不要重复造轮子,这句话。
轮子可以理解为工具,其实就是被前辈们编写好的去实现某个功能的模块,我们可以拿来直接使用,而不用再重新写一遍,浪费时间和精力,如果不是以锻炼、学习为目的,而是在工作时,就切忌重复造轮子,防止耽误时间,拖延项目的时间。而以学习为目的自然无所谓重复不重复。
库分为三种:
1.标准库;
2.第三方库;
3.自定义库。
标准库正是被python官方整理出来的,集合了能够完成很多常见功能的库,我们可以在IDLE中直接使用它们,而不用像第三方库和自定义库一样需要重新导入。
第三方库就是非官方的第三者编写的库。
自定义库就是自己编写的库。
库里可以包含包、模块。
一般来讲,库和包一般都是统合了一组具有相关功能的多个模块。比如 “ turtle库 ” ,这个库里所有模块都是为了干一件事——绘制图形,我们可以使用turtle库(里的模块)来完成一个图形的绘制。而把他们集中到一个库里,主要是为了方便调用。
既生库,何生包。(不是!)
四. 定义,说明
- Python语法允许在表达式内部标记之间增加空格,这些多余的空格将被解释器去掉。适当增加空格有助于提高代码可读性,但要注意不能改变与缩进相关的空格数量,也不能在变量名等命名中间增加空格。
- 反斜杠字符(\)是一个特殊字符,在字符串表示转义,即该字符与后面相邻的一个字符共同组成了新的含义。
控制字符 | 语义 |
---|---|
\a | 蜂鸣,响铃 |
\b | 回退,向后退一格 |
\f | 换页 |
\n | 换行 |
\r | 回车 |
\t | 水平制表 |
\v | 垂直制表 |
\0 | NULL,什么都不做。 |
- 变量命名规则
变量名由字母(广义的Unicode字符,不包括特殊字符)、数字和下划线构成,数字不能开头,中间不得有空格,长度一般没有限制。( 长度若出现限制,实际上是受限于计算机存储资源。但这种限制只是计算机上资源层面的限制,但python语言的语法上没有限制。)
大小写敏感。
不要跟关键字(有特殊含义的单词,后面会讲到)和系统保留字(如函数、模块等的名字)冲突。
符合PEP 8的要求
python可以使用 “ type ” 函数对变量进行类型检查。
a = 100
b = 12.345
c = 1 + 5j
d = 'hello, world'
e = True
print(type(a)) # <class 'int'>
print(type(b)) # <class 'float'>
print(type(c)) # <class 'complex'>
print(type(d)) # <class 'str'>
print(type(e)) # <class 'bool'>
python也可以使用内置函数对变量进行转换。
int():将一个数值或字符串转换成整数,可以指定进制。
float():将一个字符串转换成浮点数。
str():将指定的对象转换成字符串形式,可以指定编码。
chr():将整数转换成该编码对应的字符串(一个字符)。
ord():将字符串(一个字符)转换成对应的编码(整数)。
五.python版本
从大的角度来说,python其实有两种版本,一种是3.x版本之前的所有版本,一种是3.x及以后的所有版本。
当然一个小版本与一个小版本之间也会有差异,但是3.x及之后的版本与之前的python几乎有天壤之别。
“2.x版本属于过去,3.x版本代表了python的现在和未来。”——有这样的话。
所以一般来讲我们只需要学习3.x之后的版本就可以了。