目录
一.定义函数的三种方式
-
空函数
def func(): pass
-
无参函数(没有参数()的函数)
def compare(): x=10 y=20 if (x>y): print (x) else: print (y)
-
有参数的函数(有参数的函数)
def compare(x,y): x=10 y=20 if (x>y): print (x) else: print (y)
二.简述函数的返回值
-
函数的默认返回值为None
def compare(x,y): if (x>y): print (x) else: print (y) res=compare(10,20) print (res)
-
return可以返回任意数据类型,不加括号返回多个值时,默认用元组的形式返回
def func(): name='liu' return name def func(): name='liu' age=18 hobby_list=["reading","running"] return name,age,hobby_list
-
return是一个函数结束的标志,函数可以有多个return,只要执行到return,函数就会执行
def retur_nums(): return 10,20,30 res=retur_nums()
函数返回值无个数限制,可以返回多个值,各个值之间用逗号隔开
三.简述函数的参数
形参
位置形参:从左到右一个一个写过去,就叫做位置形参
默认形参(必须放置在位置形参后面):给位置形参一个默认值,让他成为 默认形参,以后调用不需要为他传值,但是你为他传值的话,他也会接收
实参
位置实参:从左到右一个一个写过,就叫做位置实参(有多少个位置形参, 就必须有多少个位置实参,从左到右依次传值)
关键词实参(必须放置在位置实参后面):位置实参加上默认值,然后按照位置形参名传值
四.作业
- 编写注册函数
- 将用户信息保存到文件内,用户信息可保存为
nick:123|sean:456|tank:789
def register(): username = input("请输入用户名:").strip() passwd = input("请输入密码") with open('user_info.txt', 'a', encoding='utf8') as fw: if ":" in username: print("用户名不能包括冒号") elif not passwd.isdigit(): print("密码必须是数字") else: fw.write(f'{username}:{passwd}\n') print ("注册成功") # print (data,type(data))
- 编写登录函数
-
从文件内读取用户信息进行身份识别
def login(): # 打开用户名密码文件 tag = True while tag: with open('user_info.txt', 'r', encoding='utf8') as fr: user_info = fr.read() user_info_list = user_info.split(':') user_name, user_password = user_info_list[0], user_info_list[1] # 输入用户名密码 user_name_lg = input('用户名:') user_pwd_lg = input('密码:') # 验证用户名密码是否正确 if user_name_lg == user_name and user_pwd_lg == user_password: print('登陆成功') tag = Flase else: print('用户名密码错误,请重新输入')
-