每一秒钟的时间都值得铭记

0%

Python基本数据类型

Python 有多种基本数据类型,用来存储内存中的数据。Python 一共提供了三种基本数据类型,其中分为是:数值型、字符型、布尔型。

数值型

数值型就是用来存储数字的类型,例如一个人的年龄,身高,体重,一家公司的年度营收,员工总数等等。

在 Python 中,提供了数字类型来保存这些数据,并且这些数值类型是不可改变的数据类型。如果需要修改数字类型变量的值,那么会先把该值放入内存中,然后修改变量让其指向新的内存地址。

例如:

1
2
3
4
5
6
7
a = 10
b = 10
print(id(a))
print(id(b))
a = 12
print(id(a))
print(id(b))

运行结果:

1
2
3
4
140718916818880
140718916818880
140718916818944
140718916818880

说明:在 Python 语言中,可以使用内置的函数 id() 来获取变量所指向的内存地址。

a 与 b 虽然是不同的变量,但是他们的值都是相同的,所以它们在内存中的地址也是相同的,而当改变变量 a 的值的时候,并不是直接改变变量 a 的值,而是改变了变量 a 所指向的内存地址。

在 Python 语言中,数值类型主要包括整数、浮点数和复数。

整数

整数就是整数数值,是没有小数部分的数值,例如:0、3、10、-1 等等。整数包括正整数、负数和0。Python 中的整数会自动转换高精度计算,所以 Python 中的整数类型的位数是任意的。

例如:

1
2
3
4
5
6
7
8
a = 123456
print(a)
b = 0
print(b)
c = -1
print(c)
d = 25465486413516513542315452153423134654134531
print(d)

运行结果:

1
2
3
4
123456
0
-1
25465486413516513542315452153423134654134531

值得一提的是,Python 中的整数类型,如果是十进制整数,除了0之外,其他数值不能以0作为开头。

例如:

1
2
e = 000000000
print(e)

运行结果:

1
0

例如:

1
2
f = 000023
print(f)

运行结果:报错

Python 中的整数除了十进制类型外,还有八进制、十六进制、二进制等等,在这里不过多讲解。

浮点数

浮点数主要由整数部分和小数部分组成,主要用于处理包括小数的数值。例如:3.1415926、-152.01、0.0001 等。

在使用浮点数计算的时候,可能会出现小数位数不确定的情况。

例如:

1
2
3
4
a = 0.1 + 0.1
print(a)
b = 0.1 + 0.2
print(b)

运行结果:

1
2
0.2
0.30000000000000004

这是因为浮点数值在内存中保存方法导致的,基本上所有的计算机语言都存在这个问题,我们这里直接忽略多余的小数位即可。

复数

Python 中的复数与数学中的复数的表现形式完全一致,都是有实数和虚数构成,并且使用 jJ 表示虚部。

例如:

1
2
a = 6.54 + 32.01j
print(a)

运行结果:

1
(6.54+32.01j)

字符串类型

字符串就是连续的字符组成的,通常使用 单引号''、双引号""、三引号''''''或者 """"""包裹起来。

这三种类在 Python 中,字符串和整数一样,也属于不可变序列。

例如:

1
2
3
4
5
6
7
a = "字符串类型"
b = "字符串类型"
print(id(a))
print(id(b))
a = "字符串类型2"
print(id(a))
print(id(b))

运行结果:

1
2
3
4
1357027606320
1357027606320
1357027224800
1357027606320

在 Python 中,单引号和双引号的字符串都只能在同一行,而三引号的字符串可以多行书写。

例如:

1
2
3
4
5
6
7
8
9
10
11
a = '单引号字符串'
b = "双引号字符串"
c = '''三引号字符串
可以多行展示
|————————|
| |
|--------|
结束'''
print(a)
print(b)
print(c)

运行结果:

1
2
3
4
5
6
7
8
单引号字符串
双引号字符串
三引号字符串
可以多行展示
|————————|
| |
|--------|
结束

在 Python 中,存在转义字符,所谓转义字符,是指使用反斜杠 \ 对一些特殊字符进行转义。

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# \n 换行符
a = "Python\n字符串a"
print(a)
# \0 空
b = "Python\0字符串b"
print(b)
# \t 水平制表符
c = "Python\t字符串c"
print(c)
# \" 双引号
d = "Python\"字符串d"
print(d)
# \' 单引号
e = 'Python\'字符串e'
print(e)
# \\ 反斜杠
f = "Python\\字符串f"
print(f)
# \f 换页
j = "Python\f字符串j"
print(j)

运行结果:

1
2
3
4
5
6
7
8
Python
字符串a
Python 字符串b
Python 字符串c
Python"字符串d
Python'字符串e
Python\字符串f
Python 字符串j

除了这些转义字符外,还有其他一些不常用的转义字符,在这里不过多讲述。

值得一提的是,在 Python 中,在字符串定界符引前加上字母r(或者R),即可原样输出字符串。

例如:

1
2
a = r"Python\n字符串a"
print(a)

运行结果:

1
Python\n字符串a

布尔类型

布尔类型主要表示为真值或者假值,在 Python 中,TreuFalse 都解释为布尔类型。

Python 中的布尔类型可以解释为数值类型进行计算,True 解释为 1,False 解释为 0。

例如:

1
2
3
4
a = True +  1
b = False + 1
print(a)
print(b)

运行结果:

1
2
2
1

在 Python 中,所有的对象都可以真值测试,其中,以下几种情况可以被判定为 False,其他情况则为 True

  • FalseNone
  • 数值中的0,包括0、0.0、虚数0。
  • 空序列,包括空字符串、空元组、空列表、空字典。
  • 自定义的对象,该对象的__bool__ 方法返回 False,或者 __len__ 方法返回0。

类型转换

在 Python 中,可以使用 Python 的内置函数,将一些类型的数据转换为另外一种类型。

例如:

1
2
3
4
5
6
7
a = 1
print(type(a))
print(type(str(a)))

b = "100"
print(type(b))
print(type(int(b)))

运行结果:

1
2
3
4
<class 'int'>
<class 'str'>
<class 'str'>
<class 'int'>

常用的类型转换函数有:

函数 作用
int(x) 将x转换为整数类型
float(x) 将x转换为浮点数类型
complex(real [,imag]) 创建一个复数
str(x) 将x转换为字符串类型
repr(x) 将x转换为表达式字符串
eval(x) 计算在字符串中的有效 Python 表达式,并返回一个对象
chr(x) 将整数x转换为一个字符
坚持原创技术分享,您的支持将鼓励我继续创作!
-------------这是我的底线^_^-------------