Python 函数是组织好的、可重复使用的、用来实现单一或相关联功能的代码块。它们提高了代码的可读性和可维护性,并允许程序员将复杂的任务分解为更小、更易于管理的部分。Python 函数通过 def
关键字来定义,后面跟着函数名和圆括号 ()
,圆括号中可以包含传递给函数的参数。函数的第一行语句可以选择性地使用文档字符串(docstring),用于存放函数的说明。
基本语法
def 函数名(参数列表):
"""函数文档字符串"""
函数体
return 返回值
示例
无参数无返回值
def say_hello():
print("Hello, World!")
say_hello()
有参数无返回值
def greet(name):
print(f"Hello, {name}!")
greet("Alice")
有参数有返回值
def add(x, y):
return x + y
result = add(5, 3)
print(result) # 输出: 8
默认参数
def greet(name, greeting="Hello"):
print(f"{greeting}, {name}!")
greet("Bob") # 输出: Hello, Bob!
greet("Charlie", "Hi") # 输出: Hi, Charlie!
可变参数(*args)
def sum_numbers(*args):
total = 0
for number in args:
total += number
return total
print(sum_numbers(1, 2, 3, 4)) # 输出: 10
关键字参数(**kwargs)
def greet_person(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
greet_person(first_name="John", last_name="Doe", age=30)
# 输出:
# first_name: John
# last_name: Doe
# age: 30
递归函数
递归函数是调用自身的函数。递归函数必须有一个明确的终止条件,否则会导致无限递归,最终引发栈溢出错误。
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
print(factorial(5)) # 输出: 120
匿名函数(lambda)
Python 允许你定义单行的小函数,这些函数称为 lambda 函数或匿名函数。它们通常用于定义简单的、能够传递给高阶函数的函数对象。
square = lambda x: x * x
print(square(4)) # 输出: 16
选择哪种编程语言更适合程序员使用,取决于多种因素,包括项目需求、团队技能、语言特性、生态系统支持等。Python 由于其简洁的语法、丰富的库和广泛的应用领域,是许多程序员的首选语言之一。
最后,如果你也想自学Python,可以关注我。我会把踩过的坑分享给你,让你不要踩坑,提高学习速度,还整理出了一套系统的学习路线,这套资料涵盖了诸多学习内容:开发工具,基础视频教程,项目实战源码,51本电子书籍,100道练习题等。相信可以帮助大家在最短的时间内,能达到事半功倍效果,用来复习也是非常不错的。