正确答案是 D: 元组中各元素只能为相同类型。
### 专业分析:
- **A: 元组可以为空**
- 这是正确的。一个空元组可以这样创建:`empty_tuple = ()`。
- **B:可以定义一个只包含1个元素的元组**
- 这是正确的。要定义一个只包含一个元素的元组,必须加一个逗号,即 `single_element_tuple = (1,)`。如果没有逗号,`(1)` 会被认为是整数,而非元组。
- **C: 元组中每个元素无法修改,但能修改元素内部的元素**
- 这是正确的。元组是不可变的容器类型,即元组中的元素不能被重新分配。然而,如果元组中包含可变对象(如列表),这些对象的内容可以修改。例如:
```python
t = (1, [2, 3])
t[1].append(4) # 元组中的列表对象可以被修改
```
- **D: 元组中各元素只能为相同类型**
- 这是不正确的。元组可以包含不同类型的元素。例如:
```python
mixed_tuple = (1, "string", 3.14, [1, 2, 3])
```
这种混合类型的支持是 Python 的灵活特性之一。
元组的性质决定了它们在需要不可变的数据集合场景中的应用,例如作为字典的键或存储数据记录等。