python基础七——函数、文件处理、异常处理

函数

#ko函数的定义
def ko():
    print('good')
#调用ko函数
ko()

#带参数的函数
def add2(a,b):
    c = a + b
    print(c)

add2(3,5)

#带返回值的函数---一个返回值
def add2(a,b):
    return a+b

print(add2(11,22))

#带返回值的函数---多个返回值
def divid(a,b):
    c = a // b
    d = a % b
    return c,d                      #多个返回值用逗号分隔

shang,yu = divid(5,2)
print("商为:%d,余:%d"%(shang,yu))


#实例
#楼梯层数
def printn(n):
    print('-'*n)

x = int(input("请输入数量"))
for n in range(1,x):
    printn(n)


#输出自定义行数的横线
def opp():
    print('-'*10)

x = int(input('打印多少行?'))                #法一for,法二while
#i = 0
#while i<x :
for i in range(x):
    opp()
    #i += 1



#实例-----求三个数的平均数
def num(a,b,c):
    z = a + b + c
    d = z // 3
    return d

a = int(input('第一个数'))
b = int(input('第二个数'))
c = int(input('第三个数'))
ok = num(a,b,c)
print(ok)

全局变量

#在函数中修改全局变量
a=100
def test1():
    global a            #定义函数内的a为全局变量,并作修改,影响全局变量a的最终值
    print(a)
    a=200
    print(a)

def test2():
    print(a)

test1()
test2()

文件处理
在这里插入图片描述

#打开/关闭文件
f = open('test.txt','w')                    #以w模式打开文件(写模式),!!文件不存在则生成新文件,文件存在则覆盖原文件
f.write('hallo,i \'m here')
f.close()

#按字符读取文件
f = open('test.txt','r')
d = f.read(5)                   #read 读取指定字符,开始时定位在文件头部,每执行一次向后移动指定字符数
print(d)
e = f.read(2)                   #读取test.txt路径下5个字符后的2个字符
print(e)
f.close()


#按行读取文件
f = open('test.txt','r')
d = f.readline()                        #按行读取文件,一次只读一行
print(d)
d1 = f.readline()
print(d1)
f.close()


#读取文件全部内容
f = open('test.txt','r')
d = f.readlines()                           #一次性读取全部内容,以列表的方式按行输出。一行为一个列表元素。
print(d)
i = 1
for d1 in d:
    print('第%d行,内容:%s'%(i,d1),end = '')
    i += 1
f.close()

异常处理

#捕获异常
try :
    print('---1')
    f = open('text1.txt','r')               #路径下没有这个文件,只读模式r打开会报错
    print('---2')
except IOError :                            #没找到文件,属于IO异常。若不是IO异常,则依然报错。异常类型想要被捕获,则要一一对应
#except (IOError,NameError):                #可以放多个可能出现的异常进行判断
#eccept Exception :                         #捕获所有异常
    pass                                    #捕获异常则执行这部分语句


#获取错误描述
try :
    print('---1')
    f = open('text1.txt','r')               #路径下没有这个文件,只读模式r打开会报错
    print('---2')
except (IOError,NameError) as result:       #获取错误异常,并描述出来
    print(result)                           #result存放错误结果,以字符串方式输出,不会影响程序的进行


#捕获所有异常并返回错误描述
try :
    print('---1')
    f = open('text1.txt','r')               #路径下没有这个文件,只读模式r打开会报错
    print('---2')
except Exception as result:                 #捕获所有异常并返回错误描述
    print(result)                           


#try.....finally的嵌套
import time                         #引入时间库
try :
    f = open('test.txt','r')                    #这是正确的程序,不会出现异常
    try:
        while True:
            d = f.readline()
            print(d)
            time.sleep(2)                       #延时2秒
            if len(d) == 0 :
                break
    finally :                                   #无论是否发生错误,都执行finally内容
        f.close()
        print('文件关闭')

except Exception as result:
    print(result)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值