第1章:Python基础速通(上)——变量与数据类型、列表与字典、条件判断与循环

各位同学,欢迎来到《链上指标筛选潜力代币实战课》。

我是你们的讲师,一个在链上数据圈摸爬滚打了好几年的老家伙。今天咱们开始第一课,Python基础速通。

你可能会问:“老师,我是来学筛选代币的,为什么要学Python基础?”

嗯,这个问题问得好。我当年刚入行时也这么想,结果发现手动查数据查到手抽筋,还容易出错。后来我明白了——想从链上海量数据里捞金子,你得先学会用工具。Python就是那把最顺手的铲子。

本章核心目标:用最短的时间,掌握筛选代币必备的Python技能。我们不搞学术研究,只讲实战中用得上的。

1.1 变量与数据类型——存储你的第一个代币信息

先说说变量。你可以把它理解成一个贴了标签的盒子。盒子里能装各种东西,标签就是变量名。

# 这是我个人习惯的写法:变量名要见名知意
token_name = "ETH"        # 字符串
token_price = 3500.50     # 浮点数
is_blue_chip = True       # 布尔值
holder_count = 250000     # 整数

这里涉及四种基本数据类型:

  • 字符串(str):用引号包起来的文本。比如代币名称、合约地址。
  • 整数(int):没有小数点的数字。比如持币地址数。
  • 浮点数(float):带小数点的数字。比如代币价格、市值。
  • 布尔值(bool):只有True或False。比如“是否属于蓝筹”。

避坑指南:我曾经在写脚本时,把合约地址当整数存了,结果Python报错。记住:合约地址、交易哈希这些,一律用字符串。因为数字太长会丢失精度。

1.2 列表与字典——组织你的代币信息

单个代币的信息好存,但我们要分析的是成百上千个代币。这时候就需要列表字典了。

列表:有序的集合

列表就像一串糖葫芦,每个元素按顺序排好。

# 存储多个代币名称
token_list = ["ETH", "BTC", "SOL", "AVAX"]

# 我经常用列表来存待分析的代币地址
address_list = [
    "0x123...abc",
    "0x456...def",
    "0x789...ghi"
]

# 访问第一个元素
print(token_list[0])  # 输出:ETH

字典:键值对的映射

字典更像一个通讯录——通过名字(键)找到对应的电话号码(值)。

# 用字典存储一个代币的完整信息
eth_info = {
    "name": "Ethereum",
    "symbol": "ETH",
    "price": 3500.50,
    "holders": 250000,
    "is_blue_chip": True
}

# 获取价格
print(eth_info["price"])  # 输出:3500.5

实战技巧:我习惯用列表嵌套字典来管理代币池。列表负责顺序,字典负责详细信息。这样既方便遍历,又能快速查找。

# 代币池:列表里套字典
token_pool = [
    {"name": "Ethereum", "symbol": "ETH", "price": 3500.50},
    {"name": "Bitcoin", "symbol": "BTC", "price": 67000.00},
    {"name": "Solana", "symbol": "SOL", "price": 145.20}
]

1.3 条件判断——给代币筛选加规则

筛选代币的核心是什么?定规则。条件判断就是实现规则的工具。

# 判断一个代币是否值得关注
price = 3500.50
holders = 250000

if price > 1000 and holders > 100000:
    print("这个代币基本面不错,加入观察列表")
elif price > 500:
    print("价格还行,但持有人数不够,再观察")
else:
    print("暂时不符合条件,跳过")

常用的比较操作符:

  • ><>=<=:比较大小
  • ==:判断相等(注意是两个等号)
  • !=:判断不相等
  • andornot:逻辑组合

注意:我曾经犯过一个低级错误——用=代替==做判断。结果不是报错就是逻辑全乱。记住:一个等号是赋值,两个等号才是判断。

1.4 循环——批量处理代币列表

手动一个个判断代币?不存在的。循环就是我们的自动化武器

for循环:遍历列表

# 遍历代币池,打印每个代币的价格
for token in token_pool:
    name = token["name"]
    price = token["price"]
    print(f"{name} 当前价格: ${price}")

结合条件判断:真正的筛选逻辑

# 筛选出价格大于1000美元且持有人数大于10万的代币
qualified_tokens = []

for token in token_pool:
    if token["price"] > 1000:
        qualified_tokens.append(token)
        print(f"✅ {token['name']} 符合条件")

print(f"共筛选出 {len(qualified_tokens)} 个代币")

我的习惯:筛选结果不要直接覆盖原列表,而是新建一个列表来存。这样方便后续对比和回溯。你想想看,万一筛选条件写错了,原数据还在,不至于重头再来。

1.5 本章知识体系总览

下面这张图,是我梳理的本章核心逻辑。建议你保存下来,写代码时对照着看。

Python基础速通(上)知识体系 Python基础 变量与数据类型 字符串(str) 整数(int) 浮点数(float) 布尔值(bool) 列表与字典 列表:有序集合 字典:键值对映射 条件判断与循环 三者结合 = 代币筛选的核心能力

1.6 本章小结

好了,第一课的内容就这些。总结一下:

  • 变量是存数据的盒子,数据类型决定了盒子里能装什么。
  • 列表管顺序,字典管映射,两者结合就是代币池的标准结构。
  • 条件判断定规则,循环批量执行,组合起来就是筛选引擎。

说实话,这些基础语法看着简单,但我在实际项目中见过太多人栽跟头。比如数据类型搞混导致计算错误,或者循环里忘记更新条件变成死循环。嗯,这些坑咱们后面都会遇到,到时候再细说。

下一节课,我们会继续深入Python基础,重点讲函数文件操作——这两个是批量处理链上数据的利器。

课后练习:创建一个包含5个代币信息的列表(每个代币至少包含名称、价格、持有人数三个字段),然后写一个循环,筛选出价格大于100且持有人数大于5000的代币,并打印出来。


专注资料整理