简述定义函数的三种方式

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

简述函数的返回值

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

  • 函数没有返回值,默认返回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. IAR调试查看程序时间

    在无仿真器情况下设置: 调试仿真,点击view菜单下registers 软件仿真时计算两断点CYCLECOUNTER(在CPU registers中)的差值,乘以指令周期(MCLK)便是执行时间

  2. 自定义MVC三

    完成t_mvc_book表的增删改查1.通用分页的jar.自定义mvc框架.自定义标签 导入jar.导入之前写好的pageTag.自定义mvc.xml pageTag private static f ...

  3. python 画小猪佩奇

    转自:python画个小猪佩奇 # -*- coding: utf-8 -*- """ Created on Mon May 20 11:36:03 2019 @auth ...

  4. [转] 构建Docker镜像两种方式的比较-Dockerfile方式和S2I方式

    原文地址:https://www.cnblogs.com/tianshifu/p/8127837.html 前言 写Dockerfile是构建Docker镜像最通常的方式,接触过Docker的童鞋多少 ...

  5. C++ class内的 < 和 > 重载,大于号,小于号,重载示例。

    #include <iostream> // overloading "operator = " outside class // < 和 > 是二元操作符 ...

  6. 深入了解Python

    一.Python的风格 Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读.易维护,并且被大量用户所欢迎的.用途广泛的语言. 设计者开发时总的指导思想是,对于一个特定的问题,只要 ...

  7. 《高性能MySQL》读后感——聚簇索引

    <高性能MySQL>读后感——聚簇索引 聚簇索引并不是一种单独的索引类型,而是一种数据存储方式.比如,InnoDB的聚簇索引使用B+Tree的数据结构存储索引和数据. 当表有聚簇索引时,它 ...

  8. CF1256A Payment Without Change

    CF1256A Payment Without Change 洛谷评测传送门 题目描述 You have aa coins of value nn and bb coins of value 11 . ...

  9. x3

    #include<stdio.h> int main() { char ch; printf("输入一个字符:\n"); scanf("%c",&a ...

  10. python运维开发常用模块(8)EXCEL操作模块XlsxWriter

    1.excel介绍 Excel是当今最流行的电子表格处理软件,支持丰富的计算函数及 图表,在系统运营方面广泛用于运营数据报表,比如业务质量.资源利 用.安全扫描等报表,同时也是应用系统常见的文件导出格 ...