`__init__` is Vyper's constructor. It runs exactly once at deployment and is decorated with `@deploy` in modern versions (previously it needed no decorator). It's where you set the owner, wire up immutables, and perform any one-time setup.
owner: public(address)
token: immutable(address)
@deploy
def __init__(token_: address):
self.owner = msg.sender
token = token_Like in Solidity, the constructor's bytecode is stripped from what actually gets stored on chain — only the resulting state and runtime code remain.