函数

1|01.函数的三种定义方式

1|1函数如果没被调用,则运行只会检查函数内的语法,不会执行函数里的代码

1|21.空函数

def hanshuming(): #TODO 这个函数的功能,暂时不会写 pass #写个空函数,占个位置

1|32.有参函数

def hanshuming(x,y) if x>y: print(x) else: print(y) hanshuming(3020) #调用函数

1|43.无参函数

def hanshuming(): print(1) func() #调用函数

2|02.函数的返回值

当我们需要函数的执行结果时,这时就是要拿到函数的返回值

(1)如果函数没有返回值,默认返回None

None就是返回值,调用函数得到的一个结果

(2)函数可以通过return返回出返回值

(3)return可以终止函数

​ 终止的是函数,当函数终止时,其内部的循环或其他程序也会停止

(4)return可以返回多个值,以元组(相当于列表)的形式存储

3|03.函数的参数(形参、实参)

3|11.形参(位置形参、默认形参)

1|0(1)位置形参:从左到右一个一个写过去,就叫做位置形参

  • 与位置实参一一对应,依次接收值

1|0(2)默认形参:给位置形参一个默认值,让它成为默认形参

  • 默认形参:以后调用不需要为它传值,但是如果为它传值,他也会接收。

  • 默认参数必须放在最后面(即放在位置参数的后面)

3|2(3)形参的一些格式

形参后面跟 冒号(:)+数据类型 ;定义函数时 括号内的意思 ( -> 关键字 )

def f1(nums: list, target: int) -> int: print(nums, target) return [1, 2] #冒号后面的数据类型是指该参数要用的数据类型,但不是限制死的 #而第一行最后的int,是指函数的返回值必须为int类型,是限制死的
def compare(num1, num2=140): # 形参:一般具有描述意义,毫无作用,只是用来接收实参)相当于 变量名用来接收变量值 if num1 > num2: print(num1) else: print(num2)

3|32.实参(位置实参、关键字实参)

1|0(1)位置实参:从左到右一个一个写过去,就叫做位置实参

  • 与位置形参一一对应,依次传值

1|0(2)关键字实参:位置实参加上默认值,然后按照位置形参名传值

  • 关键字实参必须放在位置实参后面

  • 关键字实参,按照位置实参名给值,一般用于参数过多(一般建议函数参数不超过3个)

4|04.注册和登陆的函数

4|11.注册函数

def register(): # 注册 print('注册功能') username_inp = input('请输入你的用户名:') print('username_inp:', username_inp) pwd_inp = input('请输入你的密码:') print('pwd_inp:', pwd_inp) with open('user_info.txt', 'a', encoding='utf8') as fa: if ':' in username_inp: print('输入错误,用户名不能含有 :') else: fa.write(f'|{username_inp}:{pwd_inp}') print('保存成功') register()

4|22.登陆函数

def login(): # 登陆 print('登录功能') username_inp = input('请输入你的用户名:') pwd_inp = input('请输入你的密码:') with open('user_info.txt', 'r', encoding='utf8') as fr: data = fr.read() data_split = data.split('|') j=0 for i in data_split: j+=1 i=i.split(':') if username_inp==i[0] and pwd_inp==i[1]: print('登陆成功') break else: if j==len(data_split): print('登陆失败') else: continue login()

__EOF__

本文作者BigSun丶
本文链接https://www.cnblogs.com/Mcoming/p/11447544.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   BigSun丶  阅读(112)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示