cdsingle 发表于 2021-6-2 15:53:45

请问一下None是哪里来的

搜索文件夹,归类文件,代码如下:
import os
F = os.listdir('f:\\python')
print(F)
ext = []
for i in F:
    c , d = os.path.splitext(i)
    ext.append(d)
ext_1 =set(ext)   

for each in ext_1:
    nums = ext.count(each)
   
    if each == '':
      print(print('文件夹',nums,'个'))
    else:
      print(each,'文件有',nums,'个')



=========================================================
执行结果:为什么会有None
['1.py', '2.py', '22.py', '33 - 複製.py', '33.py', '980-500-0241R.txt', '980-500-0243R.txt', 'agile_20210601_07594225.txt', 'agile_20210601_080044210.txt', 'cf.py', 'FF', 'fuck.txt', 'red_bule_balls.py', 'red_bule_balls_v2.py', 'ss', 'test.txt', 'test_1.txt', 'weather2.py', '零基础入门学习Python(第2版)_nodrm.pdf']
.txt 文件有 7 个
文件夹 2 个
None
.pdf 文件有 1 个
.py 文件有 9 个

Twilight6 发表于 2021-6-2 15:59:10


末尾的 if 条件成立后你打印了 print(print('文件夹',nums,'个'))

因为 print 函数没有返回值,而 Python 默认将没有返回值的函数返回为 None

所以你这里 红色的 print 打印了一次 蓝色 print 函数的 返回值 None

cdsingle 发表于 2021-6-2 16:01:04

Twilight6 发表于 2021-6-2 15:59
末尾的 if 条件成立后你打印了 print(print('文件夹',nums,'个'))

因为 print 函数没有返回值,而 Py ...

谢谢,我没有看出来多了一个print,
新手.....
页: [1]
查看完整版本: 请问一下None是哪里来的