上节课复习:
什么是文件:文件是操作系统提供给应用程序操作硬盘的一个虚拟单位,用于应用程序数据永久保存
文件操作:open
文件打开模式:t模式:txt文本模式,读写文件以字符串为单位,需要指定字符编码,t模式只能文本文件
B:bytes字节模式:读写是以bytes为单位,不用指定字符编码,所有文件可以读写,
注意:t和b不能单独使用,必须和r,w,a模式组合
强调:写文件必须换行符 读文件也是
文件操作方法:
读:f.read (全部读出来) ,f.readline.(一行一行读) ,f.readlines(全部读出来放列表里面)
写:write (写)f.write 写存列表里
修改文件方式1:把文件内容全部读出来,2,然后在内存中完成修改,3,在把修改后的结果覆盖写入源文件
修改文件方式2:以读的方式打开原文件,以写的方式打开新文件,读一行原文,写入新文件,这期间可以需要修改,那么修改后在写入新文件,删掉原文件将新文件命名为原文件名
新知识:
一,函数介绍
什么是函数:就像一个人想修理什么东西,那我们就需要工具
1, 为什么要有函数:因为组织结构不清晰,可读性差。代码冗余。管理维护难度大,扩展性差。
2, 具备某一个功能的工具就是程序中的函数
3, 事先准备工具过程》》函数的定义
4, 拿来就用》》函数的调用
5, 所有函数的使用必须遵循:先定义,在调用
二,定义函数
1语法def函数名 def:定义函数的关键字
函数名是用来调用函数的,函数名的命名必须反映出函数功能
def 函数名
(
参数1
参数2
)
代码1
代码2
return
2调用:
函数名+()就是调用
print(print_sym)
print_sym(“#”,30)
print_msg(‘hello egon’)
print_sym(‘#’,30)
三,定义函数的三种类型
(1) 有参函数:参数是函体代码就接收外部值的一种方式,()里面有参数
练习
uname_of_db='egon'
pwd_of_db='123'
def interactive():
uname_of_db=input('name:')
pwd_of_db=input('password:')
return uname_of_db,pwd_of_db
def auth(name,password):
if name==uname_of_db
and password==pwd_of_db:
print('登录成功')
else:
print('失败')
res=interactive()
x=res[0]
y=res[1]
auth(x,y)
def max2(x,y):
if x>y:
print(x)
else:
print(y)
max2(100,101)
(2),无参函数,当函数的代码逻辑不需要函数的调用者参入值的情况下,就无参
Def interactive():
name=input(‘username>:’) .strip()
pwd=input(‘password>:’).strip()
print(ame,pwd)
def func():
print(‘ …….’)
print(‘……dhhd…….’)
print(name,pwd)
interactive()#定义时无参,意为着调用也无须传入参
练习
(2),无参函数,当函数的代码逻辑不需要函数的调用者参入值的情况下,就无参
Def interactive():
name=input(‘username>:’) .strip()
pwd=input(‘password>:’).strip()
print(ame,pwd)
def func():
print(‘ …….’)
print(‘……dhhd…….’)
print(name,pwd)
interactive()#定义时无参,意为着调用也无须传入参
第三种:空函数,函数体为pass
def func():
“””
这是一个认证功能
“”’’
pass
func()
四,调用函数
函数的使用必须遵循:先定义,后调用的原则
定义阶段:在定义阶段不执行代码,只检测语法
调用阶段:根据函数名找到函数的内存地址,然后执行函数体代码
1,调用函数的三种形式
def func():
print('form fhj')
func()
def max2(x,y):
if x>y:
return x
else:
return y
res=max2(10,3)
print(res)
def max2(x,y):
if x>y:
return x
else:
return y
res=max2(10,3)*100
print(res)
res=max2(max2(10,3),11)
函数的返回值
函数整体代码运行完后需要一个返回结果给调用者
三种形式:
Def func():没有return也返回none
Pass
Func()
#2return后跟一个值,返回该值本身
Def func1():
Return1
Res=func1()
Print(res)
#3 return 可以逗号分隔,返回多个值,会返回一个元组给调用者
Def func2():
Return 1,2[1,2,3]
Res=func2()
Print(res)
注意:return 返回值的值,没有类型限制
2,函数内可以写多return 但是只返回一个return,return是函数结束的标志,并把return后的值作为本次调用的返回值