【Vyper】第2章第3回:関数の定義と呼び出し:基本的な書き方

本記事では、Vyperにおける関数の定義方法と呼び出し方について詳しく解説します。関数を活用することで、コードの再利用性を高め、スマートコントラクトの設計をより効率的に行うことができます。
0. 記事の概要
この記事を読むメリット
- Vyperの関数の基本構文を理解できる
- 関数を定義し、適切に呼び出す方法を学べる
- スマートコントラクトの保守性を向上させる手法を習得できる
1. 関数の基本
1.1 関数の定義
@public
def add(a: int128, b: int128) -> int128:
return a + b
動作解説
- @public 関数を公開し、外部から呼び出せるようにする
- def add(a: int128, b: int128) -> int128: 関数の定義。2つの整数を受け取り、整数を返す
- return a + b aとbを加算し、結果を返す
1.2 関数の呼び出し

@public
def calculate() -> int128:
return self.add(10, 20)
動作解説
- self.add(10, 20) 事前に定義したadd関数を呼び出し、引数10と20を渡す
- return 関数の実行結果を返す
2. 複数の関数を活用

2.1 関数の連携
@public
def multiply(a: int128, b: int128) -> int128:
return a * b
@public
def calculate_extended() -> int128:
return self.multiply(self.add(5, 5), 2)
動作解説
- self.add(5, 5) まずadd関数を呼び出し、5 + 5を計算
- self.multiply(…, 2) multiply関数に結果を渡し、2倍する
- return 最終的な計算結果を返す
3. 練習問題

3.1 練習問題
以下の課題に挑戦してください。
- 3つの引数を受け取り、最大値を返す関数を作成する
- 別の関数を呼び出して処理を組み合わせる関数を作成する
4. まとめ
本記事では、Vyperにおける関数の基本的な使い方と応用について学びました。関数を活用し、再利用性の高いスマートコントラクトを実装しましょう。