概述
基本数据类型一
- 一、语法概念
- 1.1 表达式
- 1.2 语句
- 1.3 程序
- 1.4 函数(function)
- 二、标识符
- 2.1 关键字
- 2.2 标识符的概念
- 三、基本数据类型
- 3.1 数据类型
- 四、变量
- 4.1 变量的概念
- 4.2 变量的运算
- 五、字符串
- 5.1 字符串概念
- 5.2 转义字符
- 5.3 长字符串
- 5.4 Unicode 字符串
- 5.5 格式化字符串
- 5.6 python的字符串内建函数
一、语法概念
1.1 表达式
- 表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合
#这些都属于表达式#
>>> a = 5
>>> b = [1,2,3,4]
>>> c > b
>>> c = 2 + 6
>>> a or b and c
>>> e = int('1') * 3
#上面表达式中,类似于+、=、>、or、and这种的都是属于运算符,而他们两边的字符、数字则是属于操作数,然后整个的“a = 1”
- 表达式特点
表达式一般仅仅用于计算一些结果,不会对程序产生实质性的影响
如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出 - 表达式优先级
例如:表达式是有优先级的,最简单的如我们赋值运算符中的数学算式:“0 * 1 + 2”和“0 + 1 * 2”结果一定不一样,在“0 + 1 * 2”中优先运算“1 * 2”
#在下面这个运算中,假设a、b、c都是ture值,因为and 的优先级大于 or ,所以最后结果是a#
>>> a or b and c
a
#在下面这个运算中,假设a、b、c、d都是ture值#
#因为 + 的优先级大于 and 大于 or ,所以最后结果是a + b的结果#
>>> a + b or c and d
a + b
#用括号表现优先级就是:先运行a + b,再运行c or d 得到 d ,最后运行(a+b) or d#
>>> (a + b) or (c and d)
a + b
运算符说明 | python运算符 | 优先级 | 结合性 |
---|---|---|---|
小括号 | ( ) | 19 | 无 |
索引运算符 | x[i] 或 x[i1: i2 [:i3]] | 18 | 左 |
属性访问 | x.attribute | 17 | 左 |
乘方 | ** | 16 | 左 |
按位取反 | ~ | 15 | 右 |
符号运算符 | +(正号)、-(负号) | 14 | 右 |
乘除 | *、/、//、% | 13 | 左 |
加减 | +、- | 12 | 左 |
位移 | >>、<< | 11 | 左 |
按位与 | & | 10 | 右 |
按位异或 | ^ | 9 | 左 |
按位或 | | | 8 | 左 |
比较运算符 | ==、!=、>、>=、<、<= | 7 | 左 |
is 运算符 | is、is not | 6 | 左 |
in 运算符 | in、not in | 5 | 左 |
逻辑非 | not | 4 | 右 |
逻辑与 | and | 3 | 左 |
逻辑或 | or | 2 | 左 |
逗号运算符 | exp1, exp2 | 1 | 左 |
虽然 Python 运算符存在优先级的关系,但我不推荐过度依赖运算符的优先级,这会导致程序的可读性降低。因此,我建议读者:
- 不要把一个表达式写得过于复杂,如果一个表达式过于复杂,可以尝试把它拆分来书写
- 不要过多地依赖运算符的优先级来控制表达式的执行顺序,这样可读性太差,应尽量使用( )来控制表达式的执行顺序
1.2 语句
- 一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成
- 语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果
1.3 程序
- 程序就是由一条一条的语句和一条一条的表达式构成的
例如:print("Hello World!")
1.4 函数(function)
- 函数就是一种语句,函数专门用来完成特定的功能
- 函数长的形如:xxx()
- 函数的分类:
- 内置函数 : 或者内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运行时库中,程序员不比单独书写代码实现它,只需要调用既可。
- 自定义函数 : 由程序员自主的创建的函数 当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数
- 函数规则:
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。
二、标识符
2.1 关键字
- Python 包含的保留字可以执行如下命令进行查看:
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’]
- Python中的关键字如下所示:
2.2 标识符的概念
- 开发人员在程序中自定义的一些符号和名称。标识符是自己定义的,如变量名 、函数名等
- 组成:由26个英文字母大小写,数字 0-9 符号 _$
- 标识符的规则:
1.标识符中可以包含字母、数字、_,但是不能使用数字开头 例如:name1 name_1 _name1 1name(不行)
2.Python中不能使用关键字和保留字来作为标识符 - 命名规则
Python 中标识符的命名不是随意的,而是要遵守一定的命令规则,比如说:
标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。
标识符不能和 Python 中的保留字相同。有关保留字,后续章节会详细介绍。
Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。
例如,下面所列举的标识符是合法的:
UserID
name
mode12
user_age
例如,下面所列举的标识符是不合法的:
4word #不能以数字开头
try #try是保留字,不能作为标识符
$money #不能包含特殊字符
标识符的命名,除了要遵守以上这几条规则外,不同场景中的标识符,其名称也有一定的规范可循,例如:
- 当标识符用作模块名时,应尽量短小,并且全部使用小写字母,可以使用下划线分割多个字母,例如 game_mian、game_register 等。
- 当标识符用作包的名称时,应尽量短小,也全部使用小写字母,不推荐使用下划线,例如 com.mr、com.mr.book 等。
- 当标识符用作类名时,应采用单词首字母大写的形式。例如,定义一个图书类,可以命名为 Book。
- 模块内部的类名,可以采用 “下划线+首字母大写” 的形式,如 _Book;
- 函数名、类中的属性名和方法名,应全部使用小写字母,多个单词之间可以用下划线分割;
- 常量命名应全部使用大写字母,单词之间可以用下划线分割;
三、基本数据类型
3.1 数据类型
- 等号(=)用来给变量赋值。
- 多个变量赋值
a=b=c=10
- 标准数据类型
1、Number(数字)
Python3 支持 int、float、bool、complex(复数)。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
此外还可以用 isinstance 来判断:
>>> a = 20
>>> isinstance(a, int)
True
>>>
2、String(字符串)
3、List(列表)
4、Tuple(元组)
5、Set(集合)
6、Dictionary(字典)
- Python3 的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
四、变量
4.1 变量的概念
- 变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字。
- 变量命名规则
1、变量名由字母、数字、下划线组成要符合标识符的命名规范
2、数字不能开头
3、不能使用关键字
注意 : 是两个对象相等和两个对象是同一个对象是两个概念
4.2 变量的运算
- 变量的运算就是正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是一个浮点数类型
五、字符串
5.1 字符串概念
- 字符串是由数字、字母、下划线组成的一串字符
注意:
1、单引号和双引号不能混合使用
2、Python中用一对双引号或者一对单引号包裹的内容就是字符串
a1 = 'Hello World!'
a2 = "Python Runoob"
5.2 转义字符
- 转义字符是一种特殊的字符常量。转义字符以反斜线""开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
- 在需要在字符中使用特殊字符时,python 用反斜杠 转义字符。如下表:
转义字符 | 描述 |
---|---|
续行符 | |
\ | 反斜杠符号 |
’ | 单引号 |
" | 双引号 |
a | 响铃 |
b | 退格(Backspace) |
e | 转义 |