这是如何在Python中有条件的工作?

0 python conditional

from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class MainPage(webapp.RequestHandler):
    def get(self):
        user = users.get_current_user()

        if user:
            self.response.headers['Content-Type'] = 'text/plain'
            self.response.out.write('Hello, ' + user.nickname())
        else:
            self.redirect(users.create_login_url(self.request.uri))

application = webapp.WSGIApplication(
                                     [('/', MainPage)],
                                     debug=True)

def main():
    run_wsgi_app(application)

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

我不明白这条线的工作原理:

    if user:
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('Hello, ' + user.nickname())
    else:
        self.redirect(users.create_login_url(self.request.uri))
Run Code Online (Sandbox Code Playgroud)

我猜这些users.get_current_user()返回一个布尔值?那么,如果是这样的话怎么能得到一个.nickname()方法呢?

感谢您的指导.

Ada*_*ear 8

它基本上会检查是否user是一个实际的对象或None.如果是None,代码将进入else块并重定向到"创建登录"页面.