。1函数定义:
如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数
。2函数的定义和调用
1、函数的定义
def 函数名():
代码
# 定义一个函数,能够完成打印信息的功能def printInfo():
print('------------------------------------')
print(' 人生苦短,我用Python')
print('------------------------------------')
2、函数的调用
定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它
调用函数很简单的,通过函数名() 即可完成调用
# 定义一个函数,能够完成打印信息的功能def printInfo():
print('------------------------------------')
print(' 人生苦短,我用Python')
print('------------------------------------')
# 定义完函数后,函数是不会自动执行的,需要调用它才可以
printInfo()
注意:
每次调用函数时,函数都会从头开始执行,当这个函数中的代码执行完毕后,意味着调用结束了
当然了如果函数中执行到了return也会结束函数
3、函数参数(一)
定义语法
def 函数名(参数1, 参数2,..):
执行代码
定义一个带参数的函数
def add2num(a, b):
c = a+b
print c
#函数调用
add2num(1, 2)
#执行结果是:3
4、函数返回值
#定义函数def add2num(a, b):
return a+b
#调用函数,顺便保存函数的返回值
result = add2num(100,98)
#因为result已经保存了add2num的返回值,所以接下来就可以使用了
print(result)
结果:
198
6、文件操作(文件内容复制、文件批量拷贝)
'''实现文本文件的复制####################################################'''# 分别以读,写方式 打开两个文件,一个是源文件,一个目标生成文件file_r = open('data','r')#打开文件,正对不同的文件需要指定路径和文件名,因为现在此文件就是当前目录C:\\Users\\12446\\Desktop\\a\a.pngfile_w = open('data_bak','w')#读取文件file_w.readlines()#读取文件按行去读取# 实现拷贝操作# 从源文件里读取文件,读一次,向目标文件当中写入一次while True: content = file_r.read(10)#将读取文件复制给一个变量 # 判断是否读取到了内容 if content != '': # 读取到内容,将内容写入 file_w.write(content) else: print('拷贝成功') break# 关闭文件file_r.close()file_w.close()########################################################################################批量拷贝文件夹中的文件####################################################################import os# C:\Users\12446\Desktop# print(os.getcwd())# 切换路径,将路径切换到桌面a文件os.chdir('C:\\Users\\12446\\Desktop\\a')#其中有个\是未了转义# 获取当前路径# print(os.getcwd())# 创建文件夹(目录文件,在桌面上创建aaaa文件)os.mkdir('C:\\Users\\12446\\Desktop\\aaaa')#此时会在左面上创建一个aaaa文件夹# 获取要拷贝文件夹中的所有文件名称(因为当前程序执行的路径就是C:\\Users\\12446\\Desktop\\aaaa# 可以用省略的方式直接写.代替)files = os.listdir('C:\\Users\\12446\\Desktop\\aaaa')# print(files)#循环遍历获取文件目录中的所有文件名for i in files: # 获取拷贝路径,已经修改宝贝文件名称为原名+_bak.png copy_lj='C:\\Users\\12446\\Desktop\\aaaa\\'+i.replace('.png','_bak.png') # print(copy_lj) # 打开文件此时i就是对应的文件名,正常写法发应该是C:\\Users\\12446\\Desktop\\aaaa\i # 才对,因为前面已经将程序执行切换到了此路劲所以直接用i就可以了 dakia = open(i,'rb') #写入文件 xieru = open(copy_lj,'wb') while True: dakai_siz=dakia.read(1024 * 1024) if dakai_siz != b'':#b‘’判断文件是否读取完,不同的操作形同可以用b去掉尝试调试 #写入文件 xieru.write(dakai_siz) else: print(dakai_siz) print(f'{i} 拷贝完成') break dakia.close() xieru.close()###############################################################################