import time
import random
def get_random_id( ) :
print ( "🎲 Generating random ID..." )
time .sleep ( 0.1 )
return random .randint ( 1000 , 9999 )
class UserSession:
session_id = get_random_id( )
def __init__ ( self , username) :
self .username = username
print ( f"👤 Created session for {username}" )
def get_session_info( self ) :
return f"User: {self.username}, Session ID: {self.session_id}"
# Test the behavior
print ( "Creating users..." )
user1 = UserSession( "Alice" )
print ( user1.get_session_info ( ) )
user2 = UserSession( "Bob" )
print ( user2.get_session_info ( ) )
user3 = UserSession( "Charlie" )
print ( user3.get_session_info ( ) )
@ property
def session_id( self ) :
if not hasattr ( self , '_session_id' ) :
self ._session_id = get_random_id( )
return self ._session_id
aW1wb3J0IHRpbWUKaW1wb3J0IHJhbmRvbQoKCmRlZiBnZXRfcmFuZG9tX2lkKCk6CiAgICBwcmludCgi8J+OsiBHZW5lcmF0aW5nIHJhbmRvbSBJRC4uLiIpCiAgICB0aW1lLnNsZWVwKDAuMSkKICAgIHJldHVybiByYW5kb20ucmFuZGludCgxMDAwLCA5OTk5KQoKCmNsYXNzIFVzZXJTZXNzaW9uOgogICAgc2Vzc2lvbl9pZCA9IGdldF9yYW5kb21faWQoKQoKICAgIGRlZiBfX2luaXRfXyhzZWxmLCB1c2VybmFtZSk6CiAgICAgICAgc2VsZi51c2VybmFtZSA9IHVzZXJuYW1lCiAgICAgICAgcHJpbnQoZiLwn5GkIENyZWF0ZWQgc2Vzc2lvbiBmb3Ige3VzZXJuYW1lfSIpCgogICAgZGVmIGdldF9zZXNzaW9uX2luZm8oc2VsZik6CiAgICAgICAgcmV0dXJuIGYiVXNlcjoge3NlbGYudXNlcm5hbWV9LCBTZXNzaW9uIElEOiB7c2VsZi5zZXNzaW9uX2lkfSIKCgojIFRlc3QgdGhlIGJlaGF2aW9yCnByaW50KCJDcmVhdGluZyB1c2Vycy4uLiIpCnVzZXIxID0gVXNlclNlc3Npb24oIkFsaWNlIikKcHJpbnQodXNlcjEuZ2V0X3Nlc3Npb25faW5mbygpKQoKdXNlcjIgPSBVc2VyU2Vzc2lvbigiQm9iIikKcHJpbnQodXNlcjIuZ2V0X3Nlc3Npb25faW5mbygpKQoKdXNlcjMgPSBVc2VyU2Vzc2lvbigiQ2hhcmxpZSIpCnByaW50KHVzZXIzLmdldF9zZXNzaW9uX2luZm8oKSkKCgoKQHByb3BlcnR5CmRlZiBzZXNzaW9uX2lkKHNlbGYpOgogICAgaWYgbm90IGhhc2F0dHIoc2VsZiwgJ19zZXNzaW9uX2lkJyk6CiAgICAgICAgc2VsZi5fc2Vzc2lvbl9pZCA9IGdldF9yYW5kb21faWQoKQogICAgcmV0dXJuIHNlbGYuX3Nlc3Npb25faWQK