python基础-----集合与函数

1. 集合(set)

Python中的集合(set)是一种无序的数据类型,集合中的成员是唯一的,不允许出现重复的数据。和其他编程语言一样,Python也有关于集合的常见操作方法。

1.1 集合的创建

集合可以通过两种方式来创建:

# 直接将一堆元素放在花括号中

set1 = {1, 2, 3, 4, 5}

print(set1)

# 使用set函数创建

set2 = set([1, 2, 3, 4, 5])

print(set2)

注意:创建一个空集合只能使用set()函数,因为{}表示的是一个空字典。

1.2 集合的方法

下面介绍集合(set)常用的方法

1.2.1 集合的添加和删除

添加元素可以使用add()方法,而删除可以使用remove()或者discard()方法(两者的区别在于,remove()方法在删除不存在的元素时会引发异常,而discard()则不会)

set1 = {1, 2, 3, 4, 5}

set1.add(6)

print(set1)

set1.remove(6)

print(set1)

set1.discard(7)

print(set1)

输出:

{1, 2, 3, 4, 5, 6}

{1, 2, 3, 4, 5}

{1, 2, 3, 4, 5}

1.2.2 集合的操作

集合的操作有并集、交集和差集。在Python中,可以使用union()、intersection()和difference()方法来实现这些操作。

set1 = {1, 2, 3, 4, 5}

set2 = {4, 5, 6, 7, 8}

# 并集

print(set1.union(set2))

# 交集

print(set1.intersection(set2))

# 差集

print(set1.difference(set2))

输出:

{1, 2, 3, 4, 5, 6, 7, 8}

{4, 5}

{1, 2, 3}

1.2.3 集合的判断和求子集

Python的集合提供了issubset()和issuperset()两个方法来判断子集和超集的关系。

set1 = {1, 2, 3}

set2 = {1, 2, 3, 4, 5}

# 判断set1是否是set2的子集

print(set1.issubset(set2))

# 判断set2是否是set1的超集

print(set2.issuperset(set1))

输出:

True

True

2. 函数(function)

函数是一段可以被重复使用的代码块,它可以使得代码更加模块化,提高代码的可读性和可维护性。与其他编程语言一样,Python也支持函数的定义和调用。

2.1 函数的基本语法

Python函数的基本语法如下:

def function_name(parameters):

# 函数体

return value

其中,function_name是函数的名称,parameters是函数的参数,可以是0个或多个。函数体由多行代码组成,用于执行特定的操作。最后,该函数可以返回一个值(或者不返回)。

2.2 函数的参数传递

Python的函数可以接受多种参数:

位置参数

默认参数

可变参数(*args)

关键字参数(**kwargs)

2.2.1 位置参数

位置参数是指函数定义时指定的参数,它们的值由函数调用时的参数值对应确定,参数的数量和参数的位置必须一一对应。例如:

def myfunc(a, b):

print(a)

print(b)

myfunc(1, 2)

输出:

1

2

2.2.2 默认参数

默认参数是一种不需要在函数调用时传递的参数,如果函数调用时缺少默认值,它的默认值就会生效。例如:

def myfunc(a, b=2):

print(a)

print(b)

myfunc(1)

输出:

1

2

2.2.3 可变参数

可变参数是指在函数定义时,不确定输入的参数数量,可以接受任意数量的参数。在Python中,可以通过*args实现这种参数的传递。例如:

def myfunc(*args):

for arg in args:

print(arg)

myfunc(1, 2, 3, 4, 5)

输出:

1

2

3

4

5

2.2.4 关键字参数

关键字参数是指可以通过键值对的方式传递参数,通常用于需要传递多个参数时。在Python中,可以通过**kwargs实现这种参数的传递。例如:

def myfunc(**kwargs):

for key, value in kwargs.items():

print(key, value)

myfunc(name='Tom', age=18, gender='male')

输出:

name Tom

age 18

gender male

2.3 匿名函数(lambda)

Python支持一种简化版的函数定义方式,称为匿名函数。匿名函数可以通过lambda表达式来定义,它们通常用在函数体很短的情况下。例如:

multiply = lambda x, y: x * y

print(multiply(3, 5))

输出:

15 

2.4 递归函数

在程序中,有一些问题可以通过调用自身来解决,这被称为递归。例如,计算一个数的阶乘就可以通过递归来实现。

def factorial(n):

if n == 0:

return 1

else:

return n * factorial(n-1)

print(factorial(4))

输出:

24 

3. 小结

本文主要介绍了Python集合和函数的基本知识。集合(set)是一种无序的数据类型,它的成员是唯一的,不允许出现重复的数据。函数是一段可以被重复使用的代码块,它能够提高代码的可读性和可维护性。在函数的定义和调用中,Python提供了多种参数类型,包括位置参数、默认参数、可变参数和关键字参数。此外,Python还支持匿名函数和递归函数的定义。

后端开发标签