前言
上一篇文章我们简单的介绍了 Python,本文我们来了解下 Python 的基础语法,帮助我们更好的学习 Python。
基础语法
编码
默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。
如果不使用默认编码,要声明文件所使用的编码,文件的 第一 行要写成特殊的注释。语法如下所示:
# -*- coding: encoding -*-
如要声明使用 Windows-1252 编码:
# -*- coding: cp-1252 -*-
关于 第一行 规则的一种例外情况是,源码以 UNIX "shebang" 行 开头。这种情况下,编码声明就要写在文件的第二行。例如:
#!/usr/bin/env python3
# -*- coding: cp1252 -*-
标识符
标识符是电脑语言中允许作为名字的有效字符串集合。其中,有一部分是关键字,构成语言的标识符。这样的标识符是不能做它用的标识符的,否则会引起语法错误(SyntaxError 异常)。
合法的 Python 标识符,需要遵守如下规定:
- 第一个字符必须是字母或下划线(_)
- 剩下的字符可以是字母和数字或下划线
- 大小写敏感
- 不能是 Python 的关键字
Python 关键字
Python的标准库提供了一个keyword module,可以输出当前版本的所有关键字:
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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']
关键字不能用作任何标识符的名称
注释
单行注释以 # 开头,实例如下:
# 第一个注释
print("hello, world") # 第二个注释
执行输出结果为:
hello, world
多行注释用多个 #,实例如下:
# 第一个注释
# 第二个注释
print("hello, world")
执行输出结果为:
hello, world
缩进
python最具特色的就是使用缩进来表示代码块,不需要使用大括号"{}"。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:
if True:
print("True")
else:
print("False")
以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:
if True:
print("Answer")
print("True")
else:
print("Answer")
print("False")
错误如下:
File "/Users/charlie/git/Python3.8/pythonDemo/base.py", line 22
print("False")
^
IndentationError: unindent does not match any outer indentation level
Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进。
多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠"\"来实现多行语句,例如:
total = item_one + \
item_two + \
item_three
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(),例如:
items = ['one', 'two', 'three',
'four', 'five']
空格和空行
空格或者空行与代码缩进不同,并不是 Python 语法的一部分。
书写时不插入空格或者空行,Python 解释器运行也不会出错。但是空格或者空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
空行也是程序代码的一部分
字符串
引号
python 中使用单引号和双引号来指定单行字符串,用法相同;使用三引号来指定多行字符串。示例如下:
str1 = '字符串一'
str2 = "字符串二"
str3 = """字符串三,
可以由多行组成"""
转义符
python 中转义符使用\
,如要输出一个\
就需要转义:
print("\\")
自然字符串
通过在字符串前加r或R,示例如下:
print(r"\n this is a line with \n")
执行结果:
\n this is a line with \n
\n 将不再换行。
处理unicode字符串
python允许处理unicode字符串,加前缀u或U,示例如下:
print(u"this is an unicode string")
输出 print
print() 可以是一个字符串,示例如下:
print('hello, world')
也可以是多个字符串,用逗号,
隔开,就可以连成一串输出:
print('I', 'love', 'you')
执行结果:
I love you #逗号会转换为空格。
也可是数字或计算,示例如下:
print(1)
print(1 + 2)
print('1 + 2 = ',1 + 2)
执行结果:
1
3
1 + 2 = 3
python 默认输出是换行的,如果要实现不换行需要加上end参数:
print(1, end=' ')
print(2, end=' ')
小结
这篇文章学习了 Python 的基础语法特点,帮助我们在后面开发过程中,不会因这些小问题而使程序运行异常。
评论区