【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]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值