在当今数字化时代,编程已成为一项重要的技能,而Python作为一种简洁而强大的编程语言,深受初学者和专业人士的喜爱。
本文将通过一系列实用的代码示例,深入探讨Python中的函数、变量作用域。
#01 函数:编程的基石
函数是Python编程中的核心概念,它允许我们将代码封装成可重用的模块,从而提高代码的可读性和可维护性。
让我们从一个简单的函数开始,它用于计算两个数字的和。
def sum_2(a, b): # 形式参数
return a + b
这里,sum_2是一个函数,它接受两个参数a和b,并返回它们的和。
在实际使用中,我们可以通过传递具体的值来调用这个函数,例如:
result = sum_2(9, 8) # 实际参数
print(result) # 输出17
函数还可以有默认参数,这使得在调用函数时某些参数可以省略。
例如下面的power函数计算一个数的幂,其中n的默认值为2:
def power(x, n=2): # n:默认参数
return x ** n
调用时可以省略n参数:
a = power(4, 3) # 显式指定n为3
b = power(5) # 使用默认值n=2
print(a) # 输出64
print(b) # 输出25
函数还可以接受可变数量的参数,这在处理不确定数量的输入时非常有用。
例如total函数可以接受任意数量的参数,并计算它们的平方和:
def total(*args): # 可变参数
result = 0
for i in args:
result += i * i
return result
调用时可以传递任意数量的参数:
result = total(1, 4, 5, 6, 7, 8, 3)
print(result) # 输出200
此外,函数还可以接受关键字参数,这些参数以字典的形式传递。例如,f函数可以打印出所有关键字参数的键值对:
def f(**kwargs): # 可变参数,接收字典
for k, v in kwargs.items():
print(k, v)
调用时可以传递关键字参数:
d = {'name': 'xiaoming', 'age': 18}
f(**d)
# 输出:
# name xiaoming
# age 18
#02 变量作用域:全局与局部的界限
变量作用域是编程中的一个重要概念,它决定了变量在程序中的可见性和生命周期。Python中的变量分为全局变量和局部变量。
全局变量是在整个程序中都可以访问的变量,而局部变量仅在定义它们的函数内部有效。
下面的代码展示了全局变量和局部变量的使用:
num1 = 10 # 全局变量
list1 = [1, 2, 3, 4, 5] # 可变数据类型
def f():
global num1 # 声明在f中使用的num1是全局变量num1
num2 = 20 # 局部变量
num1 = 20
list1[2] = 8
print('在函数f中打印num1的值', num1) # 输出20
print('在函数f中打印list1的值', list1) # 输出[1, 2, 8, 4, 5]
print('num2的值', num2) # 输出20
在函数f中,我们通过global关键字声明num1是全局变量,因此可以修改它的值。而num2是局部变量,只能在函数内部使用。
函数外部无法访问局部变量,但可以访问全局变量:
f()
print('在函数f执行后打印num1的值', num1) # 输出20
print('在函数f执行后打印list1的值', list1) # 输出[1, 2, 8, 4, 5]
点击关注,免费获取打包整理的学习资料,内容包含但不限于电子书、教程、源码