本文面向编程初学者,系统梳理 Python 最核心的基础知识,每节都配有可直接运行的代码示例,读完即可动手写代码。
一、为什么学 Python
Python 是目前最流行的编程语言之一,核心优势就三点:
• 语法简洁:接近自然语言,同样的功能代码量比 Java、C++ 少一半以上
• 生态强大:数据分析、人工智能、Web 开发、自动化脚本,几乎都有成熟库
• 就业面广:后端、数据、算法、测试、运维岗位都大量需求
Python 的设计哲学是「优雅、明确、简单」,用它入门编程,你可以把精力放在编程思维上,而不是被复杂语法劝退。
二、环境准备
1. 安装 Python
去 Python 官网 下载最新稳定版(建议 3.10 及以上),安装时务必勾选「Add Python to PATH」。
验证安装:
python --version # 输出类似:Python 3.12.02. 第一个程序
新建文件 hello.py,写入:
print("Hello, Python!")运行:
python hello.py输出 Hello, Python!,恭喜你,第一个 Python 程序跑通了。
三、变量与数据类型
1. 变量
Python 是动态类型语言,变量不需要声明类型,直接赋值即可:
name = "张三" age = 20 height = 1.75 is_student = True变量命名规则:
• 只能包含字母、数字、下划线
• 不能以数字开头
• 区分大小写(age 和 Age 是两个变量)
• 不能用 Python 关键字(如 if、for、class)
2. 基本数据类型
| 类型 | 说明 | 示列 |
| int | 整数 | 10, -5, 1000000 |
| float | 浮点数 | 3.14, -0.5, 1.0 |
| str | 字符串 | "hello", 'Python' |
| bool | 布尔值 | True, False |
用type()查看变量类型:
print(type(age)) # <class 'int'> print(type(height)) # <class 'float'> print(type(name)) # <class 'str'>3. 类型转换
# 字符串转整数 num = int("123") # 123 # 整数转字符串 s = str(456) # "456" # 整数转浮点数 f = float(10) # 10.0注意:int("abc") 会报错,不是所有字符串都能转数字。
四、运算符
1. 算术运算符
a = 10 b = 3 print(a + b) # 13 加法 print(a - b) # 7 减法 print(a * b) # 30 乘法 print(a / b) # 3.333... 除法(结果是浮点数) print(a // b) # 3 整除(取商的整数部分) print(a % b) # 1 取余 print(a ** b) # 1000 幂运算(10的3次方)2. 比较运算符
print(10 > 5) # True print(10 == 5) # False print(10 != 5) # True print(10 <= 10) # True3. 逻辑运算符
# and:两边都为 True 才是 True print(True and False) # False # or:只要一边为 True 就是 True print(True or False) # True # not:取反 print(not True) # False五、字符串操作
字符串是 Python 中最常用的数据类型之一,功能非常丰富。
1. 定义与拼接
s1 = "Hello" s2 = "World" # 用 + 拼接 print(s1 + " " + s2) # Hello World # 用 f-string 格式化(推荐) name = "小明" age = 18 print(f"我叫{name},今年{age}岁") # 输出:我叫小明,今年18岁2. 常用方法
s = " Hello Python " print(s.strip()) # "Hello Python" 去除首尾空格 print(s.lower()) # " hello python " 转小写 print(s.upper()) # " HELLO PYTHON " 转大写 print(s.replace("Python", "World")) # 替换 print(len(s.strip())) # 12 字符串长度 print(s.split()) # ['Hello', 'Python'] 按空格分割3. 索引与切片
s = "Python" # 索引从 0 开始 print(s[0]) # P print(s[-1]) # n 负数表示从后往前数 # 切片:s[起始:结束],包含起始,不包含结束 print(s[0:3]) # Pyt print(s[2:]) # thon 省略结束表示到末尾 print(s[:3]) # Pyt 省略起始表示从开头六、条件判断
1. if-elif-else
score = 85 if score >= 90: print("优秀") elif score >= 80: print("良好") elif score >= 60: print("及格") else: print("不及格")Python 用缩进表示代码块,通常用 4 个空格,不要用 Tab 和空格混用。
2. 三元表达式
简单的 if-else 可以一行写完:
age = 20 result = "成年" if age >= 18 else "未成年" print(result) # 成年七、循环
1. for 循环
# 遍历列表 fruits = ["苹果", "香蕉", "橙子"] for fruit in fruits: print(fruit) # 遍历数字 range(start, stop, step) for i in range(5): # 0,1,2,3,4 print(i) for i in range(1, 10, 2): # 1,3,5,7,9 print(i)2. while 循环
count = 0 while count < 5: print(count) count += 13. break 和 continue
# break:跳出整个循环 for i in range(10): if i == 5: break print(i) # 输出 0,1,2,3,4 # continue:跳过本次循环,继续下一次 for i in range(5): if i == 2: continue print(i) # 输出 0,1,3,4八、数据结构
Python 有四种内置数据结构,是日常开发的核心。
1. 列表 list
有序、可变、可重复的序列。
nums = [1, 2, 3, 4, 5] # 增 nums.append(6) # 末尾添加 [1,2,3,4,5,6] nums.insert(0, 0) # 指定位置插入 [0,1,2,3,4,5,6] # 删 nums.remove(3) # 删除第一个值为3的元素 nums.pop() # 删除末尾元素并返回 nums.pop(0) # 删除索引0的元素 # 查 print(nums[0]) # 按索引访问 print(nums.index(2)) # 查找值为2的索引 print(2 in nums) # True 判断是否存在 # 其他 print(len(nums)) # 长度 nums.sort() # 排序 nums.reverse() # 反转2. 元组 tuple
有序、不可变、可重复。一旦创建不能修改。
point = (10, 20) print(point[0]) # 10 # 元组解包 x, y = point print(x, y) # 10 20元组适合表示不应该被修改的数据,比如坐标、配置项。
3. 字典 dict
键值对结构,通过 key 访问 value,key 必须唯一且不可变。
student = { "name": "张三", "age": 20, "major": "计算机" } # 查 print(student["name"]) # 张三 print(student.get("score", 0)) # 0 key不存在返回默认值 # 增/改 student["score"] = 95 # 新增 student["age"] = 21 # 修改 # 删 del student["major"] # 删除键值对 # 遍历 for key, value in student.items(): print(f"{key}: {value}")4. 集合 set
无序、不可重复,自动去重。
s = {1, 2, 3, 3, 2, 1} print(s) # {1, 2, 3} 自动去重 s.add(4) # 添加 s.remove(1) # 删除 # 集合运算 a = {1, 2, 3} b = {2, 3, 4} print(a & b) # {2, 3} 交集 print(a | b) # {1, 2, 3, 4} 并集 print(a - b) # {1} 差集九、函数
函数是组织好的、可重复使用的代码块。
1. 定义与调用
def greet(name): """打招呼函数""" return f"你好,{name}!" print(greet("小明")) # 你好,小明!2. 参数类型
# 默认参数 def power(x, n=2): return x ** n print(power(3)) # 9 使用默认n=2 print(power(3, 3)) # 27 # 关键字参数 def info(name, age, city): print(f"{name}, {age}岁, 来自{city}") info(age=20, name="张三", city="北京") # 顺序可以任意 # 可变参数 *args(接收任意多个位置参数,变成元组) def sum_all(*args): return sum(args) print(sum_all(1, 2, 3, 4)) # 10 # 关键字可变参数 **kwargs(接收任意多个关键字参数,变成字典) def print_info(**kwargs): for key, value in kwargs.items(): print(f"{key}: {value}") print_info(name="李四", age=25, job="程序员")3. Lambda 匿名函数
简单函数可以用 lambda 一行定义:
# 普通函数 def add(x, y): return x + y # 等价的 lambda add = lambda x, y: x + y print(add(3, 5)) # 8 # 常用场景:排序 students = [("张三", 85), ("李四", 92), ("王五", 78)] students.sort(key=lambda x: x[1], reverse=True) print(students) # 按分数从高到低排序十、文件操作
1. 读取文件
# 方式一:手动关闭 f = open("test.txt", "r", encoding="utf-8") content = f.read() print(content) f.close() # 方式二:with 语句(推荐,自动关闭) with open("test.txt", "r", encoding="utf-8") as f: content = f.read() # 读取全部 lines = f.readlines() # 按行读取,返回列表2. 写入文件
# "w" 模式:覆盖写入(文件不存在则创建,存在则清空) with open("output.txt", "w", encoding="utf-8") as f: f.write("第一行\n") f.write("第二行\n") # "a" 模式:追加写入 with open("output.txt", "a", encoding="utf-8") as f: f.write("追加的一行\n")十一、异常处理
程序出错时,用 try-except 捕获异常,避免程序直接崩溃。
try: num = int(input("请输入一个数字:")) result = 10 / num print(f"结果是:{result}") except ValueError: print("输入的不是有效数字!") except ZeroDivisionError: print("除数不能为零!") except Exception as e: print(f"发生了未知错误:{e}") else: print("没有异常时执行") finally: print("无论是否异常都执行(常用于释放资源)")十二、模块与包
Python 的强大之处在于海量的第三方库,用 import 导入即可使用。
1. 导入模块
import math print(math.sqrt(16)) # 4.0 开平方 print(math.pi) # 3.1415926... # 导入特定函数 from math import sqrt, pi print(sqrt(25)) # 5.0 # 起别名 import numpy as np import pandas as pd2. 常用标准库
库名 用途
math 数学运算
random 随机数
datetime 日期时间
os 操作系统接口
json JSON 数据处理
re 正则表达式
import random print(random.randint(1, 100)) # 1-100随机整数 print(random.choice(["石头", "剪刀", "布"])) from datetime import datetime print(datetime.now()) # 当前时间十三、面向对象基础
Python 是面向对象语言,一切皆对象。
1. 类与对象
class Dog: # 构造方法,创建对象时自动调用 def __init__(self, name, age): self.name = name # 实例属性 self.age = age # 实例方法 def bark(self): print(f"{self.name}:汪汪汪!") def info(self): print(f"我叫{self.name},今年{self.age}岁") # 创建对象 dog1 = Dog("旺财", 3) dog1.bark() # 旺财:汪汪汪! dog1.info() # 我叫旺财,今年3岁2. 继承
class Animal: def __init__(self, name): self.name = name def eat(self): print(f"{self.name}在吃东西") class Cat(Animal): # 继承 Animal def __init__(self, name, color): super().__init__(name) # 调用父类构造方法 self.color = color def meow(self): print(f"{self.name}:喵喵喵!") cat = Cat("咪咪", "白色") cat.eat() # 继承自父类 cat.meow() # 自己的方法十四、学习路线建议
掌握以上基础知识后,建议按这个方向进阶:
1.巩固基础:多写小练习,比如猜数字、通讯录管理、简易计算器
2. 选一个方向深入:
◦数据分析:NumPy→Pandas→Matplotlib
◦Web 开发:Flask 或 Django
◦自动化:requests + BeautifulSoup 爬虫、文件批量处理
◦人工智能:scikit-learn → PyTorch / TensorFlow
3. 做项目:知识只有用起来才是你的,找一个真实需求做完整项目
4.读源码:看优秀开源项目的代码,学习工程化思维
写在最后
Python 入门不难,难的是持续动手写代码。不要只看不练,每学一个知识点就写几行代码跑一跑,报错了就去查、去调试,这个过程才是真正的学习。
编程没有捷径,写够 10000 行代码,你就入门了。
祝你学习顺利,早日成为 Python 开发者!
如果这篇文章对你有帮助,欢迎点赞收藏,有问题可以在评论区交流。