|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
例如函数:
- def plus(x, y):
- sum = x + y
- return sum
- number1 = 5
- number2 = 6
- result = plus(5, 6)
- print("The sum is: ", result)
复制代码
参数是x和y,与全局变量的number1和number2的名称是不一样的。
但为什么在文件函数中,文件函数的参数要和外面的一抹一样呢?例如:
- def file_compare(file1_name, file2_name):
- f1 = open(file1_name, encoding = 'utf-8')#这里也可以输入‘utf=8'好使
- f2 = open(file2_name, encoding = 'utf-8')#这里也可以输入‘utf=8'好使
- count = 0 # 统计行数
- differ = [] # 统计不一样的数量
- for line1 in f1:
- line2 = f2.readline()
- count += 1
- if line1 != line2:
- differ.append(count)
- f1.close()
- f2.close()
- return differ #differ是一个数字列表:如果differ = [1, 2, 3, 5],
- #则len(differ)就等于4,表示列表中有四项,也就是四处不同。
- file1_name = input('请输入需要比较的头一个文件名:') #输入文件时要输入全部路径E:\...\什么的
- file2_name = input('请输入需要比较的另一个文件名:') #如果是中文,encoding也要考虑到
- differ = file_compare(file1_name, file2_name)
- if len(differ) == 0:
- print('两个文件完全一样!')
- else:
- print('两个文件共有【%d】处不同:' % len(differ))
- for each in differ:
- print('第 %d 行不一样' % each)
复制代码
在主程序中,两个文件名称分别是:file1_name 和 file2_name
而在两个文件对比的函数定义时,def file_compare(file1_name, file2_name):
以及在函数内部:
f1 = open(file1_name, encoding = 'utf-8')
f2 = open(file2_name, encoding = 'utf-8')
file1_name 与 file2_name的名称也完全一样。
为什么文件函数中的参数要和外面主程序文件名称保持一样呢?
谢谢
本帖最后由 Twilight6 于 2020-7-2 20:15 编辑
不需要呀,你乱写也可以的,只是你写函数时候定义参数为 file_name 让你下次看代码时候知道需要传入的是 文件名
如果你写个 x 你下次看到这个函数就看不懂,还要重新解读代码
但是你在函数定义了参数名是什么,下面要使用这个变量时候就要写的是参数名
举个例子:
- def func(num):
- print(num) # 这边要使用传入的值,使用的还是 num 而不是 xx
- xx = 100
- func(xx) # 这边将 xx 传入,但是在函数内部还是使用 num
复制代码
|
|