四时宝库

程序员的知识宝库

Python编程基础:函数、变量作用域

在当今数字化时代,编程已成为一项重要的技能,而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]

点击关注,免费获取打包整理的学习资料,内容包含但不限于电子书、教程、源码

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接