myqf123 发表于 2021-9-9 22:20:49

if fieldValues == None:意义何在?

import easygui as g

msg = "请填写以下联系方式"
title = "账号中心"
fieldNames = [" *用户名", " *真实姓名", "固定电话", " *手机号码", "QQ", " *E-mail"]
fieldValues = []
fieldValues = g.multenterbox(msg, title, fieldNames)

while 1:
    if fieldValues == None:                #这条有意义吗?
      break                                ##感觉这个不会被执行,因为列表fieldValues是不会 == None,那为什么还要这样写呢?那位大神能解释下?小白学习中,望不吝赐教!
    errmsg = ""
    for i in range(len(fieldNames)):
      option = fieldNames.strip()
      if fieldValues.strip() == "" and option == "*":
            errmsg += ('【%s】为必填项。\n\n' % fieldNames)
    if errmsg == "":
      break
    fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)

print("用户资料如下:%s" % str(fieldValues))
   

wp231957 发表于 2021-9-10 07:32:42

用户啥也没选,不就是none?

myqf123 发表于 2021-9-10 09:40:15

wp231957 发表于 2021-9-10 07:32
用户啥也没选,不就是none?

用户啥也没选,本质上fieldValues是含有空元素的列表,但含有空元素的列表也不会等于None,不信你可以尝试['',''] == None的布尔值,结果是False,所以if fieldValues == None:是不会被执行的,也就没有什么意义啊!

wp231957 发表于 2021-9-10 09:43:28

myqf123 发表于 2021-9-10 09:40
用户啥也没选,本质上fieldValues是含有空元素的列表,但含有空元素的列表也不会等于None,不信你可以尝试 ...

那就不清楚了从来不研究easygui   这个鸡肋一样的模块
python 针对复杂的GUI 都是弱项就别提这个简版的gui 没有任何价值

myqf123 发表于 2021-9-10 10:01:57

wp231957 发表于 2021-9-10 09:43
那就不清楚了从来不研究easygui   这个鸡肋一样的模块
python 针对复杂的GUI 都是弱项就别提这个 ...

感谢回复!

ckblt 发表于 2022-2-7 21:14:48

当然有意义,你点cancel会报错:
Traceback (most recent call last):
File "g:\Python Projects\Temp\a.py", line 15, in <module>
    if fieldValues.strip() == "" and option == "*":
TypeError: 'NoneType' object is not subscriptable

这里要提个醒,前面一句
fieldValues = []
没用,因为后面一句也是赋值

myqf123 发表于 2022-2-8 11:50:33

ckblt 发表于 2022-2-7 21:14
当然有意义,你点cancel会报错:




感谢回复!
页: [1]
查看完整版本: if fieldValues == None:意义何在?