Python基础(3)-变量及数据类型

在介绍 Python 的变量及数据类型前,我们还需要了解 Python 中的保留字标识符

保留字:有些单词在 Python 中被赋予了特殊的含义,这些单词在对象命名时都不能使用。

# 查看Python中的保留字
import keyword
print(keyword.kwlist)

# 保留字列表
'''['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 
'await', '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']'''

标识符:给变量、函数、类、模块和其他对象起的名字。

命名规则:字母、数字、下划线,严格区分大小写,不能以数字开头,不能以保留字命名。

1. 变量的定义和使用

变量就是一个带标签的盒子,可以把需要的数据放进去,其由三部分组成:

标识:表示对象所存储的内存地址,可以使用内置函数 id() 来获取;

类型:表示对象的数据类型,可以使用内置函数 type() 来获取;

值:表示对象存储的具体数据,可以使用 print() 函数来输出打印。

name = "michael"
print(name, id(name), type(name))

'''name是变量名,可以自定义;
“= ”是赋值运算符,它可以将值赋给变量;
"michael"这个字符串就是值'''

# 输出结果
michael 2623526618800 <class 'str'>

变量,之所以叫变量,其是可以被改变的。当多次赋值后,变量名会指向新的空间。

name = "michael"
print(name, id(name), type(name))
# 给name重新赋值
name = "jackson"
print(name, id(name), type(name))

# 输出结果
'''可以发现,name变量的内存地址改变了,证明它指向了新的空间,
并与原来的地址断开连接,原来的内存地址也会成为内存垃圾'''
michael 2787167717040 <class 'str'>
jackson 2787163459952 <class 'str'>

2. Python 的数据类型

整数类型:int(98)

浮点数类型:float(3.14)

字符串类型:str("michael jackson")

布尔类型:bool(True、False)

a = 98
b = 3.14
c = "michael jackson"
d = True
# 打印数据类型
print(type(a), type(b), type(c), type(d))

# 输出结果
<class 'int'> <class 'float'> <class 'str'> <class 'bool'>

2.1 整数类型

英文为 integer,简写为 int,可以表示正数、负数和零。

整数的不同进制表示方式:

进制 基本数 表示方法 实例
十进制(默认) 0、1、2、3、4、5、6、7、8、9 默认表示 118
二进制 0、1 以0b开头 0b111010
八进制 0、1、2、3、4、5、6、7 以0o开头 0o116
十六进制

0、1、2、3、4、5、6、7、8、9

A、B、C、D、E、F

以0x开头 0x76
a = 118
b = 0b111010
c = 0o116
d = 0x76
print(a, b, c, d)

# 输出结果
118 58 78 118

2.2 浮点数类型

由整数部分和小数部分组成。

储存不精确性:使用浮点数类型进行计算时,可能出现小数位数不确实的情况。

e = 3.1415
print(e, type(e))

n1 = 1.1
n2 = 2.2
print(n1+n2)

'''浮点数计算有不确定性,所以我们需要引入Decimal库'''

from decimal import Decimal
print(Decimal("1.1")+Decimal("2.2"))

# 输出结果
3.1415 <class 'float'>
3.3000000000000003
3.3

2.3 字符串类型

又称为不可变字符序列,可以使用单引号、双引号来定义(必须在一行),也可以使用三引号来定义(可以多行)。

str1 = "michael"
str2 = 'jackson'
str3 = '''michael
jackson'''
print(str1, type(str1))
print(str2, type(str2))
print(str3, type(str3))

# 输出结果
michael <class 'str'>
jackson <class 'str'>
michael
jackson <class 'str'>

2.4 布尔类型

用来表示真或假的值,真为 True,假为 False。

布尔值也可以转化为整数,True ---> 1,False ---> 0。

f1 = True
f2 = False
print(f1, type(f1))
print(f2, type(f2))
print(1+f1)
print(1+f2)

# 输出结果
True <class 'bool'>
False <class 'bool'>
2
1

3. 数据类型转换

将不同数据类型的数据拼接在一起。

函数名 作用 注意事项 实例
int() 将其他数据类型转化为整数

1. 文字和小数无法转化为整数

2. 浮点数转化为整数,抹零

int("123")

int(9.8)

float() 将其他数据类型转化为浮点数

1. 文字无法转化为浮点数

2. 整数转化为浮点数,末尾加 .0

float("9.9")

float(9)

str() 将其他数据类型转化为字符串 也可以用引号转换

str(123)

"123"

a1 = "michael"
a2 = 18
a3 = 98.5
print("我叫"+a1+",今年"+str(a2)+"岁,我的成绩是"+str(a3))

print(type(a1), type(a2), type(a3))
print(type(str(a2)), type(int(a3)))

# 输出结果
我叫michael,今年18岁,我的成绩是98.5
<class 'str'> <class 'int'> <class 'float'>
<class 'str'> <class 'int'>

上一篇:第一次网页前端培训笔记


下一篇:Python中的isinstance()函数