Python 是一种广泛使用的高级编程语言,其函数是 Python 编程中至关重要的概念之一。函数是一段可以重复使用的代码块,可以接收输入参数并返回输出结果。使用函数能够提高代码的可读性、可维护性和重用性。
基础知识
在 Python 中,函数使用关键字 def
来定义,后面跟着函数名和参数列表,然后是一个冒号,之后是函数体,包含了函数的具体操作和返回值。例如:
def greet(name):
return "Hello, " + name
以上是一个简单的函数定义,函数名为 greet
,接受一个参数 name
,返回一个拼接了 "Hello, " 和 name
的字符串。
Python 函数还支持默认参数值和关键字参数,可以在定义函数时为参数指定默认值,也可以通过关键字参数来在调用函数时明确指定参数的值。这使得函数在使用时更加灵活。
在 Python 中,函数也支持返回多个值,实际上,Python 的函数返回的是一个元组(tuple),即使看起来只有一个值。这让函数可以返回多个数据,提高了函数的灵活性。
另外,在 Python 中函数也可以嵌套定义,即在一个函数内部再定义一个函数。这种嵌套定义的函数称为内部函数,可以帮助组织代码,提高代码的可读性。
Python 还支持匿名函数,即 lambda 函数,可以用来编写简单的函数,通常用于传递给高阶函数或需要一个简短的函数定义的场合。
总的来说,Python 的函数是 Python 编程中不可或缺的部分,通过函数可以将代码结构化、模块化,提高代码的重用性和可维护性,是 Python 编程中非常重要的基础知识之一。
案例
以下是 20 个不同的 Python 函数实例:
1. 函数打印 “Hello, World!”
def hello_world():
print("Hello, World!")
2. 函数返回两个数的和
def add_numbers(a, b):
return a + b
3. 函数返回两个数的最大值
def max_number(a, b):
return max(a, b)
4. 函数计算指定范围内的数字之和
def sum_range(start, end):
return sum(range(start, end+1))
5. 函数检查一个数是否为偶数
def is_even(number):
return number % 2 == 0
6. 函数判断一个字符串是否为回文串
def is_palindrome(string):
return string == string[::-1]
7. 函数计算阶乘
def factorial(n):
if n == 0:
return 1
return n * factorial(n-1)
8. 函数检查一个数是否为质数
def is_prime(number):
if number < 2:
return False
for i in range(2, int(number**0.5)+1):
if number % i == 0:
return False
return True
9. 函数返回指定长度的斐波那契数列
def fibonacci_sequence(length):
sequence = [0, 1]
while len(sequence) < length:
sequence.append(sequence[-1] + sequence[-2])
return sequence
10. 函数检查一个数是否在列表中
def is_in_list(number, lst):
return number in lst
11. 函数返回一个列表的平均值
def average(lst):
return sum(lst) / len(lst)
12. 函数将字符串逆序排列
def reverse_string(string):
return string[::-1]
13. 函数计算圆的面积
import math
def circle_area(radius):
return math.pi * radius**2
14. 函数将字符串中的元音字母替换为指定字符
def replace_vowels(string, char):
vowels = "aeiouAEIOU"
for vowel in vowels:
string = string.replace(vowel, char)
return string
15. 函数计算指定数量的资金按指定利率和时间的复利
def compound_interest(principal, rate, time):
return principal * (1 + rate/100)**time
16. 函数检查一个字符串中出现的字符及其出现次数
def count_characters(string):
char_count = {}
for char in string:
if char in char_count:
char_count[char] += 1
else:
char_count[char] = 1
return char_count
17. 函数返回一个列表中的所有奇数
def get_odd_numbers(lst):
return [num for num in lst if num % 2 != 0]
18. 函数检查一个字符串中是否包含指定子串
def contains_substring(string, substring):
return substring in string
19. 函数将列表中的元素逆序排列
def reverse_list(lst):
return lst[::-1]
20. 函数通过递归方式求解斐波那契数列
def fibonacci_recursive(n):
if n <= 1:
return n
else:
return fibonacci_recursive(n-1) + fibonacci_recursive(n-2)
相关学习:
以下是 20 个不同的 Python 函数实例
我的图书
下面两本书欢迎大家参考学习。
OpenCV轻松入门
李立宗,OpenCV轻松入门,电子工业出版社,2023
本书基于面向 Python 的 OpenCV(OpenCV for Python),介绍了图像处理的方方面面。本书以 OpenCV 官方文档的知识脉络为主线,并对细节进行补充和说明。书中不仅介绍了 OpenCV 函数的使用方法,还介绍了函数实现的算法原理。
在介绍 OpenCV 函数的使用方法时,提供了大量的程序示例,并以循序渐进的方式展开。首先,直观地展示函数在易于观察的小数组上的使用方法、处理过程、运行结果,方便读者更深入地理解函数的原理、使用方法、运行机制、处理结果。在此基础上,进一步介绍如何更好地使用函数处理图像。在介绍具体的算法原理时,本书尽量使用通俗易懂的语言和贴近生活的实例来说明问题,避免使用过多复杂抽象的公式。
本书适合计算机视觉领域的初学者阅读,包括在校学生、教师、专业技术人员、图像处理爱好者。
本书第1版出版后,深受广大读者朋友的喜爱,被很多高校选为教材,目前已经累计重印9次。为了更好地方便大家学习,对本书进行了修订。
计算机视觉40例
李立宗,计算机视觉40例,电子工业出版社,2022
近年来,我深耕计算机视觉领域的课程研发工作,在该领域尤其是OpenCV-Python方面积累了一点儿经验。因此,我经常会收到该领域相关知识点的咨询,内容涵盖图像处理的基础知识、OpenCV工具的使用、深度学习的具体应用等多个方面。为了更好地把所积累的知识以图文的形式分享给大家,我将该领域内的知识点进行了系统的整理,编写了本书。希望本书的内容能够对大家在计算机视觉方向的学习有所帮助。
本书以OpenCV-Python(the Python API for OpenCV)为工具,以案例为载体,系统介绍了计算机视觉从入门到深度学习的相关知识点。
本书从计算机视觉基础、经典案例、机器学习、深度学习、人脸识别应用等五个方面对计算机视觉的相关知识点做了全面、系统、深入的介绍。书中共介绍了40余个经典的计算机视觉案例,其中既有字符识别、信息加密、指纹识别、车牌识别、次品检测等计算机视觉的经典案例,也包含图像分类、目标检测、语义分割、实例分割、风格迁移、姿势识别等基于深度学习的计算机视觉案例,还包括表情识别、驾驶员疲劳监测、易容术、识别年龄和性别等针对人脸的应用案例。
在介绍具体的算法原理时,本书尽量使用通俗易懂的语言和贴近生活的示例来说明问题,避免使用复杂抽象的公式来介绍。
本书适合计算机视觉领域的初学者阅读,适于在校学生、教师、专业技术人员、图像处理爱好者使用。