假设我有一个列表
x = [1,2,3,4,5,6,7,8,9,10]
我想通过调用一个函数来打印这个列表。这是我打印列表的函数
def print_list(list_received):
for var in list_received:
print var
我正在调用 print_list() 如下所示
print_list(x)
| |
method argument
name
所以上面的函数调用看起来类似于我们以前在 C/C++ 中所做的。
现在假设我有一个名为 my_list 的列表
my_list = [1,2,3,4,5,6,7,8,9,10]
我想将 my_list 转换为元组,我会像下面那样做
my_tuple = tuple(my_list)
现在这里这个tuple(my_list) 被称为typecasting 正如我从这里读到的http://www.pitt.edu/~naraehan/python2/data_types_conversion.html
现在上面的类型转换看起来与C或C++完全不同,就像我们以前在C中做的一样
int x = 10;
char ch = (char)x
我的第一个疑问是将 C 看起来像 (tuple)my_list 更改为 tuple(my_list) 的合理理论或考虑是什么?答案可能是 Python 不是 C 但我想了解更多。
我的第二个问题是 python 解释器将如何决定它是函数调用还是类型转换函数,即 my_print(x) 的调用约定> 和 tuple(my_list) 看起来很相似,但实际上两者在做不同的工作。
请您参考如下方法:
my_tuple = tuple(my_list) 从 my_list 对象创建类元组的实例。这与 (tuple)my_list 这样的类型转换在 C 中的作用并不完全相同,因为创建了一个新对象。
my_tuple = tuple(my_list) 更接近于 C++ my_tuple = new Tuple(my_list)。
