Python 简单基础教程

Python 是一门简洁、易上手的编程语言,广泛应用于数据分析、Web 开发、人工智能、自动化等领域。本教程从零基础开始,带你掌握 Python 核心基础。

一、环境准备

1. 安装 Python

  • 安装注意:
    • Windows:勾选「Add Python to PATH」(添加到环境变量),否则无法在命令行直接运行 Python。
    • Mac/Linux:系统通常自带 Python2,需确认安装的是 Python3(命令行输入 python3 --version 验证)。

2. 运行 Python 的方式

  • 交互式解释器:命令行输入 python(Windows)或 python3(Mac/Linux),进入交互式环境,输入代码回车即可执行(退出用 exit() 或 Ctrl+D)。
  • 脚本文件:新建 .py 后缀的文件(如 hello.py),写入代码后,命令行执行 python hello.py(Windows)或 python3 hello.py(Mac/Linux)。
  • IDE 推荐:新手推荐 PyCharm(社区版免费)、VS Code(安装 Python 插件),提供代码补全、调试等功能。

二、第一个 Python 程序

# 单行注释:打印Hello World
"""
多行注释:
这是我的第一个Python程序
"""
print("Hello, Python!")  # 输出字符串

运行结果:Hello, Python!

  • print():Python 内置函数,用于输出内容到控制台。
  • 注释:# 开头是单行注释,""" """''' ''' 是多行注释,注释不执行,用于解释代码。

三、变量与数据类型

1. 变量定义

Python 变量无需声明类型,直接赋值即可,变量名遵循:

  • 由字母、数字、下划线组成,不能以数字开头;
  • 区分大小写;
  • 不能用关键字(如 ifforprint 等)。
name = "小明"  # 字符串
age = 18       # 整数
height = 1.75  # 浮点数
is_student = True  # 布尔值(True/False)
print(name, age, height, is_student)

2. 常用数据类型

类型 说明 示例
整数(int) 正/负整数、0 10-50
浮点数(float) 小数 3.14-0.5
字符串(str) 文本,单/双/三引号包裹 'Python'"123"'''多行字符串'''
布尔值(bool) 真/假 TrueFalse
列表(list) 有序可变集合 [1, 2, 'a']
元组(tuple) 有序不可变集合 (1, 2, 'a')
字典(dict) 键值对无序集合 {'name': '小明', 'age': 18}

3. 类型转换

# 字符串转整数
num_str = "123"
num = int(num_str)
print(num + 1)  # 输出 124

# 整数转字符串
age = 18
age_str = str(age)
print("年龄:" + age_str)  # 输出 年龄:18

# 浮点数转整数(截断小数)
print(int(3.99))  # 输出 3

四、运算符

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

2. 比较运算符(返回布尔值)

print(10 > 3)   # True
print(10 == 3)  # False
print(10 != 3)  # True
print(10 >= 10) # True

3. 逻辑运算符

# and(都真才真)、or(有真就真)、not(取反)
print(True and False)  # False
print(True or False)   # True
print(not True)        # False

4. 赋值运算符

x = 5
x += 3  # 等价于 x = x + 3 → x=8
x *= 2  # 等价于 x = x * 2 → x=16

五、条件语句

根据条件执行不同代码,语法:

if 条件1:
    执行代码1
elif 条件2:
    执行代码2
else:
    执行代码3

示例:

score = 85
if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 60:
    print("及格")
else:
    print("不及格")
# 输出:良好

六、循环语句

1. for 循环(遍历可迭代对象:列表、字符串、范围等)

# 遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print(fruit)

# 遍历数字范围(range(起始, 结束, 步长),结束不包含)
for i in range(1, 5):  # 1,2,3,4
    print(i)

# 遍历字符串
for char in "Python":
    print(char)

2. while 循环(满足条件时循环)

# 计算1-10的和
sum_num = 0
i = 1
while i <= 10:
    sum_num += i
    i += 1  # 必须更新i,否则无限循环
print(sum_num)  # 输出:55

3. 循环控制

  • break:终止整个循环;
  • continue:跳过当前循环,进入下一次;
  • else:循环正常结束(未被break打断)时执行。

示例:

for i in range(1, 6):
    if i == 3:
        continue  # 跳过3
    if i == 5:
        break     # 终止循环
    print(i)
else:
    print("循环正常结束")
# 输出:1 2 4(else未执行)

七、列表(List)

列表是 Python 最常用的有序可变集合,支持增删改查。

# 定义列表
nums = [1, 2, 3, 4, 5]

# 访问元素(索引从0开始)
print(nums[0])   # 第一个元素:1
print(nums[-1])  # 最后一个元素:5

# 切片([起始:结束:步长])
print(nums[1:3]) # [2,3]
print(nums[:3])  # 从开头到索引2:[1,2,3]
print(nums[::2]) # 步长2:[1,3,5]

