Python 基础语法速通

第 8 章:模块、环境与 FAQ

import、venv 速览、从静态语言迁过来的高频坑。

01import

Python
import math
from math import sqrt
from math import sqrt as root
print(math.pi, root(9))
Kotlin
import kotlin.math.PI
import kotlin.math.sqrt
println("$PI ${sqrt(9.0)}")
ArkTS
import { PI } from './MathConst'; // 示意
import { sqrt } from './MathUtil';

02虚拟环境(必会)

每个项目一个隔离环境,避免全局包污染——类似「每个 App 模块自己的依赖」。

python3 -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install requests
deactivate
提交代码时通常提交 requirements.txt,不提交 .venv/。

03脚本入口

Python
def main():
    print("hi")

if __name__ == "__main__":
    main()
Kotlin
fun main() {
    println("hi")
}
ArkTS
function main(): void {
  console.info("hi");
}
main();
__name__ == "__main__":直接运行本文件才执行;被 import 时不跑。

04常见坑 FAQ

为什么改了 list 默认参数,下次调用脏了?

默认参数只求值一次。写成 def f(xs=None): xs = xs or []。

Kotlin 的 == 结构相等,Python 呢?

== 比的是值(可重载);is 比身份。判 None 用 is。

ArkTS / TS 的 === 要写成什么?

Python 没有三等号;类型不同通常 == 为 False(如 1 == "1")。

如何声明「不可变 list」?

用 tuple;或注解 Sequence / 运行期别改。没有 Kotlin List vs MutableList 的编译强制。

下一站读什么?

官方 Tutorial;需要类型护栏上 Pyright;Web API 再看 FastAPI;数据用 pandas 另开专题。

Python 基础语法速通 · 对照 Kotlin / ArkTS · 本地预览稿