Python系列教程一Python的基础语法(二)
前言
通过上一章的学习,我们已经初步了解到Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,当然也是一门脚本语言,像前端需要学习的JavaScript一样也是一门脚本语言,而脚本语言最大的优势就是“不需要事先进行编译”,不像Java,C#等编程语言一样,需要先通过编译器进行编译然后执行,脚本语言可以直接读取文本文件,一边解释,一边执行。
本章目标
-
Python的标识符
-
Python的保留字(关键字)
-
Python的注释
-
Python的行与缩进
-
Python的多行语句
-
Python的引号
-
Python的空格与行
-
Python的print输出
-
Python的import 与 from...import的区别
Python的标识符
每一门编程语言都有标识符,Python也一样,但是换汤不换药,许多编程语言都有相似之处,对于Python的标识符,我总结如下四点:
- 第一个字符必须是字母表中字母或下划线
- 标识符中的其它部分由字母,数字,下划线组成
- 标识符对大小写敏感,例如:True和true是两个不同的变量
- 不能是Python的关键字,例如:def(函数),class(类)等就不能作为标识符
注意:
- 在python3中,可以用中文作为变量名,非ASCII标识符也是允许的(但不推荐)
- 以下划线开头的标识符是有特殊意义的,以单下划线开头
_foo
的代表不能直接访问的类属性(类的私有成员),需通过类提供的接口进行访问,不能用from xxx import *
而导入 - 以双下划线开头和结尾的
__foo__
代表 Python 里特殊方法专用的标识,如__init__()
代表类的构造函数
Python的保留字(关键字)
下面的列表显示了在Python中的保留字,这些保留字不能用作常数或变数,或任何其他标识符名称。
所有 Python 的关键字只包含小写字母。
and | exec | not |
assert | finally | or |
break | for | pass |
class | from | |
continue | global | raise |
def | if | return |
del | importt | try |
elif | in | while |
else | is | with |
except | lambda | yield |
Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字
import keyword
print(keyword.kwlist)
结果:
['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']
Python的注释
说到注释的话,可能大家都不陌生,毕竟大家都是搞开发的,但是Python这一门语言的注释非常独特,一般的编程语言可能使用//来代表单行注释,/*开始*/结束代表多行注释。Python使用#表示单行注释,‘’‘三个单引号之间代表多行注释’‘’,或者“”“三个多引号之间代表多行注释""",惊不惊喜,意不意外。
#三、注释 print('Hello world!')#这是一个单行注释,不会输出 """ 这是一个多行注释,不会被输出 """
Python的行与缩进
学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。
实例:
if True:
print('true')
else:
print('false')
以下代码将会执行错误:
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
# 没有严格缩进,在执行时会报错
print ("False")
执行以上代码,会出现如下错误提醒:
File "test.py", line 11
print ("False")
^
IndentationError: unindent does not match any outer indentation level
注意:IndentationError: unindent does not match any outer indentation level错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。
补充:如果是 IndentationError: unexpected indent 错误, 则 python 编译器是在告诉你"可能是tab和空格没对齐的问题",所有 python 对格式要求非常严格。因此,在Python的代码块中必须使用相同数目的行首缩进空格数。
Python的多行语句
Python语句中一般以新行作为语句的结束符。
但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示:
total = item_one + \
item_two + \
item_three
语句中包含 [], {} 或 () 括号就不需要使用多行连接符。如下实例:
days = ['Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday']
Python的引号
Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须的相同类型的。
其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。
word = 'word'
sentence = "这是一个句子。"
paragraph = """这是一个段落。
包含了多个语句"""
Python的空格与行
在 Python 中,为了让代码看起来更清晰,具有更好的可读性,有时会在代码中太内疚空格和空行。空格或者空行与代码缩进不同,并不是 Python 语法的一部分。
书写时不插入空格或者空行,Python 解释器运行也不会出错。但是空格或者空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
空格和空行是为了增加代码可读性。
比如在变量复制时添加空格
hello = "world"
比如类成员函数之间空一行,模块级函数和类定义之间空两行;
class A:
def __init__(self):
pass
def hello(self):
pass
def main():
pass
Python的print输出
print() 默认输出是换行的,如果要实现不换行需要加上end参数。
x="a"
y="b"
print(x, end=' ')
print(y, end=' ')
Python的import 与 from...import的区别
在 python 用 import 或者 from...import 来导入相应的模块。
- 将整个模块(somemodule)导入,格式为: import somemodule
- 从某个模块中导入某个函数,格式为: from somemodule import somefunction
- 从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
- 将某个模块中的全部函数导入,格式为: from somemodule import *
1、导入 sys 模块
import sys
print('================Python import mode==========================')
print ('命令行参数为:')
for i in sys.argv:
print (i)
print ('\n python 路径为',sys.path)
2、导入 sys 模块的 argv,path 成员
from sys import argv,path # 导入特定的成员
print('================python from import===================================')
print('path:',path) # 因为已经导入path成员,所以此处引用时不需要加sys.path
参考:
http://www.ityouknow.com/python/2019/08/02/python-002.html
https://www.runoob.com/python/python-basic-syntax.html
作者:一只流浪的kk 出处:https://www.cnblogs.com/jjgw/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留原文链接,否则将追究法律责任 |
微信扫一扫 |