Python——返回值+变量作用域

30 阅读1分钟

返回值

return语句会在函数结束时将数据返回给程序

# return语句会在函数结束时将数据返回给程序
students = []
def add_student(name, age, grade, student_id =None):
    if student_id is None:
        student_id = len(students) + 1001
    student = {
        "name":name,
        "age":age,
        "grade":grade,
        "id":student_id
    }
    students.append(student)
    print(f"成功添加学生:{name}(id:{student_id})")

c = add_student("FanXianLian",25,25)
print(students)
print(c)

def move(x,y,step):
    nx = x + step
    ny = y + step
    return nx, ny

image.png

# 一个变量接受两个返回值
print("------一个变量接受两个返回值--------")
result = move(100,100,60)
print(result)
print("-------两个变量接受两个返回值-------")
a,b = move(100,100,60)
print(f"a={a},b={b}")

image.png

变量作用域

变量不能在程序任何位置进行访问

一、局部变量

局部变量:在函数内部定义的变量,它的作用域仅限于函数内部,只能在函数内部对它进行访问或使用。函数执行结束,局部变量将无法被访问或使用。

def test_one():
    number = 10         # 局部变量
    print(number)       # 内部可以访问局部变量
test_one()
# print(number)         # 外部无法访问局部变量
# 函数间的局部变量相互独立、互不影响
def  test_two():
    number = 20         # 和test_one的局部变量不一样
    print(number)
test_two()

image.png

二、全局变量

1、全局变量可以在整个程序进行访问

2、全局变量在函数内部只能访问,不能修改

#1、全局变量可以在整个程序进行访问
number = 10
def test_one():
    print(number)       # 内部可以访问全局变量
test_one()
print(number)

# 2、全局变量在函数内部只能访问,不能修改
number = number + 10
# def test_two():
#    print(number)
#    number = number + 1
test_two()
print(number)

image.png