文章目录
一、环境搭建与Hello World
工欲善其事必先利其器!推荐使用最新版Python 3.10+(截止2023年10月)搭配VS Code编辑器。安装完成后打开终端输入:
print("Hello 未来的Python大神!")
看到这行输出说明环境配置成功!(如果报错请检查PATH环境变量配置)
二、基础语法三板斧
1. 变量命名规则
- 字母/下划线开头(禁止数字开头!)
- 区分大小写(name和NAME是两个变量!)
- 避开保留字(比如class/def这些)
user_age = 25 # 蛇形命名法(推荐)
bookTitle = "Python秘籍" # 驼峰命名法(不推荐但可用)
2. 缩进是灵魂
Python用缩进代替大括号(新手杀手锏!):
if 5 > 3:
print("正确!") # 必须缩进4个空格
else:
print("不可能!")
(常见报错:IndentationError就是这里出问题!)
3. 注释的艺术
- 单行注释用 #
- 多行注释用三引号(实际是字符串)
# 这是单行注释
"""
这是多行注释
可以写详细说明
但注意别当变量用!
"""
三、数据类型全解析
1. 数字三剑客
类型 | 示例 | 特性 |
---|---|---|
int | 42 | 任意大小整数 |
float | 3.14 | 带小数点 |
complex | 1+2j | 复数类型 |
(小技巧:用type()函数查看类型)
2. 字符串的N种玩法
s1 = '单引号'
s2 = "双引号"
s3 = '''三引号可以
换行写'''
f_str = f"格式化字符串:{s1}" # f-string(强烈推荐!)
3. 列表 vs 元组
my_list = [1, "可变", True] # 方括号,可修改
my_tuple = (2, "不可变", False) # 圆括号,创建后不可变
(面试常考:可变与不可变类型的区别!)
四、流程控制实战
1. 条件判断全家桶
age = 18
if age < 0:
print("还没出生?")
elif 0 <= age < 18:
print("未成年")
else:
print("欢迎进入成人世界")
2. 循环双雄
while循环:
count = 0
while count < 5:
print(f"第{count+1}次循环")
count +=1
for循环(更Pythonic!):
fruits = ["苹果", "香蕉", "橘子"]
for fruit in fruits:
print(f"我爱吃{fruit}")
五、函数编写秘籍
1. 基础函数模板
def greet(name="朋友"):
"""打招呼函数(带默认参数)"""
return f"你好,{name}!"
print(greet()) # 输出:你好,朋友!
print(greet("程序员"))
2. 参数进阶
- 位置参数
- 关键字参数
- *args 可变参数
- **kwargs 关键字参数字典
def advanced_func(a, b=2, *args, **kwargs):
print(f"a={a}, b={b}")
print("args:", args)
print("kwargs:", kwargs)
advanced_func(1, 3, 4, 5, name="小明", age=20)
六、异常处理三板斧
try:
num = int(input("输入数字:"))
result = 10 / num
except ValueError:
print("请输入有效数字!")
except ZeroDivisionError:
print("不能除以零!")
else:
print(f"结果是:{result}")
finally:
print("执行完毕")
七、模块与包管理
1. 导入的三种姿势
import math # 标准导入
from random import randint # 精准导入
import numpy as np # 别名导入
2. 创建自己的包
目录结构示例:
my_package/
├── __init__.py
├── utils.py
└── config/
└── settings.py
(注意每个目录都要有__init__.py文件!)
八、Pythonic编程技巧
- 列表推导式(装逼必备!)
squares = [x**2 for x in range(10)]
- 上下文管理器(自动关文件)
with open('data.txt') as f:
content = f.read()
- 使用zip并行迭代
names = ["张三", "李四"]
scores = [90, 85]
for name, score in zip(names, scores):
print(f"{name}考了{score}分")
避坑指南(血泪经验)
- 修改列表时不要在遍历时删元素(会出bug!)
- 浮点数精度问题(0.1+0.2 != 0.3)
- 循环引用导致内存泄漏
- 忘记写冒号(新手杀手!)
- 变量作用域混淆(global/nonlocal关键字)
学习路线推荐
最后送大家Python之禅(命令行输入import this
):
- 优美胜于丑陋
- 明了胜于晦涩
- 简洁胜于复杂
(切记:不要试图一次掌握所有知识点,边做项目边学效果更佳!)