Python基础之函数定义及文件修改
函数
函数的定义
#登录函数和注册函数
def register():
"""注册函数"""
username = input('请输入你的用户名:')
password = input('请输入你的密码:')
#按照“用户名:密码|”的格式存储
with open('test.txt', 'w', encoding='utf8') as fw:
fw.write(f'{username}:{password}|')
def login():
"""登录函数"""
username = input('请输入你的用户名:')
password = input('请输入你的密码:')
#从文件中读数据进行匹配
with open('test.txt', 'r', encoding='utf8') as fr:
data = fr.read()
info_list = data.split('|')
info_user = f'{username}:{password}'
if info_user in info_list:
print('登录成功')
else:
print('登陆失败')
#直接用以下语句进行调用
#register()
#login()
#注释写在函数名的下一行未来忘记函数功能时,可用print(login.__doc__)进行查询
三种定义方式及其调用
#无参函数
def add():
"""无参函数"""
y = input('num1:')
x = input('num2:')
return int(x) + int(y)
res = add(10, 30)
print(res * 12)
#有参函数
def add(x, y)
"""有参函数"""
return int(x)+int(y)
print(add(10, 20))
#空函数
def func():
pass
##函数返回值
def add(x, y)
return x, y, x + y #return可以返回任意数据类型,不加括号默认返回元组类型
x,y,z = add(1, 2) # 可以用解压缩
print(x, y, z)
文件修改
思路:对一个文件中的数据进行修改,通常是先对该文件进行读操作,然后修改文件内容,把修改的内容写入新的文件中,在把旧文件remove掉并重命名新文件。
import os #导入os库,用于对文件进行修改和删除操作
with open('test.py', 'r', encoding='utf8') as fr, \
open('test_swap.py', 'w', encoding='utf8') as fw:
for i in fr:
data = i.replace('123', '456) #将文件中的123修改为456
fw.write(data)
os.remove('test.py') #移除原文件
os.rename('test_swap.py', 'test.py') #重命名新文件
Python基础之函数定义及文件修改的更多相关文章
- python基础之函数详解
Python基础之函数详解 目录 Python基础之函数详解 一.函数的定义 二.函数的调用 三.函数返回值 四.函数的参数 4.1 位置参数 4.2 关键字参数 实参:位置实参和关键字参数的混合使用 ...
- python基础——filter函数
python基础——filter函数 Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函 ...
- python基础——匿名函数及递归函数
python基础--匿名函数及递归函数 1 匿名函数语法 匿名函数lambda x: x * x实际上就是: def f(x): return x * x 关键字lambda表示匿名函数,冒号前面的x ...
- python基础——匿名函数
python基础——匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. 在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算f(x)=x2时 ...
- python基础——返回函数
python基础——返回函数 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 我们来实现一个可变参数的求和.通常情况下,求和的函数是这样定义的: def calc_ ...
- 八. Python基础(8)--函数
八. Python基础(8)--函数 1 ● 函数返回布尔值 注意, 自定义的函数也可以是用来作逻辑判断的, 例如内置的startswith()等函数. def check_len(x): ' ...
- python学习7—函数定义、参数、递归、作用域、匿名函数以及函数式编程
python学习7—函数定义.参数.递归.作用域.匿名函数以及函数式编程 1. 函数定义 def test(x) # discription y = 2 * x return y 返回一个值,则返回原 ...
- 第7.23节 Python使用property函数定义属性简化属性访问的代码实现
第7.23节 Python使用property函数定义属性简化属性访问的代码实现 一. 背景 在本章前面章节中,我们介绍了类相关的知识,并举例进行了说明,在这些例子中会定义一些形如 ...
- python基础——sorted()函数
python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个d ...
随机推荐
- oracle--BBED (dump 深入实践三)
一,工具介绍 bbed是Block Browser and Editor(块浏览编辑器)的缩写,它是Oracle数据库在安装时一起附带的工具. 一般此工具倾向于仅作为Oracle内部使用,且Oracl ...
- 轻量级Mysql Sharding中间件——Shark
Shark简介 前身为Kratos,轻量级Mysql分库分表(Sharding)中间件,丰富的Sharding算法支持(2类4种分片算法),能够方便DBA实现库的水平扩容和降低数据迁移成本.Shark ...
- 在 C++ 中使用 QML 对象
看过了如何在 QML 中使用 C++ 类型或对象,现在来看如何在 C++ 中使用 QML 对象. 我们可以使用 QML 对象的信号.槽,访问它们的属性,都没有问题,因为很多 QML 对象对应的类型,原 ...
- Java连载17-赋值类运算符&字符串的连接运算符
一.赋值运算符 1.赋值类运算符包括两种: (1)基本赋值运算符:= (2)扩展的赋值运算符: += -= *= /= &= 赋值类的运算符优先级:先执行等号右边的表 ...
- 前端学习:JS学习总结(图解)
前端学习:JS学习总结(图解) JS的代码笔记 JS比HTML和CSS的知识点要多的多,下面分几段来介绍其内容... 为了能让大家更好的检索,前面的图解是整个JS的概括,后面的才是知识点... 旁边就 ...
- Java并发专栏(一)—— Process vs Thread
一.前言 程序是代码和数据的集合,是一种静态实体.不具有代码执行和数据处理的能力,更多是一种行为的描述. 如果将程序和处理器结合,处理器将程序加载至内存,然后执行程序代码处理数据.这时就是可执行的程序 ...
- linux 定时器日志操作
首先先打开定时器的日志(默认是注释掉的) cron的日志功能使用syslogd服务,不同版本号linux可能装了不同的软件,这里介绍常见的两种: rsyslog-> 位置在 /etc/rsysl ...
- C#环境配置
由于C#是,Net框架的一部分,且用于编写.Net应用程序,所以我们需先了解下C#与.Net框架之间的关系. .Net框架(.Net Framework) .Net框架是一个创新的平台,能帮你编写出下 ...
- 使用Nginx反向代理Docker的Asp.Net Core项目的请求
承接上文的对Kestrel的思考 上一篇介绍了如何一下在docker中发布Asp.Net Core项目(传送门)在最后尝试从外网访问网站的时候发现请求的响应头中包含了这个信息Server:Kestre ...
- 【Visio】亲测Visio2013激活,破解工具下载
破解方法地址: https://blog.csdn.net/qq_38276669/article/details/85046615