Python函数参数可以接受所有Python对象,包括基础类型、容器类型以及自定义类型。在函数内部,我们可以使用这些传入的对象并对其进行处理。
1. 基础类型参数的使用
基础类型参数可以直接传递给函数并在函数体内使用。比如下面的例子将两个数字相加:
def add(a, b):
return a + b
print(add(2, 3)) # 输出 5
传入函数的参数 a
和 b
都是Python的基础类型,函数内部可以直接使用和处理。
2. 容器类型参数的使用
容器类型指的是列表、元组、集合、字典等能够容纳多个元素的对象。在函数内部,可以对这些容器类型的对象进行遍历、操作等。
2.1 列表类型参数的使用
比如下面的例子将列表中的所有元素相加:
def list_sum(nums):
total = 0
for num in nums:
total += num
return total
my_list = [1, 2, 3, 4, 5]
print(list_sum(my_list)) # 输出 15
传入函数的参数 nums
是一个列表,函数内部通过 for 循环对列表进行了遍历,并计算所有元素的和。
2.2 字典类型参数的使用
比如下面的例子统计字典中值为 True 的键值对的个数:
def count_true_values(d):
count = 0
for k, v in d.items():
if v == True:
count += 1
return count
my_dict = {'a': True, 'b': False, 'c': True, 'd': False}
print(count_true_values(my_dict)) # 输出 2
传入函数的参数 d
是一个字典,函数内部通过遍历字典的键值对,统计值为 True 的键值对的个数。
3. 自定义类型参数的使用
如果我们有自定义的类,也可以将其作为函数参数传入函数并在函数内部操作。比如下面的例子:
class Student:
def __init__(self, name, score):
self.name = name
self.score = score
def get_top_score(students):
top_score = 0
top_student = None
for student in students:
if student.score > top_score:
top_score = student.score
top_student = student
return top_student.name
student1 = Student('Alice', 80)
student2 = Student('Bob', 90)
student3 = Student('Cathy', 85)
students = [student1, student2, student3]
print(get_top_score(students)) # 输出 'Bob'
传入函数的参数 students
是一个 Student 类型的列表,函数内部通过遍历该列表,找到成绩最高的学生并返回其姓名。
总结:Python函数的参数可以接受任何类型的Python对象,可以是基础类型、容器类型,也可以是自定义类型。在函数内部,我们可以使用这些对象并对其进行处理。