函数的扩展

本文详细探讨了函数的各个方面,包括函数的返回值、通过购物车案例展示函数的应用、函数的嵌套使用,以及局部变量和全局变量的差异。通过学习,读者将能更深入地理解函数的综合运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:函数的扩展


提示:以下是本篇文章正文内容,下面案例可供参考

一、函数的返回值?

#返回值: 将函数中运算的结果通过return 关键字返回来

def add(a,b):
    result = a+b
    print(result)
    return  result,100

#调用函数
x=add(2,6)
print(x)
a,b=add(2,4)
print(a,b)

'''
返回值 return
1.return  后面可以是一个参数,接收的时候x=add(1,2)
2. return 后面可以是多个参数,如果是多个参数则底层会将多个参数先放在一个元组中,
将元组作为整体返回  x=add(1,2) x---> (1,2,3)
3.接收的时候也可以是多个: return 'hello','world' x,y=('hello','world')----> x='hello'  y='world'
'''

在这里插入图片描述

二、案例之购物车

'''
加入购买车
判断用户是否登录,如果登录。成功加入购物车,否则提示登录之后添加

成功 true   不成功 false
def add shoppingcart(goodName):
    pass
def login(username,password)
    pass
调用
'''
islogin=False #用于判断用户是否登录变量,默认是没有登录的
def add_shoppingcart(goodName):
    global islogin
    if islogin :
        if goodName:
        #登录的
             print('成功将{}加入到购物车中!'.format(goodName))
        else:
            print('没有选择任何商品!')
    else:
        #没有登录的
        answer=input('用户没有登录! 是否登录用户?(yes/no)')
        if answer=='yes':
            #登录
            username = input('请输入用户名')
            password = input('请输入密码')
            #调用
            islogin=login(username,password) #在一个函数中可以调用另一个函数
            print('islogin',islogin)
        else:
            print('用户没有登录!或者没有添加任何商品')
def login(username,password):
    if username=='lzq' and password=='123456':
        #  登录成功
        #print('登录成功')
        return True
    else:
       #print('用户名或者密码有误')
        return False

#调用函数,添加商品到购物车中
username=input('请输入用户名')
password=input('请输入密码')
islogin=login(username,password)
add_shoppingcart('阿玛尼')

三 函数之嵌套

在这里插入图片描述

在这里插入图片描述

def a():
    print('AAAAAA')
def b():
    a()
    print('BBBBBBBB')

#调用b
b()

def c():
    b()
    print('CCCCCCCC')

四:函数的综合应用

# 函数综合应用:
'''
用户登录
输入用户名
输入密码
输入验证码 ------->封装成一个函数
'''
import random
def generate_checkcode(n):
    s='0987654321qwertyuiopasdfghjklzxcvbnm'
    code=''
    for i in range(n):
        ran=random.randit(0,len(s)-1)
        code+=s[ran]
    return  code

def login():
    username = input('输入用户名:')
    password=input('输入密码')
    #得到一个验证码
    code=generate_checkcode(5)
    print('验证码,',code)
    code1=input('输入验证码:')
    #验证码
    if code.lower()==code1.lower():
        #验证码输入正确
        if username=='lzq' and password=='123456':
            print('用户登录成功')
        else:
            print('验证码输入有误')
    else:
        print('验证码输入错误')

login()

五 局部变量和全局变量

在这里插入图片描述

# global 变量的范围
# 局部变量 全局变量
#声明在函数外层是全局的,
name = '月月'
def func():
    # 函数内部声明的变量。局部变量
    s= 'abcd'
    s+='X'
    print(s,name)

#print(s) 报错
def func1():
    global  name  #不修改全局变量,只是获取,但是如何要发生修改全局变量,则需要在函数内部声明,global 变量名
    print(name)  #报错,函数内部的变量可以随便修改赋值,但是全局的变量就不能随便在函数体中进行修改
    name+='会弹吉他'
    print('fun1修改后的name',name)

def func2():
    name='小月月' #局部变量与全局变量同名
    name+='弹吉他的小美女'
    print(name)

func2()
func1()

全局变量和局部变量的区别

#局部 和 全局
name='月月'
list1=[1,2,4,6]
def func():
    name='心心'
    print(name)
def func1():
    global name
    print(name)
    name+='真漂亮'
    #修改列表
    list1.append(8)
    print(list1)

func1()
func()
# 全局变量如果是不可变在函数中进行修改需要添加global 关键字
# 如果全局变量是可变的,在函数中修改的时候就不需要添加global
def func2():
    name1='ucy'
    name1='hhh'
    print(name1 ) #自己的
    global  name
    print(name)

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,函数的扩展

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值