Deployment sends a transaction whose data is the compiled bytecode plus ABI-encoded constructor arguments. Once mined, verification services (like Etherscan) recompile your exact source with the exact compiler version to prove the deployed bytecode matches, so users can read and trust the source.
vyper my_contract.vy -o build/ # produces build/my_contract.json with abi + bytecode
Because Vyper's version pragma is strict, always record the exact compiler version used at deploy time — verification will fail if you later try to verify with a mismatched version.