Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python—检查赋值并在无赋值时退出的python方式_Python_Coding Style_Nonetype - Fatal编程技术网

python—检查赋值并在无赋值时退出的python方式

python—检查赋值并在无赋值时退出的python方式,python,coding-style,nonetype,Python,Coding Style,Nonetype,我在寻找一种类似于(C)的python 类似于user=getUser()或return的方法不起作用,如果(user=getUser()为None)return-pythonic方法是什么?如果您正在寻找一种一次性分配和检查分配值的方法,则没有一种方法,Python会阻止您创建一个 user = get_user() if user is None: return None 如果您正在寻找一种一次性分配和检查已分配值的方法,那么没有一种方法,Python会阻止您创建一个 user =

我在寻找一种类似于(C)的python


类似于
user=getUser()或return
的方法不起作用,如果(user=getUser()为None)return-pythonic方法是什么?

如果您正在寻找一种一次性分配和检查分配值的方法,则没有一种方法,Python会阻止您创建一个

user = get_user()
if user is None:
    return None

如果您正在寻找一种一次性分配和检查已分配值的方法,那么没有一种方法,Python会阻止您创建一个

user = get_user()
if user is None:
    return None
您可以在两种情况下使用:

  • get\u user()
    返回一个可以调整的类类型

  • 您愿意在
    get\u user
    返回的类中定义两个特殊函数,即

    __enter__(self)
    __exit__(self, exception_type, exception_value, traceback)
    
现在,假设您的
User
类已全部设置就绪,那么您可以编写以下代码

with get_user() as user:
    # do what you need to do 
这样,赋值就发生在
with
语句中,该语句在进入和退出上下文管理范围时调用您的特殊方法。在这些方法中,您可以指定检查以及失败或成功时的行为,以符合您的规范

您可以在两种情况下使用:

  • get\u user()
    返回一个可以调整的类类型

  • 您愿意在
    get\u user
    返回的类中定义两个特殊函数,即

    __enter__(self)
    __exit__(self, exception_type, exception_value, traceback)
    
现在,假设您的
User
类已全部设置就绪,那么您可以编写以下代码

with get_user() as user:
    # do what you need to do 
这样,赋值就发生在
with
语句中,该语句在进入和退出上下文管理范围时调用您的特殊方法。在这些方法中,您可以指定检查以及失败或成功时的行为,以符合您的规范