이전에 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Python과 C는 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1) Python은 간결한 구문 및 동적 타이핑으로 인해 빠른 개발 및 데이터 처리에 적합합니다. 2) C는 정적 타이핑 및 수동 메모리 관리로 인해 고성능 및 시스템 프로그래밍에 적합합니다.

Python 또는 C를 선택하는 것은 프로젝트 요구 사항에 따라 다릅니다. 1) 빠른 개발, 데이터 처리 및 프로토 타입 설계가 필요한 경우 Python을 선택하십시오. 2) 고성능, 낮은 대기 시간 및 근접 하드웨어 제어가 필요한 경우 C를 선택하십시오.

매일 2 시간의 파이썬 학습을 투자하면 프로그래밍 기술을 효과적으로 향상시킬 수 있습니다. 1. 새로운 지식 배우기 : 문서를 읽거나 자습서를 시청하십시오. 2. 연습 : 코드를 작성하고 완전한 연습을합니다. 3. 검토 : 배운 내용을 통합하십시오. 4. 프로젝트 실무 : 실제 프로젝트에서 배운 것을 적용하십시오. 이러한 구조화 된 학습 계획은 파이썬을 체계적으로 마스터하고 경력 목표를 달성하는 데 도움이 될 수 있습니다.

2 시간 이내에 Python을 효율적으로 학습하는 방법 : 1. 기본 지식을 검토하고 Python 설치 및 기본 구문에 익숙한 지 확인하십시오. 2. 변수, 목록, 기능 등과 같은 파이썬의 핵심 개념을 이해합니다. 3. 예제를 사용하여 마스터 기본 및 고급 사용; 4. 일반적인 오류 및 디버깅 기술을 배우십시오. 5. 목록 이해력 사용 및 PEP8 스타일 안내서와 같은 성능 최적화 및 모범 사례를 적용합니다.

Python은 초보자 및 데이터 과학에 적합하며 C는 시스템 프로그래밍 및 게임 개발에 적합합니다. 1. 파이썬은 간단하고 사용하기 쉽고 데이터 과학 및 웹 개발에 적합합니다. 2.C는 게임 개발 및 시스템 프로그래밍에 적합한 고성능 및 제어를 제공합니다. 선택은 프로젝트 요구와 개인적인 이익을 기반으로해야합니다.

Python은 데이터 과학 및 빠른 개발에 더 적합한 반면 C는 고성능 및 시스템 프로그래밍에 더 적합합니다. 1. Python Syntax는 간결하고 학습하기 쉽고 데이터 처리 및 과학 컴퓨팅에 적합합니다. 2.C는 복잡한 구문을 가지고 있지만 성능이 뛰어나고 게임 개발 및 시스템 프로그래밍에 종종 사용됩니다.

파이썬을 배우기 위해 하루에 2 시간을 투자하는 것이 가능합니다. 1. 새로운 지식 배우기 : 목록 및 사전과 같은 1 시간 안에 새로운 개념을 배우십시오. 2. 연습 및 연습 : 1 시간을 사용하여 소규모 프로그램 작성과 같은 프로그래밍 연습을 수행하십시오. 합리적인 계획과 인내를 통해 짧은 시간에 Python의 핵심 개념을 마스터 할 수 있습니다.

Python은 배우고 사용하기 쉽고 C는 더 강력하지만 복잡합니다. 1. Python Syntax는 간결하며 초보자에게 적합합니다. 동적 타이핑 및 자동 메모리 관리를 사용하면 사용하기 쉽지만 런타임 오류가 발생할 수 있습니다. 2.C는 고성능 응용 프로그램에 적합한 저수준 제어 및 고급 기능을 제공하지만 학습 임계 값이 높고 수동 메모리 및 유형 안전 관리가 필요합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

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

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.
