在上一节的学习中,我们在定义debt = 700时,实际上已经涉及到了数据类型的概念。
就像我们平时说的, 小数, 整数, 复数之间的区别一样, 在每种编程语言中, 数据都可以以不同的形式储存在内存中, 这些不同的形式就叫做【数据类型】。用不同数据类型储存的数据, 具有不同的储存结构, 对应的也就有不同的使用方法和功能。
下面让我们来看一下python中的常用数据类型。

一、数据类型

1、数据类型概览

数据类型 解释 备注
数字(Numbers)
- 整数int, 浮点数float, 复数complex
布尔(Booleans)
- 函数为bool, 含有的值为True和False
字符串(Strings)
- 函数为str ,Uniconde字符序列, 在引号内包含
列表(list)
- 有序的值的序列
元组(tuple)
- 有序的值的序列且不可改变
字典(Dictionaries)
- 函数为dict, 无序的键值对的组合
集合(Sets)
- 函数为set, 无序的不含重复值的序列

(1)string 字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号 ( ‘ 或 “ ) 来创建字符串。创建字符串很简单,只要为变量分配一个值即可。例如:

  1. var01 = '我的名字是:'
  2. var02 = '小虎'
  3. """
  4. 请注意,python不区分单字符变量和多字符变量,这与其他编程语言可能不同,如java分别用char和String定义单字符和多字符串
  5. """

1、字符串的拼接

  1. var01 = '我的名字是:'
  2. var02 = '小虎'
  3. print(var01 + var02)
  4. var03 = var01 + var02
  5. print(var03)

2、转义符

转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\‘ 单引号
\“ 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,y 代表 0~7 的字符,例如:\012 代表换行。
\xyy 十六进制数,以 \x 开头,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

举例如下
image.png

如需要在字符中使用特殊字符时,python用反斜杠\转义字符,这会产生至少1个问题:

3、windows系统写的路径名的转义问题

问题描述

在windows系统中,上下级文件夹之间、文件夹与文件名之间均是用\来分隔的,一个完整的路径举例为(请注意下面这一变量赋值是错误的,仅是为了举例):

  1. file = 'd:\OneDrive\07_参与审计项目记录\03_211231XXXX年报审计\XXXX总体架构图.pdf'

但由于python用反斜杠\转义字符,上面的路径在实际应用时会直接报错,因为其中原本正常的分隔符\会被当作转义符,直接导致路径不能识别,产生EOL相关报错。

解决办法1
  1. file = 'd:\\OneDrive\\07_参与审计项目记录\\03_211231XXXX年报审计\XXXX总体架构图.pdf'

解决办法2
  1. file = r'd:\OneDrive\07_参与审计项目记录\03_211231XXXX年报审计\XXXX总体架构图.pdf'
  2. """
  3. 上面代码中,字符串前加r后,r后相邻的被引号包围起来的字符串部分,其中的\不会被作为分隔符,而是视作正常的路径分隔符
  4. r表示"row",简单理解为对后续的内容不执行转义
  5. """

2、数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

函数 描述
int(x [,base]) 将x转换为一个整数
float(x) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x) 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d 必须是一个 (key, value)元组序列。
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串

二、运算符

下面以a=700, b=300为例进行计算

1、Python内置的基础运算符

运算符 描述 实例
+ 两个对象相加 a + b 输出结果 30
- 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ x除以y b / a 输出结果 2
// 取整除 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
% 取余 返回除法的余数 b % a 输出结果 0
** 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000

2、Python内置的计算函数

函数 说明
abs(x) 返回x的绝对值,类型随x
max(n1, n2, …) 返回最大值
min(n1, n2, …) 返回最小值
round(x [,n]) 默认返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的n位。
例如round(1.23456, 3)返回1.235

3、复合赋值运算符

运算符 描述 实例
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c = a 等效于 c = c a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c = a 等效于 c = c a
//= 取整除赋值运算符 c //= a 等效于 c = c // a

4、比较运算符

运算符 描述 示例
== 检查两个操作数的值是否相等,如果是则条件变为真。 如a=3,b=3则(a == b) 为 true.
!= 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 如a=1,b=3则(a != b) 为 true.
> 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 如a=7,b=3则(a > b) 为 true.
< 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 如a=7,b=3则(a < b) 为 false.
>= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。 如a=3,b=3则(a >= b) 为 true.
<= 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。 如a=3,b=3则(a <= b) 为 true.

5、逻辑运算符

运算符 逻辑表达式 描述 实例
and x and y 布尔”与” - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔”或” - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔”非” - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False
  1. and 代表符号的两边如果都为真,则结果为真
  2. or 两边如果有一边以上为真,则结果真
  3. not 颠倒真和假,如果原来是真,就变成假,如果原来是假,就变成真

6、math科学计算库

函数 说明
fabs(x) 返回x的绝对值,类型是浮点数
ceil(x) 取x的上入整数,如math.ceil(4.1)返回5
floor(x) 取x的下入整数,如math.floor(4.9)返回4
exp(x) 返回e的x次幂,e是自然常数
sqrt(x) 返回x的平方根,返回值是float类型
modf(x) 返回x的整数部分和小数部分,两部分的符号与x相同,整数部分以浮点型表示。例如math.modf(4.333),返回元组(0.3330000000000002, 4.0)
log10(x) 返回以10为基数的x的对数,返回值类型是浮点数
log(x,y) 返回以y为基数的x的对数,返回值类型是浮点数
pow(x, y) 返回x的y次幂,即x**y