Python基础知识:
- 1 标识符(Identifier)
- 2 关键字/保留字(Keyword)
- 3 引号
- 4 编码
- 5 输入输出
- 6 行与缩进
- 7 多行语句
- 8 注释
- 9 数据类型
- 9.1 数字(Number)类型
- 9.2 变量(variate)
- 9.3 字符串(String)
- 9.4 列表(List)
- 9.5 元组(tuple)
- 9.5 Set(集合)
- 9.6 字典(dictionary)
- 9.6 其他类型
- 10 空行
- 11 运算符
- 11.1 常用运算符
- 11.1.1 算数运算符
- 11.1.2 比较(关系)运算符
- 11.1.3 赋值运算符
- 11.1.4 逻辑运算符
- 11.1.5 位运算符
- 11.1.6 成员运算符
- 11.1.7 身份运算符
- 11.2 运算符优先级
- 参考
1 标识符(Identifier)
标识符是编程时使用的名字,用于给变量、函数、语句块等命名。
Python标识符命名规则:
- 内容限定 : 只能包含 英文 , 中文 , 数字 , 下划线 , 其它字符不允许在标识符中出现 ;
- 标识符的 开头不能是数字 ;
不推荐使用中文标识符 , 可能出现未知隐藏问题 , 如与其它程序交互问题等 ; - 大小写敏感 : 大小写不同的两个标识符是不同的标识符 ;
- 非关键字 : 每个关键字都有特定的用途 , 不能使用关键字作为标识符 ;
关键字大小写敏感 , 如果关键字是大写 , 如 : False , True , None , 那么使用 false , true , none 作为标识符是允许的
以下划线开头的标识符有特殊含义:
- 单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类- 提供的接口进行访问,不能用 from xxx import * 导入
- 双下划线开头的标识符,如:__xx,表示私有成员
- 双下划线开头和结尾的标识符,如:xx,表示 Python 中内置标识,如:init() 表示类的构造函数。
2 关键字/保留字(Keyword)
以下是 Python 中的关键字(保留字),在自定义标识符时不能使用关键字。
-------- | ----- | ----- | ----- | ----- | ----- |
---|---|---|---|---|---|
and | exec | not | assert | finally | or |
break | for | pass | class | from | |
continue | global | raise | def | if | return |
del | import | try | elif | in | while |
else | is | with | except | lambda | yield |
Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
>>> import keyword
>>> 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']
3 引号
Python 可以使用引号(‘)、双引号(")、三引号(’‘’ 或 “”")来表示字符串,引号的开始与结束须类型相同,三引号可以由多行组成。
4 编码
Python2 中默认编码为 ASCII,假如内容为汉字,不指定编码便不能正确的输出及读取,比如我们想要指定编码为 UTF-8,Python 中通过在开头加入 # -- coding: UTF-8 -- 进行指定。
Python3 中默认编码为 UTF-8,因此在使用 Python3 时,我们通常不需指定编码。
5 输入输出
Python 输出使用 print(),内容加在括号中即可。如下所示:
print('Hello Python')
Python 提供了一个 input(),可以让用户输入字符串,并存放到一个变量里。如下所示:
name = input()
print('Hi',name)
6 行与缩进
Python 不使用 {} 来控制类、函数、逻辑判断等,而是使用缩进。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。
7 多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句。如下所示:
如果包含在 []、{}、() 括号中,则不需要使用 \。如下所示:
8 注释
Python 中的注释有单行注释和多行注释。
Python 中单行注释使用 #,多行注释使用三个单引号(‘’')或三个双引号(“”")。如下所示:
# 单行注释
'''
多行注释
多行注释
'''
"""
多行注释
多行注释
"""
注意: 多行注释可以嵌套使用,但是单行注释不能嵌套使用。
9 数据类型
常用的数据类型包括整型(int)、浮点型(float)、字符串(str)、布尔型(bool)、列表(list)、元组(tuple)、字典(dict)等。
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
9.1 数字(Number)类型
Python中数字有四种类型:整数、布尔型、浮点数和复数。
- 整数(Integer):可以为任意大小、包含负数
表示整数,可以进行加、减、乘、除等运算。可以使用type函数查看变量的数据类型。 - 布尔型(Boolean):只有 True、False 两种值
表示真(True)或假(False)的值,用于进行逻辑判断。可以进行与、或、非等逻辑运算。
在 Python 中,True 和 False 都是关键字,表示布尔值。 - 浮点数(Float):就是小数
表示带有小数部分的数值,可以进行加、减、乘、除等运算。在进行浮点数运算时应注意精度问题。
9.2 变量(variate)
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
多个变量赋值
Python允许同时为多个变量赋值。例如:
a = b = c = 1
以上实例,创建一个整型对象,值为 1,从后向前赋值,三个变量被赋予相同的数值。
9.3 字符串(String)
- 字符串(String):以单引号 ‘、双引号"、三引号 ‘’’ 或 “”"括起来的文本
常用于存储文本,在Python中使用单引号或双引号括起来。字符串可以进行拼接、切片、替换等操作。可以使用len函数获取字符串的长度。
Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
9.4 列表(List)
列表可以完成大多数集合类的数据结构实现。用于存储一组有序的元素,可以包含不同的数据类型。列表可进行索引、切片、追加、插入、删除等操作。可以使用len函数获取列表的长度。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:
变量[头下标:尾下标]
9.5 元组(tuple)
元组(tuple)与列表类似,用于存储一组有序的元素。不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
元组中的元素类型也可以不相同:
9.5 Set(集合)
Python 中的集合(Set)是一种无序、可变的数据类型,用于存储唯一的元素。
集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。
在 Python 中,集合使用大括号 {} 表示,元素之间用逗号 , 分隔。
另外,也可以使用 set() 函数创建集合。
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
9.6 字典(dictionary)
字典(dictionary)是Python中另一个非常有用的内置数据类型。
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
9.6 其他类型
- 空值(Null):用 None 表示
- 常量(Constant):不可变
10 空行
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是 Python 语法的一部分。书写时不插入空行,Python 解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
记住:空行也是程序代码的一部分。
11 运算符
Python 语言支持以下类型的运算符:
- 算术运算符
- 比较(关系)运算符
- 赋值运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
- 运算符优先级
11.1 常用运算符
11.1.1 算数运算符
运算符 | 描述 | 示例 |
---|---|---|
“+” | 相加 | a + b |
" - " | 相减 | a - b |
“*” | 相乘 | a * b |
/ | 相除 | a / b |
% | 取模 | a % b |
** | 幂 | a**b 表示 a 的 b 次幂 |
// | 取整除 | 9 // 4 结果为 2 |
11.1.2 比较(关系)运算符
运算符 | 描述 | 示例 |
---|---|---|
== | 是否相等 | a == b |
!= | 是否不等于 | a != b |
“>” | 是否大于 | a > b |
“>=” | 是否大于等于 | a >= b |
<= | 是否小于等于 | a <= b |
11.1.3 赋值运算符
运算符 | 描述 | 示例 |
---|---|---|
= | 简单的赋值运算符 | a = b + c |
+= | 加法赋值运算符 | a += b 等效于 a = a + b |
-= | 减法赋值运算符 | a -= b 等效于 a = a - b |
*= | 乘法赋值运算符 | a *= b 等效于 a = a * b |
/= | 除法赋值运算符 | a /= b 等效于 a = a / b |
%= | 取模赋值运算符 | a %= b 等效于 a = a % b |
**= | 幂赋值运算符 | a **= b 等效于 a = a ** b |
//= | 取整除赋值运算符 | a //= b 等效于 a = a // b |
11.1.4 逻辑运算符
运算符 | 描述 | 示例 |
---|---|---|
and | 布尔类型与 | a and b |
or | 布尔类型或 | a or b |
not | 布尔类型非 | not a |
11.1.5 位运算符
运算符 | 描述 | 示例 |
---|---|---|
& | 与 | a & b |
或 | a | |
^ | 异或 | a ^ b |
~ | 取反 | ~a |
<< | 左移动 | a << 3 |
“>>” | 右移动 | a >> 3 |
11.1.6 成员运算符
运算符 | 描述 | 示例 |
---|---|---|
in | 判断两个标识符是否引用同一个对象 | a in b |
not in | 判断两个标识符是否引用不同对象 | a not in b |
11.1.7 身份运算符
运算符 | 描述 | 示例 |
---|---|---|
is | 判断两个标识符是否引用同一个对象 | a is b |
is not | 判断两个标识符是否引用不同对象 | a is not b |
注意: 数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
11.2 运算符优先级
以下表格列出了从最高到最低优先级的所有运算符, 相同单元格内的运算符具有相同优先级。 运算符均指二元运算,除非特别指出。
相同单元格内的运算符从左至右分组(除了幂运算是从右至左分组):
运算符 | 描述(由上至下对应优先级由高到低) |
---|---|
** | 幂运算 |
~ + - | 取反、正号、负号 |
*/ % // | 乘、除、取模、取整除 |
± | 加法、减法 |
<< >> | 左移、右移 |
& | 与 |
^ | 异或、或 |
<= < > >= | 比较运算符 |
== != | 是否等于、是否不等于 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |
参考
1、CSDN博客-Python 基础(一):入门必备知识