Python - How is this snippet working?
        Posted  
        
            by orokusaki
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by orokusaki
        
        
        
        Published on 2010-04-05T17:47:39Z
        Indexed on 
            2010/04/05
            17:53 UTC
        
        
        Read the original article
        Hit count: 234
        
python
|if-else-statement
For some reason this function confused me:
def protocol(port):
    return port == "443" and "https://" or "http://"
Can somebody explain the order of what's happening behind the scenes to make this work the way it does.
I understood it as this until I tried it:
Either A)
def protocol(port):
    if port == "443":
        if bool("https://"):
            return True
    elif bool("http://"):
        return True
    return False
Or B)
def protocol(port):
    if port == "443":
        return True + "https://"
    else:
        return True + "http://"
Is this some sort of special case in Python, or am I completely misunderstanding how statements work?
© Stack Overflow or respective owner