# 添加元素
nums.append(6)   # 末尾添加:[1,2,3,4,5,6]
nums.insert(2, 7)# 索引2插入7:[1,2,7,3,4,5,6]

# 删除元素
nums.remove(7)   # 删除指定值:[1,2,3,4,5,6]
nums.pop()       # 删除末尾元素:[1,2,3,4,5]
del nums[0]      # 删除索引0元素:[2,3,4,5]

# 修改元素
nums[0] = 10     # [10,3,4,5]

# 长度
print(len(nums)) # 4

八、字典(Dict)

字典是键值对(key:value)的无序集合,键唯一且不可变(字符串、数字、元组),值可任意。

# 定义字典
student = {
    "name": "小明",
    "age": 18,
    "gender": "男"
}

# 访问值(通过键)
print(student["name"])  # 小明
print(student.get("age")) # 18(推荐,键不存在返回None)

# 添加/修改键值对
student["score"] = 90   # 添加
student["age"] = 19     # 修改

# 删除键值对
del student["gender"]
student.pop("score")

# 遍历字典
for key in student:
    print(key, student[key])

# 获取所有键/值
print(student.keys())   # dict_keys(['name', 'age'])
print(student.values()) # dict_values(['小明', 19])

九、函数

函数是可重复使用的代码块,提高代码复用性,语法:

def 函数名(参数1, 参数2=默认值):
    """函数说明"""
    执行代码
    return 返回值

示例:

# 无参数无返回值
def say_hello():
    print("Hello!")

say_hello()  # 调用函数:Hello!

# 有参数有返回值
def add(a, b=0):  # b有默认值
    """计算两个数的和"""
    return a + b

result = add(3, 5)
print(result)  # 8
result2 = add(10)  # 使用默认值b=0,输出10

函数参数类型

  • 位置参数:按顺序传参(如 add(3,5));
  • 关键字参数:按键传参(如 add(b=5, a=3));
  • 默认参数:定义时指定默认值,调用可省略(如 add(10));
  • 可变参数:*args(接收多个位置参数,元组)、**kwargs(接收多个关键字参数,字典)。
def func(*args, **kwargs):
    print(args)    # (1,2,3)
    print(kwargs)  # {'name':'小明','age':18}

func(1,2,3, name="小明", age=18)

十、模块与包

1. 模块(.py 文件)

将函数、变量写在一个 .py 文件中,其他文件可导入使用。

示例:

  • 新建 mymodule.py
    def multiply(a, b):
        return a * b
    
    PI = 3.14159
    
  • 另一个文件导入:
    # 导入整个模块
    import mymodule
    print(mymodule.multiply(2,3))  # 6
    print(mymodule.PI)             # 3.14159
    
    # 导入指定内容
    from mymodule import multiply, PI
    print(multiply(4,5))           # 20
    
    # 导入并改名
    import mymodule as mm
    print(mm.PI)                   # 3.14159
    

2. 包

多个模块组成的文件夹(需包含 __init__.py 文件),用于组织代码。

十一、文件操作

1. 读取文件

# 方式1:手动关闭文件
f = open("test.txt", "r", encoding="utf-8")  # r=只读,指定编码避免中文乱码
content = f.read()  # 读取全部内容
# content = f.readline()  # 读取一行
# content = f.readlines() # 读取所有行,返回列表
print(content)
f.close()  # 必须关闭文件

# 方式2:with自动关闭文件(推荐)
with open("test.txt", "r", encoding="utf-8") as f:
    content = f.read()
    print(content)

2. 写入文件

# w=覆盖写入,a=追加写入
with open("test.txt", "w", encoding="utf-8") as f:
    f.write("Hello Python!\n")  # \n换行
    f.writelines(["第一行\n", "第二行\n"])  # 写入多行

# 追加
with open("test.txt", "a", encoding="utf-8") as f:
    f.write("追加的内容")

十二、异常处理

捕获代码运行中的错误,避免程序崩溃,语法:

try:
    可能出错的代码
except 异常类型1:
    出错后的处理
except 异常类型2 as e:
    打印错误信息(e)
else:
    无异常时执行
finally:
    无论是否异常都执行(如关闭文件)

示例:

try:
    num = int(input("请输入数字:"))
    print(10 / num)
except ValueError:
    print("输入的不是数字!")
except ZeroDivisionError as e:
    print(f"错误:{e}(不能除以0)")
else:
    print("执行成功!")
finally:
    print("程序结束")

十三、进阶方向

掌握基础后,可学习:

  1. 面向对象编程(类、对象、继承、封装、多态);
  2. 常用标准库(os、sys、datetime、json 等);
  3. 第三方库(numpy/pandas 数据分析、requests 爬虫、flask/django Web开发、tensorflow/pytorch 人工智能);
  4. 正则表达式、多线程/多进程、数据库操作等。

如果有具体的知识点想深入了解(如面向对象、第三方库使用),可以针对性提问!

posted @ 2025-12-08 19:39  一路有你10  阅读(0)  评论(0)    收藏  举报