文章目录
一、起手式:搭建你的Python游乐场
1.1 版本选择大战
Python3和Python2就像iPhone15和诺基亚(懂的都懂)!2023年了直接上Python3.10+版本!推荐用Anaconda这个全家桶安装,自带180+科学计算库(省事到哭)!
# 验证安装成功
print("Hello, 世界!") # 中文变量新时代!
(注意)Windows用户记得勾选"Add Python to PATH"(血泪教训)!!!安装完用python --version
检查版本,看到3开头才能继续!
1.2 开发工具三剑客
- VS Code:插件多到爆炸(宇宙第一编辑器不是吹的)
- PyCharm:专业版真香(学生可申请免费License)
- Jupyter:数据分析神器(所见即所得模式)
(个人私货)新手先用IDLE练手,等熟悉了再换高级工具!(防止被复杂功能劝退)
二、语法核心七重天
2.1 变量命名玄学
username = "码农阿强" # 字符串
age = 18 # 整型
price = 9.99 # 浮点型
is_adult = True # 布尔型(首字母必须大写!)
动态类型一时爽,一直动态一直爽!(但可能埋坑)类型查看大法:print(type(age))
2.2 字符串七十二变
# f-string 是永远的神!
print(f"{username}今年{age}岁,月薪{price}K")
# 三引号玩转多行文本
poem = """春眠不觉晓,
处处闻啼鸟。
"""
(冷知识)Python没有字符类型,单字符也是字符串!
2.3 列表 VS 元组
# 可变列表
shopping_list = ["手机", "耳机", "充电宝"]
shopping_list[1] = "蓝牙耳机" # 随意修改
# 不可变元组
colors = ("红", "绿", "蓝")
# colors[0] = "黄" # 报错!
(选择困难症)需要修改用列表,保护数据用元组!
2.4 字典:键值对之王
user_info = {
"name": "张伟",
"age": 28,
"hobbies": ["编程", "游戏"]
}
print(user_info.get("height", 175)) # 防报错神技
(黑科技)字典的键可以是数字、字符串甚至元组(但不能用列表!)
三、流程控制三板斧
3.1 条件判断
score = 85
if score >= 90:
print("SSS级!")
elif 80 <= score < 90:
print("A级")
else:
print("下次加油!")
(超级重点)缩进!缩进!缩进!Python靠缩进区分代码块,建议用4个空格(Tab键设置转换)
3.2 循环大法
# for循环
for i in range(5): # 0-4
print(f"第{i+1}次循环")
# while循环
count = 3
while count > 0:
print(f"倒计时:{count}")
count -= 1
(避坑指南)慎用无限循环!一定要设置终止条件!
3.3 推导式黑魔法
# 列表推导式
squares = [x**2 for x in range(10) if x%2==0]
# 字典推导式
cube_dict = {x: x**3 for x in range(5)}
(装逼技巧)一行代码搞定多层循环!
四、函数与模块化编程
4.1 定义你的第一个函数
def calculate_bmi(weight, height):
"""计算身体质量指数
Args:
weight (float): 体重(kg)
height (float): 身高(m)
Returns:
float: BMI值
"""
return weight / (height ** 2)
print(calculate_bmi(70, 1.75)) # 22.86
(文档字符串)三引号注释超有用!用help()函数可查看
4.2 参数传递的奥秘
# 默认参数
def register(name, age, city="北京"):
print(f"{name} {age}岁 来自{city}")
# 可变参数
def sum_all(*numbers):
return sum(numbers)
print(sum_all(1,2,3,4,5)) # 15
(重点)默认参数要指向不可变对象!列表等可变对象可能引发意外
五、异常处理生存指南
try:
age = int(input("请输入年龄:"))
print(f"你输入的年龄是:{age}")
except ValueError:
print("输入的不是数字!")
except Exception as e:
print(f"未知错误:{e}")
finally:
print("程序执行完毕")
(保命技巧)不要用裸except!明确捕获特定异常类型
六、面向对象初体验
class Cat:
def __init__(self, name, color):
self.name = name
self.color = color
def speak(self):
print(f"{self.name}说:喵~")
my_cat = Cat("橘座", "orange")
my_cat.speak()
(OOP精髓)self不是关键字!但约定俗成必须写,__init__是构造方法
七、常用标准库速查
- os:操作系统交互
- datetime:时间处理
- json:数据序列化
- random:随机数生成
- math:数学运算
from datetime import datetime
print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
(库管理技巧)用pip list
查看已安装包,pip freeze > requirements.txt
导出依赖
八、避坑指南(血泪总结)
- 中文编码问题:文件开头加
# -*- coding: utf-8 -*-
- 浅拷贝深拷贝:列表赋值用
.copy()
或list()
- 可变默认参数:绝对不要写
def func(a=[])
! - 循环中修改列表:用
for item in list.copy():
- == 和 is 的区别:
is
比较内存地址,==
比较值
九、下一步学习路线
- 文件操作(CSV/Excel读写)
- 正则表达式(文本处理神器)
- 第三方库(requests, numpy, pandas)
- Web开发(Flask/Django)
- 自动化办公(批量处理Excel/Word)
(终极忠告)多敲代码!少看视频!遇到报错先读错误信息(别直接百度)!坚持一个月,你会回来谢我!