Python-基础语法
请务必注意,Python程序是大小写敏感的,如果写错了大小写,程序会报错。
 
 
 
 
一. 标识符
一、标识符定义规则
在 Python 里,标识符由字母、数字、下划线组成。
在 Python 中,所有标识符不能以数字开头。
Python 中的标识符是区分大小写的。
以下划线开头的标识符是有特殊意义的。
- 以单下划线开头
_foo
的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。 - 以双下划线开头的
__foo
代表类的私有成员,以双下划线开头和结尾的__foo__
代表 Python 里特殊方法专用的标识,如__init__()
代表类的构造函数。
- 以单下划线开头
二、Python 保留字符
下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。
|||
:-:|:-:|:-:|
and |exec |not
assert |finally |or
break |for |pass
class |from |print
continue |global |raise
def |if |return
del |import |try
elif |in |while
else |is |with
except |lambda |yield
二. 缩进(代码块)
一、注意事项:
学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号
{}
来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行!!!
按照约定俗成的管理,应该始终坚持使用4个空格的缩进;
很多Python程序员都建议每行不超过80字符(最多79个见多);
要将程序的不同部分分开,可使用空行,但不要在程序文件中过多地使用空行
以下代码将会执行错误:缩进空白数量不一样会报错!
1 | #!/usr/bin/python |
二、多个语句构成代码块
Python不像C/C++/Java一样一条语句是以
;
结束,而是换行即表示一个语句结束。缩进相同的一组语句构成一个代码块,我们称之代码组。
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号(
:
)结束,该行之后的一行或多行缩进代码构成代码组。注意这里冒号(:
)不能省略。
如下实例的冒号不能省略:
1 | if expression : |
三. 一行和多行语句
一行分为:
- 同一行显示多条语句;
- 将一行的语句分为多行显示(一条语句以多行来书写)也包括在多行语句里面来讲。
1. 同一行显示多条语句
Python可以在同一行中使用多条语句,语句之间使用分号( ;
)分割,以下是一个简单的实例:
1 | #!/usr/bin/python |
3. 一条语句以多行来书写
看下面的多行语句即可,是同一个意思。
3. 多行语句
多行:
Python语句中一般以新行作为语句的结束符,但是我们可以使用斜杠(
\
)将一行的语句分为多行显示,斜杠(\
)称为多行连接符
。语句中包含 [], {} 或 () 括号就不需要使用多行连接符。
Python语句中一般以新行作为语句的结束符。但是我们可以使用斜杠(
\
)将一行的语句分为多行显示,如下所示:
1 | total = item_one + \ |
- 语句中包含 [], {} 或 () 括号就不需要使用多行连接符。如下实例:
1 | days = ['Monday', 'Tuesday', 'Wednesday', |
四. 引号
Python 可以使用单引号(
'
)、双引号("
)、三引号('''
或"""
) 来表示字符串,引号的开始与结束必须的相同类型的。其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。
如下示例:
1 | word = 'word' |
五. 注释
- python中单行注释采用
#
开头。 - python 中多行注释使用三个单引号(
'''
)或三个双引号("""
)。
单行注释,如下示例1:
1 | #!/usr/bin/python |
多行注释,如下示例2:
1 | #!/usr/bin/python |
六. 空行
- 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
- 空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
- 记住:空行也是程序代码的一部分。
什么是空行?
1 | a=2+3 |
七. 输出(print)
Python3.0以后的输出使用print()
函数。分为换行输出和不换行输出。
在print()括号中加上字符串,就可以向屏幕上输出指定的文字。括号里还可以放表达式等……
- 换行输出:print 默认输出是换行的
- 不换行输出:将括号里的所有参数输出在一行,只需要在每一个参数后面加一个
,
即可。注意:
- 最后一个参数后面没有
,
,也就是和普通函数使用一样; - 参数中间的
,
输出来是一个空格。如下: - 循环输出变量b的时候如果不换行,可在后面加个
end=' '
,即print(b, end=' ')
1 | print('Thequickbrownfox', 'jumpsover', 'thelazydog') |
7.1 输出的补充
Python的三种输出:
- Python两种输出值的方式: 表达式语句和
print()
函数;- 如果你希望输出的形式更加多样,可以使用
str.format()
函数来格式化输出值。 - 如果你希望将输出的值转成字符串,可以使用
repr()
或str()
函数来实现.
- 如果你希望输出的形式更加多样,可以使用
- 第三种方式是使用文件对象的
write()
方法,标准输出文件可以用sys.stdout
引用!
7.2 输出时常用的函数
- str(): 将对象转化为适于人阅读的形式,函数返回一个对象的string格式。
- repr(): 将对象转化为供解释器读取的形式,返回一个对象的 string 格式。可以输出包括转义字符在内的所有字符!
end=' '
: 循坏输出时常用于不换行输出。- str.format() :格式化输出。
举例:
1 | x = "'abcd\ne\nfg'" |
7.3 str.format()格式化字符串
旧式的格式化输出在[Python-基础语法]里面讲过,这里的str.format()
就是新版的格式化的一种形式。
语法:字符串类型格式化采用format()方法,基本使用格式是:
<模板字符串>.format(<逗号分隔的参数>)
所谓的**str.format()**:即.format()
前是一个字符串,字符串里面有{}
相当于旧书式的%
。{}
及其里面的字符 (称作格式化字段) 将会被 format() 中的参数替换。分为以下几种使用方法:
- 在括号中的数字用于指向传入对象在 format() 中的索引位置,如下所示:
1 | print('{0} 和 {1}'.format('Google', 'Runoob')) |
- 在 format() 中使用了关键字参数, 那么它们的值会指向使用该名字的参数。也可以位置及关键字参数可以任意的结合:
1 | print('{0} 和 {1}'.format('Google', 'Runoob')) |
- 在
{}
里使用!a
(使用 ascii()),!s
(使用 str()) 和!r
(使用 repr()) 可以用于在格式化某个值之前对其进行转化:
1 | import math |
- 可选项
:
和格式标识符可以跟着字段名。 这就允许对值进行更好的格式化。
format()方法中<模板字符串>的{}
除了包括参数序号,还可以包括格式控制信息。此时,{}
的内部样式如下:
{<参数序号>: <格式控制标记>}
其中,<格式控制标记>用来控制参数显示时的格式,包括:**<填充><对齐><宽度>,<.精度><类型>** 6 个字段,这些字段都是可选的,可以组合使用,逐一介绍如下。参考:[Python字符串格式化–format()方法]
<宽度>
指当前槽的设定输出字符宽度,如果该槽对应的format()参数长度比<宽度>设定值大,则使用参数实际长度。如果该值的实际位数小于指定宽度,则位数将被默认以空格字符补充。
<对齐>
指参数在<宽度>内输出时的对齐方式,分别使用<、>和^三个符号表示左对齐、右对齐和居中对齐。
<填充>
指<宽度>内除了参数外的字符采用什么方式表示,默认采用空格,可以通过<填充>更换。
1 |
|
逗号(,)
<格式控制标记>中逗号(,)用于显示数字的千位分隔符,例如:
1 | "{0:-^20,}".format(1234567890) |
<.精度>
表示两个含义,由小数点(.)开头。对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大长度。
<类型>
表示输出整数和浮点数类型的格式规则。对于整数类型,输出格式包括6 种:
- b: 输出整数的二进制方式;
- c: 输出整数对应的 Unicode 字符;
- d: 输出整数的十进制方式;
- o: 输出整数的八进制方式;
- x: 输出整数的小写十六进制方式;
- X: 输出整数的大写十六进制方式;
1 | 'Google': 1, 'Runoob': 2, 'Taobao': 3} table = { |
对于浮点数类型,输出格式包括4 种:
- e: 输出浮点数对应的小写字母 e 的指数形式;
- E: 输出浮点数对应的大写字母 E 的指数形式;
- f: 输出浮点数的标准浮点形式;
- %: 输出浮点数的百分形式。
- 如果你有一个很长的格式化字符串, 而你不想将它们分开, 那么在格式化时通过变量名而非位置会是很好的事情。
最简单的就是传入一个字典, 然后使用方括号 []
来访问键值 :
1 | 'Google': 1, 'Runoob': 2, 'Taobao': 3} table = { |
八. 输入(input)
- 函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量(指针)中,以方便你使用。
- input()函数有个返回值,返回类型为String。
一、参数
输入分为两种:空参数、带有参数。
空参数:input()
;效果是屏幕上没有任何提示,等待用户输入。
带有参数:input('请输入一个字符串:')
;效果是屏幕上显示“请输入一个字符串:”,然后等待用户输入。
二、返回值
关于input()的返回值,是字符串String类型
如下会报错,假如输入1998,返回给s的值是字符串”1998”,如果直接和数字型进行比较会报错:
1 | s = input('birth: ') |
解决方法是使用函数int(str)
,功能是将字符串类型转换成数字型。
1 | s = input('birth: ') |