在分析各个选项之前,我们需要了解局部变量和全局变量的区别:
1. **局部变量**是指在函数内部定义的变量,它的作用域仅限于函数内部。函数执行完毕后,局部变量会被销毁。
2. **全局变量**是指在函数外部定义的变量,它的作用域可以覆盖整个代码文件,所有函数都可以访问和修改它。
现在,我们来分析每个选项:
A: 对于组合数据类型的变量,如果局部变量未真实创建,则是全局变量
这个描述是正确的。对于组合数据类型(如列表、字典),如果在函数内部没有重新赋值操作,直接使用全局变量进行操作(如修改列表中的元素),则会影响全局变量。
B: 对于基本数据类型的变量,无论是否重名,局部变量与全局变量不同
这个描述是错误的。对于基本数据类型(如整数、字符串),如果在函数内部定义了一个与全局变量同名的变量,那么这个变量在函数内部是局部的,不会影响全局变量。
C: 可以通过global保留字在函数内部声明全局变量
这个描述是正确的。使用`global`关键字可以在函数内部声明一个变量为全局变量,从而允许在函数内部对其进行修改。
D: return不可以传递任意多个函数局部变量返回值
这个描述是错误的。`return`语句可以返回任意数量的值(通过元组),因此可以传递多个局部变量的值。
综上所述,选项B和D的描述是错误的。根据你的问题,要求选择描述错误的选项,因此正确答案是B和D。