Vyper 데이터 유형(시리즈 2)
이전에 Vyper가 가장 빠르게 성장하는 스마트 계약 개발 언어 중 하나이기 때문에 판도를 바꾸는 이유에 대해 논의했습니다.
Pragma 및 Constructor와 같은 몇 가지 기본 사항도 다루었습니다. 여기에서 읽을 수 있습니다.
오늘은 데이터 유형과 작동 방식에 대해 자세히 알아보겠습니다.
데이터 유형이란 무엇입니까?
데이터 유형은 집에서 항목을 특정 위치에 정렬하는 것처럼 코드에서 다양한 정보를 구성하는 데 도움이 됩니다.
이러한 유형은 프로그램이 실행되기 전에 설정됩니다. 액체용으로 설계된 컨테이너가 고체 저장에 적합하지 않은 것처럼 Vyper의 각 변수는 설계된 데이터 유형만 저장할 수 있습니다.
코드를 작성할 때 계산을 위한 숫자, 이름을 위한 텍스트, 간단한 결정을 위한 참/거짓 등 각 변수가 보유할 데이터 유형을 지정해야 합니다. 이러한 유형을 사용하면 프로그램이 정보를 올바르게 처리하여 누군가의 이름을 곱하거나 문자를 합치는 등의 오류를 방지할 수 있습니다.
Vyper의 데이터 유형 이해
- 부울 - 단순 참/거짓
전등 스위치와 같은 부울 값을 생각해 보세요. 참 또는 거짓의 두 가지 상태만 있을 수 있습니다. 우리는 예/아니오 결정을 내리기 위해 코드에서 이를 사용합니다.
<code>is_active: bool = True is_paused: bool = False # 可以翻转布尔值 is_active = not is_active # 现在是 False</code>
not, == 및 !=를 포함한 특정 연산자는 부울 값과 함께 효과적으로 사용될 수 있습니다. 이는 우리가 진실이나 거짓을 증명하는 데 이를 사용할 수 있음을 의미합니다.
**运算符** | **描述** |
---|---|
not x | 逻辑否定 |
x and y | 逻辑合取 |
x or y | 逻辑析取 |
x == y | 相等 |
x != y | 不相等 |
-
not x - 참/거짓 값을 반대 방향으로 뒤집음
is_door_locked = 참
is_door_unlocked = is_door_locked가 아님 # 결과: False
'반대'라고 말하는 것과 같습니다. 문이 잠겨 있으면 잠금이 해제된다는 것은 문이 열려 있다는 의미입니다.
-
x와 y - 두 조건이 모두 참이어야 합니다
has_ticket = True
has_id = 참
can_board_plane = has_ticket 및 has_id # 결과: True
비행기에 탑승하려면 티켓과 신분증이 필요한 것처럼 두 값이 모두 true여야 결과가 true가 됩니다.
-
x 또는 y - 최소한 하나의 조건이 true여야 합니다.
has_cash = 거짓
has_credit_card = 참
can_pay = has_cash 또는 has_credit_card # 결과: True
예를 들어 결제 시 현금이나 신용카드 중 하나를 사용해야 합니다.
-
x == y - 두 값이 동일한지 확인
비밀번호 = "secret123"
항목 = "secret123"
is_corlect = 비밀번호 == 항목 # 결과: True
두 개의 키가 같은지 확인하는 것과 같습니다.
-
x != y - 두 값이 다른지 확인
예상 가격 = 100
실제 가격 = 90
가격 변경 = 예상 가격 != 실제 가격 # 결과: True
이것은 가격이 예상과 다르다는 것을 알아차리는 등 뭔가 다른지 확인하는 것과 같습니다. 이러한 연산자는 논리적 부울 결정을 내리는 데 도움이 됩니다.
숫자 - 정수 및 그 변형
스마트 계약에서 숫자를 사용할 때 Vyper는 정수를 처리하는 두 가지 기본 방법, 즉 부호 있는 정수와 부호 없는 정수를 제공합니다. 각 방법에는 고유한 목적이 있으며, 효율적이고 안전한 코드를 작성하려면 차이점을 이해하는 것이 중요합니다.
- 부호 있는 정수
부호 있는 정수는 아마도 Vyper에서 가장 다재다능한 숫자 유형일 것이며 양수 값과 음수 값을 모두 나타낼 수 있습니다. 은행 계좌를 생각해 보세요. 예금(양수)을 할 수 있고 돈을 인출(음수)할 수 있습니다. 부호 있는 정수가 빛나는 곳은 바로 여기입니다. age: int8 = -5와 같은 변수를 선언하면 Vyper에게 -128에서 127 사이의 숫자를 저장할 수 있는 8비트 공간을 예약하도록 지시하는 것입니다.
<code>is_active: bool = True is_paused: bool = False # 可以翻转布尔值 is_active = not is_active # 现在是 False</code>
더 큰 값의 경우 Vyper는 더 큰 저장 용량을 제공합니다. int256 유형은 일반적으로 많은 숫자 연산에 사용되며 더 큰 숫자를 처리할 수 있습니다. 회사의 손익을 추적해 보세요. 잔액: int256 = 1000. 이는 어느 방향으로든 큰 재정적 움직임을 나타낼 수 있습니다.
- 부호 없는 정수
현실 세계의 일부 가치는 결코 부정적이지 않습니다. -3 사과 또는 -5 사용자를 가질 수 없습니다. 부호 없는 정수가 작동하는 곳입니다. 수량: uint8 = 255와 같은 설명은 인벤토리 시스템이나 사용자 계산에 적합합니다.
uint8 유형은 8비트를 효과적으로 사용하여 0에서 255 사이의 값을 저장하므로 작은 양수에 이상적입니다.
<code>is_active: bool = True is_paused: bool = False # 可以翻转布尔值 is_active = not is_active # 现在是 False</code>
Vyper에서 가장 일반적으로 사용되는 부호 없는 정수는 uint256입니다. 가격: uint256 = 1000을 작성하면 이더리움 거래의 토큰 수 또는 wei 값에 적합한 거대한 양수를 보유할 수 있는 변수를 생성합니다.
- 십진수
정확한 계산을 위해 소수점을 사용해야 할 때
<code># 有符号整数(可以为正数或负数) age: int8 = -5 # 存储范围为 -128 到 127 balance: int256 = 1000 # 较大的范围用于更大的数字</code>
- 주소 - 이더리움 계정용
우리는 매일 주소를 사용하여 집, 상점, 친구 집 등 위치를 식별합니다. Ethereum 세계에서 주소는 비슷하게 작동하지만 물리적 위치를 가리키는 대신 디지털 지갑과 스마트 계약을 가리킵니다. 이러한 주소를 독특하게 만드는 요소와 Vyper에서 어떻게 작동하는지 살펴보겠습니다.
이더리움 주소란 무엇인가요?
<code># 无符号整数(只有正数) quantity: uint8 = 255 # 存储范围为 0 到 255 price: uint256 = 1000 # 常用于存储大型正数</code>
이더리움 주소를 고유한 디지털 사서함이라고 생각하세요. 집 주소가 우편물이 귀하에게만 도달하도록 보장하는 것처럼, 이더리움 주소는 암호화폐와 디지털 자산이 의도한 목적지에 도달하도록 보장합니다. Vyper에서는 이러한 주소를 처리하기 위해 address라는 특수 유형을 사용합니다.
다음과 같이 작성할 경우:
<code>price: decimal = 19.99 # 适用于财务计算 tax_rate: decimal = 0.15</code>
유효한 이더리움 주소만 저장할 수 있는 변수를 생성 중입니다. 이러한 주소는 항상 "0x"로 시작하고 그 뒤에 숫자(0-9)와 문자(a-f)로 구성된 40자가 옵니다.
실제 사례 간단한 디지털 지갑 계약을 구축한다고 가정해 보겠습니다. 다음과 같이 주소를 저장할 수 있습니다.
<code>owner: address = 0x123... # 存储钱包地址 contract: address = 0xABC...</code>
주소 사용 Vyper의 주소에는 특별한 속성이 있습니다. 다음 내용을 확인할 수 있습니다.
- 한 주소에 이더리움 코인이 몇 개나 들어있나요
- 주소가 스마트 계약에 속하는지 여부
- 코드는 컨트랙트 주소에 저장됩니다
예를 들어 주소 잔액을 확인하는 방법은 다음과 같이 간단합니다.
<code>owner: address = 0x71C7656EC7ab88b098defB751B7401B5f6d8976F</code>
주소는 블록체인을 탐색하는 데 도움이 되며 디지털 자산과 상호 작용이 의도한 목적지에 안전하고 안정적으로 도달하도록 보장합니다.
- 바이트 배열 - 원시 데이터용
Vyper에서는 바이트 배열을 사용하여 원시 바이너리 데이터를 처리합니다. 컴퓨터가 직접 처리할 수 있는 정보를 저장하는 컨테이너라고 생각하세요. 바이트 배열은 파일, 암호화 해시 또는 이진 작업 작업을 할 때 특히 유용합니다.
<code># 钱包的所有者 owner: address = 0x71C7656EC7ab88b098defB751B7401B5f6d8976F # 可靠的备份地址 backup_wallet: address = 0x8626f6940E2eb28930eFb4CeF49B2d1F2C9C1199</code>
정적 바이트 배열 정적 바이트 배열은 고정된 크기를 가지며 변경할 수 없습니다. 이렇게 하면 간단하고 효율적입니다.
예: 고정 크기 해시 저장 항상 32바이트 길이의 지문과 같은 고유 코드가 있다고 가정해 보겠습니다. Vyper에 저장하는 방법은 다음과 같습니다.
fixed_code: bytes32 이는 bytes32가 항상 32바이트임을 의미합니다.
동적 바이트 배열
동적 바이트 배열은 최대 크기를 초과하지 않는 한 다양한 길이의 데이터를 수용할 수 있습니다. 짧은 메시지와 같은 콘텐츠를 저장하는 데 도움이 됩니다.
예: 짧은 메시지 저장 최대 100바이트 길이의 "Hello, World!"와 같은 메시지를 저장한다고 가정해 보겠습니다.
<code>is_active: bool = True is_paused: bool = False # 可以翻转布尔值 is_active = not is_active # 现在是 False</code>
자, 오늘의 공부는 여기까지입니다. 다음 기사에서는 더 많은 데이터 유형을 조사하고 그 기능을 이해하겠습니다.
위의 내용을 더 자세히 읽으려면 Vyper 문서와 Vyper 예제를 확인하세요.
위 내용은 Vyper 데이터 유형(시리즈 2)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Linux 터미널에서 Python 버전을 보려고 할 때 Linux 터미널에서 Python 버전을 볼 때 권한 문제에 대한 솔루션 ... Python을 입력하십시오 ...

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Python의 Pandas 라이브러리를 사용할 때는 구조가 다른 두 데이터 프레임 사이에서 전체 열을 복사하는 방법이 일반적인 문제입니다. 두 개의 dats가 있다고 가정 해

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Uvicorn은 HTTP 요청을 어떻게 지속적으로 듣습니까? Uvicorn은 ASGI를 기반으로 한 가벼운 웹 서버입니다. 핵심 기능 중 하나는 HTTP 요청을 듣고 진행하는 것입니다 ...

Linux 터미널에서 Python 사용 ...

Investing.com의 크롤링 전략 이해 많은 사람들이 종종 Investing.com (https://cn.investing.com/news/latest-news)에서 뉴스 데이터를 크롤링하려고합니다.
