人工智能学习笔记 - 编程与工具 - 语言基础和工具
本章节总结人工智能常用的编程语言 Python 基础语法及 Jupyter/JupyterLab 的使用方法,是学习和实验的基础工具。
Python 基础语法
Hello World
print("Hello, World!")
注释
- 单行注释
# 这是一个单行注释
- 多行注释
"""
这是一个多行注释
可以写多行说明
"""
def add(a, b):
"""返回 a 与 b 的和"""
return a + b
数据类型
- 数值类型:
int:整数,例如x = 10float:浮点数,例如y = 3.14complex:复数,例如z = 1+2j
- 文本类型:
str:字符串,例如s = "AI"
- 布尔类型:
bool:True/False,例如flag = True
- 序列类型:
list:列表,可变序列,例如lst = [1,2,3]tuple:元组,不可变序列,例如t = (1,2,3)range:整数序列,例如r = range(5)
- 集合类型:
set:无序不重复集合,例如st = {1,2,3}frozenset:不可变集合,例如fst = frozenset([1,2,3])
- 映射类型:
dict:键值对,例如d = {"a":1, "b":2}
- 空值类型:
None:空值,用于占位或初始化,例如x = None
- 日期类型:
datetime:日期和时间,例如from datetime import datetime now = datetime.now()
- 其他高级类型:
- 函数对象,例如
def f(): return 1 - 生成器,例如
gen = (x*x for x in range(5)) - 类,例如
class MyClass: pass - 模块,例如
import math
- 函数对象,例如
变量与常量
变量
x = 10
y = 3.14
name = "Alice"
常量(Python 没有真正常量约束,约定全大写表示常量)
PI = 3.14159
运算
- 数学运算:
+,-,*,/,//(整除),%(取余),**(幂) - 比较运算:
==,!=,>,<,>=,<= - 逻辑运算:
and,or,not - 成员运算:
in,not in - 身份运算:
is,is not
控制逻辑
- 条件语句
if x > 0:
print("Positive")
elif x == 0:
print("Zero")
else:
print("Negative")
- for 循环
for i in range(5):
print(i)
- while 循环
n = 0
while n < 5:
print(n)
n += 1
- 循环控制
break # 提前退出循环
continue # 跳过本次循环
函数定义与调用
# 定义函数
def add(a, b):
return a + b
# 调用函数
result = add(3, 5)
print(result)
- 注意:
- 参数可以有默认值:
def func(a, b=2) - 可变参数:
*args:用于传递任意数量的位置参数,def func(*args): print(args) func(1,2,3) # 结果 > (1,2,3)**kwargs:用于传递任意数量的关键字参数def func(**kwargs): print(kwargs) func(a=1,b=2) # 结果 > {'a':1,'b':2}
- 匿名函数:
lambda x: x**2
- 参数可以有默认值:
导入模块与包
- 模块
# 导入整个模块
import math
# 导入模块中的某个对象
from math import sqrt, pi
- 包
"""
my_package/ # 包
__init__.py # 包初始化文件
module1.py
module2.py
"""
import my_package.module1
from my_package import module2
推导式
- 列表推导式
[表达式 for 变量 in 可迭代对象 if 条件]
- 集合推导式
{表达式 for 变量 in 可迭代对象 if 条件}
- 字典推导式
{key_expr: value_expr for 变量 in 可迭代对象 if 条件}
- 生成器推导式
(表达式 for 变量 in 可迭代对象 if 条件)
-
总结
- 列表推导式:生成列表
[ ] - 集合推导式:生成集合
{ },自动去重 - 字典推导式:生成字典
{key: value} - 生成器表达式:生成惰性序列
( ),节省内存
- 列表推导式:生成列表
-
优势:
- 语法简洁
- 可嵌套
- 支持条件过滤
- 高效、可读性强
Jupyter Notebook / JupyterLab
用途
- 交互式 Python 开发环境
- 支持代码执行、可视化、笔记记录
- 常用于数据分析、可视化、机器学习实验
Jupyter Notebook支持单文件的编辑,JupyterLab集成了Jupyter Notebook的所有能力,并且支持多文档编辑以及高度扩展
使用方式
- 安装:
pip install jupyterlab
- 启动:
jupyter notebook # 启动 Notebook
jupyter lab # 启动 JupyterLab
- 功能:
- 代码执行与输出展示
- 支持图表可视化(
matplotlib,seaborn) - 支持
Markdown文本和公式记录 - 可以导出为
HTML、PDF等