Python是一门极易入手的解释型面向对象编程语言。学习Python,我建议先学习Python语法(会看代码),再学习必须掌握的函数(会写简单代码),然后按条件控制if、循环for/while、异常处理try-except、函数定义def、类定义class、库导入import、文件读写with的顺序围绕关键字学习声明语句(会写复杂代码),最后按照实际需求学习其它高级用法。Python 快速入门系列分为1和2两个部分。这篇文章是这个系列的第一篇。这里列出本人整理的基本语法大纲,给Python语法学习阶段提供参考。

如果你已经对 Python 语法大概掌握并且想马上学习具体的函数和声明关键字,点击链接跳转至Python 快速入门2————常用函数与声明关键字


Python 基本语法大纲

一、语句形式 ———— Python 代码解释并运行的基本单位

  1. 注释语句(用于提升代码可读性):

    • 单行注释# 注释内容
    • 多行注释'''多行注释内容'''
      例:# 这是一条注释语句。
  2. 函数语句(用于调用代码块或执行 副作用 ):

    • 一般函数语句函数名(参数列表)
      例:print("Hello, world!")
      其中,函数名可用 匿名函数(lambda)代替,例:(lambda x: x**2)(5)

    • 方法访问语句对象.方法名(参数列表)
      例:my_list.append(10)

  3. 赋值语句(用于给内存地址设置值):

    • 一般赋值语句变量名 = 值
      例:a = 10

    • 复合赋值语句变量名 +=(或其它) 值
      例:a += 10

  4. 声明语句(通过关键字声明数据和控制结构):

    • 一般声明语句关键字 值
      例:return 10

    • 复合语句(含代码块的声明语句)
      一般关键字语句:
              代码块(注意四个空格的 缩进
      主流的代码编辑器在Python的编辑环境下,在冒号后按下回车键通常会补上缩进,但也可以手动输入。
      例:
      if a > 0:
              print("a is positive")

    • 无值声明语句关键字
      例:pass

  5. 装饰器调用(用于修改函数的行为):

    • @装饰器名
      声明函数
      例:
      @my_decorator
      def my_func():
              pass

语句形式之思维导图如下:

语句形式思维导图

所以,一篇 Python 代码会有注释语句、函数语句、赋值语句、声明语句、装饰器调用这五大语句形式。将他们进行合理的运用就可以完成一篇完整 Python 代码的编写。

二、通过数据的表示语法从而隐声明数据类型

  1. 整形(int)

    • 一个 整数 ,例:10
  2. 浮点型(float)

    • 一个 小数 ,例:3.14
  3. 字符串(str)

    • "字符串内容",用 单引号双引号 包装
    • 有时可加 字面量前缀 ,有 r(原始字符串)、u(Unicode字符串)、f(格式化字符串)、b(字节字符串)等,前缀也可以组合使用;有时也通过 % 占位符 格式化字符串
      例:r"Hello, world!\This "\" can be kept."
  4. 布尔型(bool)

    • 关键字 TrueFalse,例:True
  5. 列表(list)

    • [元素1, 元素2,..., 元素n],用 中括号 包装
      例:[1, 2, 3]
      有趣的是,列表可以执行元素的副作用,比如如果其中一个元素为 print 函数,则会执行 print 函数。
  6. 元组(tuple)

    • (元素1, 元素2,..., 元素n)(元素1,),用 圆括号 包装
      例:("apple", "banana", "orange")
  7. 字典(dict)

    • {键1:值1, 键2:值2,..., 键n:值n},用 花括号 包装,冒号链接
      例:{"name": "Jane", "age": 20}
  8. 集合(set)

    • {元素1, 元素2,..., 元素n},用 花括号 包装
      例:{1, 2, 3}

数据类型之思维导图如下:

数据类型思维导图

通过以上数据的表示语法(小数点、引号、中括号、圆括号、花括号、冒号),Python 可以隐式地声明数据类型(有整形、浮点型、字符串、布尔型、列表、元组、字典、集合等),使代码更加简洁、易读。

三、表达式运算(用符号或关键字连接两边的常量或变量返回一个值,这里只列出七类常见的)

  1. 算术表达式
    例:a + b(加法,返回两个数的和)

  2. 比较表达式
    例:a > b(比较大小,返回 TrueFalse

  3. 逻辑表达式
    例:a > 0 and b < 0(表示两个条件都成立)

  4. 条件表达式
    例:a if 条件 else b(表示条件成立时返回 a,否则返回 b

  5. 成员运算表达式
    例:a in b(判断 a 是否是 b 的成员,比如 a 是否为 b 列表的元素、字符串的子串等)

  6. 身份运算表达式
    例:a is b(判断 ab 是否指向同一个内存地址)

  7. 推导式

    • 生成器表达式(可看作元组推导式,但返回对象类型是生成器对象而非元组):
      (表达式 for 变量 in 可迭代对象 if 条件)
      也可以简写为 (表达式 循环声明 条件声明)
      例:(x**2 for x in range(10) if x % 2 == 0)

    • 列表、字典、集合推导式是生成器表达式的语法特化,但返回对象类型是列表、字典和集合:

      • 列表推导式:[表达式 循环声明 条件声明]
      • 字典推导式:{键表达式:值表达式 循环声明 条件声明}
      • 集合推导式:{表达式 循环声明 条件声明}

记住以上七类常见的表达式运算,可以更方便的对处理中的变量或其他数据进行运算。

四、面向对象(用一个点引申出对象的属性和方法)

  1. 属性访问

    • 对象.属性名
      例:rail.signal
  2. 方法调用(其实就是 方法访问语句 ):

    • 对象.方法名(参数列表)
      例:rail.set_signal("red")

因此面向对象访问的点分隔结构让我们更简洁易读地访问对象属性和方法。

五、索引和切片

  1. 索引序列(访问 序列 中的 元素 ):

    • 序列[索引]
      例:my_list[0]
  2. 切片序列(访问 序列 中的 一部分元素 ):

    • 序列[起始索引:结束索引:步长]
      例:my_list[1:3]
  3. 索引字典(访问 字典 中相应 匹配的 ):

    • 字典[键]
      例:my_dict["name"]

中括号索引后缀,让我们能简洁地访问序列和字典中的元素。

六、命名规范

  1. 变量名:下划线小写(snake_lower_case)
    例:my_varmy_variable_my_var

  2. 常量名:下划线大写(SCREAMING_SNAKE_CASE)
    例:MAX_VALUEPI_VALUEUSER_NAME

  3. 函数名:下划线小写(snake_lower_case)
    例:my_functionmy_funcmy_func_name

  4. 类名:大驼峰命名法(CamelCase)
    例:MyClassMy_ClassMy_Class_Name

除此之外,要尽量避免使用关键字、保留字或特殊字符作变量、常量、函数或类名,否则会造成命名冲突或歧义。


以上就是本人整理的 Python 基本语法大纲,先从最基本的语句形式入手,再讲了数据的表示、表达式运算、面向对象、索引和切片,最后介绍了命名规范,希望对你有所帮助。Python 快速入门系列会持续更新,下一期会介绍Python一些必会的函数和声明关键字。