【python基础】函数的嵌套调用、全局变量和局部变量

  • Post author:
  • Post category:python


  1. 函数的嵌套使用
def a():
    print("aaaaaa")


def b():
    a()
    print('bbbbbbb')
b()

islogin = False

def  add_shoppingcart(goodsname):
    if islogin and goodsname:
        print('成功将{}加入购物车'.format(goodsname))
    else:
        print('未登录或没有添加商品!')

def login(username,password):
    if username == 'zz' and password == '123456':
        return True
    else:
        return False

username = input('请输入用户名')
password = input('请输入密码')
islogin = login(username, password)
add_shoppingcart('阿玛尼唇釉')

函数嵌套调用:

islogin = False

def add_shoppingcart(goodsname):
    global islogin
    if islogin: 
        if goodsname:

            print('成功将{}加入购物车'.format(goodsname))
        else:
            print('没有添加商品!')
    else:
        answer = input('用户没有登录,是否登录?(yes/no)')

        if answer == 'yes':
            username = input('输入用户名:')
            password = input('输入密码:')

            islogin = login(username,password)
        else:
            pass
 
def login(username,password):
    if username == 'zz' and password == '123456':
        return True
    else:
        return False

username = input('请输入用户名')
password = input('请输入密码')
islogin = login(username, password)
add_shoppingcart('阿玛尼唇釉')

  1. 局部变量和全局变量

    局部变量:函数内部声明的变量,仅限在函数内部使用,在函数内部可以随便修改赋值;

全局变量: 变量的范围是全局的,声明在函数的外层,所有函数都可以访问,需要修改赋值时要加上加上global。

在这里插入图片描述

全局变量是不可变时在函数中进行修改需要添加global;
如果是可变的时,在函数中进行修改时不需要加global。

name = 'yueyue'
list1 = [1,3,4,6]


def func():
    name = 'ruirui'
    print(name)
    print(list1)

def func1():
    global name
    print(name)
    name +=' beautiful'
    list1.append(8)
    print(list1)

    #修改列表

func1() 
func()

yueyue
[1, 3, 4, 6, 8]
ruirui
[1, 3, 4, 6, 8]



版权声明:本文为m0_47645778原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。