Skip to main content
 首页 » 编程设计

python之python中的函数调用和类型转换

2025年05月04日20jackei

假设我有一个列表

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)。