1.简述定义函数的三种方式
-
空函数;
#TODO:注册功能 暂时不会写入 # 插入一个书签,
pass#写个空函数占个位置 -
无参函数;
无参数,无需输入参数,直接使用
defadd():
print('固定内容')
add() -
有参函数
有参数,使用时必须输入参数
defadd(x,y):
returnx+y
add(1,2)
2.简述函数的返回值
函数的返回值;return
函数内部代码经过一些逻辑处理获得的结果。需要得到,但不打印该结果
return是一个函数结束的标志
return的返回值可以是任意数据类型
3.简述函数的参数
-
参数;
型参(描述)实参 (具体的值)
defadd(x,y): # x,y型参
returnx+y
add(1,2)# 1,2实参 -
默认型参;
在定义阶段就已经被付值,在调用时可以不付值,也可以给其付值将默认值替换掉。
-
关键字实参;
在调用函数时,按照键值对的方式为指定的参数穿值,可以打破位置限制
可以混用位置实参与关键字实参,但关键字实参必须在位置实参之后,且不能对一个型参重复付值。
-
位置参数;
从左到右依次一次定义的型参,每一个都必须被传值,位置实参必须与之一一对应。
4.编写注册函数
def register():
print('注册功能')
username_inp=input('请输入你的用户名:')
pwd_inp=input('请输入你的密码:')
name=(f'/{username_inp}')
with open('use_info.txt','r',encoding='utf8')as fa:
namey=fa.read()
if name in namey:
print('用户名已被注册')
elif ':' in username_inp:
print('输入错误,含有特殊字符')
else:
with open('use_info.txt', 'a', encoding='utf8')as fb:
fb.write(f'/{username_inp}:{pwd_inp}')
print('保存成功')
5.编写登录函数
def login():
print('登录功能')
with open('use_info.txt','r',encoding='utf8') as fr:
data=fr.read()
data_split = data.split('/')
username_inp=input('请输入你的用户名:')
pwd_inp=input('请输入你的密码:')
user=(f'{username_inp}:{pwd_inp}')
print(user)
if user in data_split:
print('登录成功')
else:
print('登录失败')