提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:函数的扩展
提示:以下是本篇文章正文内容,下面案例可供参考
一、函数的返回值?
#返回值: 将函数中运算的结果通过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)
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,函数的扩展