一、Python函数
1. id()
id([object])
参数:
object -- 对象
用法:返回 object 的内存地址。
实例:
a = 1 # 定义一个变量 a
print(id(a)) # 输出变量 a 的内存地址
输出结果:
1909210966320
2. type()
type([object])
参数:
object -- 对象
用法:返回 object 的类型
实例:
a = 1 # 定义一个变量 a
print(type(a)) # 输出变量 a 的类型
输出结果:
<class 'int'>
二、Python 基本数据类型
1. 变量无需声明,但在使用前必须赋值。
当变量被赋值后才会被创建。
变量没有类型,变量类型
指的是变量
所指的内存中对象
的类型
。
实例:
a = 1 # 定义一个整型变量 a
b = 1.0 # 定义一个浮点型变量 b
c = 'hello' # 定义一个字符型变量 c
2. 多变量同时赋值。
实例1:
a = b = c = 1 # 定义 3 个整型变量 a、b、c 且均赋值为 1,赋值顺序从后向前
实例2:
# 定义 3 个变量并分别赋值为 1, 1.0, 'hello'
a, b, c = 1, 1.0, 'hello'
# 与下面的代码等价
a = 1
b = 1.0
c = 'hello'
3. 六个标准数据类型
(1)Number(数字)
(2)String(字符串)
(3)List(列表)
(4)Tuple(元组)
(5)Set(集合)
(6)Dictionary(字典)
可变数据:Number(数字)、String(字符串)、Tuple(元组)
不可变数据:List(列表)、Set(集合)、Dictionary(字典)
(1)Number(数字)
包括:
int
float
bool
complex
bool 只有 True 和 False 两个值
complex(复数) 表示为 [数字1] + [数字2] j,若数字2 为 0 也不可省略
数值运算
实例:
>>> 5 + 4 # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7 # 乘法
21
>>> 2 / 4 # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余
2
>>> 2 ** 5 # 乘方
32
混合运算时整型会被转化为浮点型。
(2)String(字符串)
使用''
或者""
包围的一串字符构成字符串。
字符串截取操作可设置步长。
实例:
a = 'hello' # 定义字符串 a
b = "bye" # 定义字符串 b
字符串运算操作
实例:
a = 'hello' # 定义字符串 a
b = "bye" # 定义字符串 b
c = 'a\n' # 定义字符串 c
print (c) # 输出字符串 c
print (a) # 输出字符串 a
print (a[0:-1]) # 输出 a 第一个到倒数第二个的所有字符
print (a[0]) # 输出字符串 a 第一个字符
print (a[2:5]) # 输出 a 从第三个开始到第五个的字符
print (a[2:]) # 输出 a 从第三个开始的后的所有字符
print (a * 2) # 输出字符串 a 两次,也可以写成 print (2 * a)
print (a + b) # 连接字符串 a 和 b
print (r'a\n') # 输出字符串 'a\n'
输出结果:
a
hello
hell
h
llo
llo
hellohello
hellobye
a\n
(3)列表
列表是写在方括号[]
之间、用逗号分隔开的元素列表。
列表中的元素可相同也可不相同。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
截取索引值 0 表示第一个元素,-1 表示最后一个元素。
截取操作还可设置步长。
列表基本操作
a = [1, 1.0, 'hello', 'bye'] # 定义一个列表 a
b = [1, 1.0] # 定义一个列表 b
print(a) # 输出完整列表 a
print(a[0]) # 输出列表 a 的第一个元素
print(a[1:3]) # 输出列表 a 从第二个开始输出到第三个元素
print(a[2:]) # 输出列表 a 从第三个元素开始的所有元素
print(b * 2) # 输出两次列表 b
print(a + b) # 拼接列表 a 和列表 b 并输出拼接后的完整列表
输出结果:
[1, 1.0, 'hello', 'bye']
1
[1.0, 'hello']
['hello', 'bye']
[1, 1.0, 1, 1.0]
[1, 1.0, 'hello', 'bye', 1, 1.0]
(4)元组
元组与列表类似,不过元组是写在()
,用逗号隔开的元素列表。
元组中的元素不可修改。
元组中的元素类型也可以不相同。
元组的截取与字符串截取基本相同,可将字符串看成特殊的元组。
除缺少修改元素操作之外,元组基本操作与列表基本一致。
(5)集合
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
集合中不可以有重复的元素。
集合的创建
实例1:
names = ['Mayue', 'Mayue', 'Lilin', 'Lilin', 'Wangqi']
print(names)
nameset = set(names)
print(nameset)
输出结果:
['Mayue', 'Mayue', 'Lilin', 'Lilin', 'Wangqi']
{'Lilin', 'Wangqi', 'Mayue'}
实例2:
aset = {1, 2, 3}
print(type(aset))
输出结果:
<class 'set'>
集合的基本操作
a = {1, 1.0, 'hello', 'bye'}
b = {1, 2, 1.0}
print(a) # 输出集合 a
print(a - b) # a 和 b 的差集
print(a | b) # a 和 b 的并集
print(a & b) # a 和 b 的交集
print(a ^ b) # a 和 b 中不同时存在的元素
输出结果:
{'bye', 'hello', 1}
{'bye', 'hello'}
{'bye', 1, 2, 'hello'}
{1}
{'bye', 2, 'hello'}
(6)Dictionary(字典)
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
字典的创建
# 直接创建字典
ainfo = {'Mayue': 3000, 'Lilin': 4500, 'Wuyun': 8000}
# 通过dict函数创建字典
info = [('Mayue', 3000), ('Lilin', 4500), ('Wuyun', 8000)]
binfo = dict(info)
print(binfo)
输出结果:
{'Mayue': 3000, 'Lilin': 4500, 'Wuyun': 8000}
4. 数据类型转换
int(x):将 x 转化为整型数;
float(x):将 x 转化为浮点型数;
str(x):将 x 转化为字符串;
eval(str):计算 str 中有效表达式并返回一个对象;
tuple(s):将 s 转换为一个元组;
list(s):将 s 转换为一个列表;
set(s):将 s 转换为一个可变集合;
dict(d):创建一个字典。d 必须是一个 (key, value)元组序列。
frozenset(s):将 s 转换为一个不可变集合。
三、小细节
1. 关键字不能用来当变量名
实例:
print = 1 # 定义一个变量 print
print(print) # 输出 print
输出结果:
报错,print 为 Python 关键字
2. 内建函数不可作为变量名
实例:
str = 1 # 定义一个变量 str
a = 1 # 定义一个变量 a
print(str(a)) # 对 a 调用函数 str() 改变其类型
输出结果:
报错,str 为 Python 内建函数