Python(7)
目录
Python(7)
函数
全局变量与局部变量
文件
错误与异常
finally
函数
python的函数使用def定义
def add(a, b):
return a+b
def multiply(a, b):
return a*b
a = 18
b = 180
print(add(a, b))
print(multiply(a, b))
返回多个值的函数
返回的是一个元组,如果是接收要用多个值来接收
def divid(a, b):
return ((a + b), (a - b), (a*b), (a/b), (a%b))
a = 18
b = 180
print(divid(a, b))
ans1, ans2, ans3, ans4, ans5 = divid(a, b)
print(ans1, ans2, ans3, ans4, ans5)
全局变量与局部变量
全局变量作用整个程序,局部变量作用函数内,局部变量优先全局变量使用。
文件
以写模式打开文件 open("test.txt", "w"),文件不存在的话会自己创建。
读模式打开文件 open("test.txt", "r")
写文件 f.write("hello world, here is yozi")
读文件 f.read(5)
关闭文件close。
f = open("test.txt", "w")#写模式打开文件
f.write("hello world, here is yozi~")
f.write("hello world, here is yozi~")
f.close()#关闭文件
f = open("test.txt", "r")
print(f.read(5))#读5个字符,初始定位在头部
print(f.read(6))#再次读会在前面的基础之上
print(f.readline())#读一行
print(f.readlines())#读多行一行一列表
f.close()#关闭文件
在操作文件的过程中,只要没有close,那定位就一直在通过操作变化,下一次的操作的起始位置都是在上一次操作的结束位置。
错误与异常
以只读模式访问一个不存在的文件,会报错,需要处理异常,属于输出异常,使用IOError
try:
f = open("1234.text", "r")
except IOError:
print("文件没找到")
输出一个名称错误的变量,NameError
try:
print(num)
except NameError:
print("名称不存在")
同时捕获两种异常,报出现的第一个异常
try:
f = open("1234.text", "r")
print(num)
except (IOError, NameError) as result:
print("出现异常")
print(result)
所有异常的父类Exception,也是报出现的第一个异常
try:
f = open("1234.text", "r")
print(num)
except Exception as result:
print("出现异常")
print(result)
finally
无论发生什么也一定会执行。
由于文件最终必须被关闭,所以常用finally来操作关闭文件,finally在文件操作中的应用
try:
f = open("1234.txt", "r")
try:
while True:
content = f.readline()
if len(content) == 0:
break
print(content)
finally:
f.close()
print("关闭文件")
except Exception as result:
print("发生异常:" , result)
在数据库连接时也常用到finally保证数据库连接关闭。