简述定义函数的三种方式

空函数、无参函数、有参函数

简述函数的返回值

函数内部代码经过一系列的逻辑处理返回的结果

  • 函数没有返回值,默认返回None
  • 函数可以通过return返回出返回值
  • return可以终止函数
  • return可以返回多个值

简述函数的参数

形参

在定义函数时括号里的参数就是形参,具有描述意义,没有实际意义,本质上是变量名

实参

在调用函数时传入的值,称为实参,本质上就是变量值

位置参数

位置形参

在定义函数时,按照从左往右的顺序依次定义,就是位置形参

位置实参

调用函数时,按照从左往右的顺序依次传入值,就是位置实参。有多少个位置形参,就有多少个位置实参。

默认形参

  • 在定义函数阶段就已经赋值,在调用函数时就不需要传值
  • 在调用函数时传值,这样的值也是可以改变的
  • 默认形参在位置形参之后

关键字实参

在调用函数时,按照key=value的形式为指定的参数传值,称为关键字实参

关键字实参在位置实参之后

编写注册函数

def register():
username_inp = input('请输入用户名:').strip()
pwd_inp = input('请输入密码:').strip()
print(f'用户名:{username_inp}, 密码:{pwd_inp}')
with open('user_info.txt', 'a', encoding='utf8') as fa:
if (':'or '.') in username_inp:
print('输入错误, 请重新输入!')
else:
fa.write(f'{username_inp}:{pwd_inp}\n')
print('注册成功') register()

编写登录函数

def login():
with open('user_info.txt', 'r', encoding='utf8') as fr:
data = fr.read()
data_list = data.split()
# print(data_list) username_inp = input('请输入用户名:').strip()
pwd_inp = input('请输入密码:').strip()
for i in data_list:
# print(i)
username = i.split(':')[0]
pwd = i.split(':')[1] if username == username_inp and pwd == pwd_inp:
print('登录成功!')
break
else:
print('登录失败!')
break
login()

day09 作业的更多相关文章

  1. python day09作业答案

    2. def lst(input): lst2=[] count=0 for i in range(0,len(input)): if i %2!=0: lst2.append(input[i]) r ...

  2. python day09作业

  3. day09作业—函数进阶

    # 2.写函数,接收n个数字,求这些参数数字的和.(动态传参) def func1(*args): sum = 0 for i in args: sum += i print(sum) func1(1 ...

  4. day09作业

    一.填空题 1.方法 2.堆内存 3.构造方法 4.this 5.this 6.static 7.使用类名进行访问 8.package import class 9.关键字 10.lang 二.选择题 ...

  5. day09作业01用户登录与验证

    import timeLoginTime = time.asctime( time.localtime(time.time()) )print ("time %s" % Login ...

  6. python 作业

    Linux day01 计算机硬件知识整理 作业要求:整理博客,内容如下 编程语言的作用及与操作系统和硬件的关系 应用程序->操作系统->硬件 cpu->内存->磁盘 cpu与 ...

  7. DSB

    Linux day01 计算机硬件知识整理 作业要求:整理博客,内容如下 编程语言的作用及与操作系统和硬件的关系 应用程序->操作系统->硬件 cpu->内存->磁盘 cpu与 ...

  8. Python异常处理和进程线程-day09

    写在前面 上课第九天,打卡: 最坏的结果,不过是大器晚成: 一.异常处理 - 1.语法错误导致的异常 - 这种错误,根本过不了python解释器的语法检测,必须在程序运行前就修正: - 2.逻辑上的异 ...

  9. python开发学习-day09(队列、多路IO阻塞、堡垒机模块、mysql操作模块)

    s12-20160312-day09 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

随机推荐

  1. Linux-TCP之深入浅出send和recv【转】

    转自:https://www.cnblogs.com/JohnABC/p/7238417.html 内容摘自:TCP之深入浅出send和recv.再次深入理解TCP网络编程中的send和recv 建议 ...

  2. CSS自定义字体的实现,前端实现字体压缩

    CSS中使用自定义字体,首先需要下载你需要的字体ttf或者otf文件 这里推荐一个网站:http://www.zitixiazai.org/ /********css中********/ @font- ...

  3. jmeter判断请求响应时间,请求下加‘断言持续时间’,添加监听器断言结果;统计超时

  4. IEEE754 浮点数

    IEEE754 浮点数 1.阅读IEEE754浮点数 A,阶码是用移码表示的,这里会有一个127的偏移量,它的127相当于0,小于127时为负,大于127时为正,比如:10000001表示指数为129 ...

  5. ARM的堆栈方式

    当堆栈指针指向最后压入堆栈的数据时,称为满堆栈(Full Stack): 当堆栈指针指向下一个将要放入数据的空位置时,称为空堆栈(Empty Stack): 根据对战的生成方式分为:递增堆栈(Asce ...

  6. 201871010132-张潇潇-《面向对象程序设计(java)》第八周总结

    201871010132-张潇潇<面向对象程序设计(java)>第八周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这 ...

  7. QQ第三方登录-python_web开发_django框架

    准备工作 1. 成为QQ互联的开发者 参考链接: <http://wiki.connect.qq.com/%E6%88%90%E4%B8%BA%E5%BC%80%E5%8F%91%E8%80%8 ...

  8. day45_9_4前端(2)css

    一.css的三种css导入: 1.在标签中内部定义(不推荐). 2.在head中的style总定义样式. 3.使用link链接外部的css文件. <!DOCTYPE html> <h ...

  9. [C0] 人工智能大师访谈 by 吴恩达

    人工智能大师访谈 by 吴恩达 吴恩达采访 Geoffery Hinton Geoffery Hinton主要观点:要阅读文献,但不要读太多,绝对不要停止编程. Geoffrey Hinton:谢谢你 ...

  10. NLP_DataFun:

    智能机器人在滴滴出行场景的技术探索 分享嘉宾:熊超 滴滴 AI Labs 编辑整理:Hoh Xil 内容来源:AI 科学前沿大会 出品社区:DataFun 注:欢迎转载,转载请注明出处 本次分享是在2 ...