两大特征:
动态性语言:动态指代码运行时才被编译器一行一行翻译执行
强类型:强类型指被绑定一个类型后便不能修改,不能与其他类型混用。
基本语法:
变量命名规则、缩进原则、特殊关键字和特殊运算符
命名规则:
- 允许包括英文、数字以及下划线,不能以数字开头
- 名称区分大小写
特殊下划线开头得变量是有特殊意义的:
- 类变量若以单下划线(_)开头,代表不能直接访问,类似于C# 的受保护型变量,标识不能通过import module_name导入
- 类变量若以双下划线(__)开头,表示类为私有成员,不能被导入和其他类变量访问。
- 以双下划线开头和双下划线结尾的变量是Python里面专用标识,有特殊身份。
Python 变量命名习惯一般遵守蛇形命名法:
- 一般变量命名:book_id、book_store_count;
- 类名首字符为大写,如Python 内置模块 collctions.abc中的Iterable类,我们自定义的Book类等。
- 类方法名:get_store_count();
- 其他特殊变量,会全部大写,M_PI、MAX_VEHICLE_SPEED
缩进原则
在python中缩进的层级结构表示代码的逻辑层次。
Python的缩进方法,一般为4个字符。
代码行 class Book 与代码行 # 定义类的参数 的缩进,此处为4个字符。
代码行def __add__(self,book):与 return 所在行缩进也是4个字符。
特殊关键字 35个关键字
Flase await else import pass
None break except in
raise
True class finally is
return
and continue for lambda try
as def from nonlocal
while
assert del global not with
async elif if or
yield
自定义变量名不能与它们重复。
常用且不同于其他语言C++ 和 Java 的关键字,如:
- True 和 False 表示值得真假,在 Java 中是true 和 false
- 逻辑反操作 Python 使用 not,java 是 !
- None 表示空值,Java 使用null
- Python 两个条件同时满足使用 and ,java 是 &&
- 两者满足其一,Python 使用 or ,java 是 ||
- Python 使用elif,java 是else if
其他比较特殊的关键字:
- del 用于删除可迭代对象中某个元素
- def 用于定义函数
- 带 yield 用于定义生成器(gennerator)函数
- global 和nonlocal 一种是应用Python 函数式编程的闭包场景
- pass 一种应用是定义接口,也是Python 语言中有的一个关键字
Python 的运算符包括
+ | - | * | ** | / | // |
% | @ | ||||
<< | >> | & | | | ^ | ~ |
:= | |||||
< | > | <= | >= | == | != |
三个比较特殊的:// 、** 、:=
// 用于两个数值相除且向下取整,与Python 的math模块中floor功能相似。
** 用于幂运算:
:=,在2019年,Python 3.8 版本才被支持的运算符,成为:海象运算符