Python 基础教程-快速上手

167 阅读6分钟

Python 安装

1. Windows 系统安装 Python

  1. ​下载 Python​

    • 访问官方下载页面:www.python.org/downloads/w…

    • 选择最新稳定版本(如 Python 3.12.x)

    • 根据系统选择下载:

      • Windows installer (64-bit)
      • Windows installer (32-bit)
  2. ​运行安装程序​

    • 双击下载的 .exe 文件
    • ​重要​​:勾选 "Add Python to PATH" 选项
    • 选择 "Install Now"(默认安装)或 "Customize installation"(自定义安装)
    • 等待安装完成
  3. ​验证安装​

    • 打开命令提示符(Win+R,输入 cmd

    • 输入以下命令:

      bash
      复制
      python --version
      
    • 应该显示安装的 Python 版本号

2. macOS 系统安装 Python

  1. ​使用官方安装包​

  2. ​使用 Homebrew(推荐)​

    • 打开终端

    • 安装 Homebrew(如果尚未安装):

      bash
      复制
      /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
      
    • 使用 Homebrew 安装 Python:

      bash
      复制
      brew install python
      
  3. ​验证安装​

    • 打开终端,输入:

      bash
      复制
      python3 --version
      
    • 应该显示安装的 Python 版本号

pip 包管理指南

1. 基础命令

bash
复制
# 安装包
pip install 包名

# 安装特定版本
pip install 包名==版本号  # 如 pip install numpy==1.21.0

# 升级包
pip install --upgrade 包名

# 卸载包
pip uninstall 包名

2. 批量管理

bash
复制
# 查看已安装包
pip list

# 查看可升级包
pip list --outdated

# 导出所有包到文件
pip freeze > requirements.txt

# 从文件安装所有包
pip install -r requirements.txt

3. 加速技巧(国内用户)

bash
复制
# 临时使用清华源
pip install 包名 -i https://pypi.tuna.tsinghua.edu.cn/simple

# 永久配置镜像源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

4. 虚拟环境

bash
复制
# 创建虚拟环境
python -m venv 环境名

# 激活环境
# Windows: 环境名\Scripts\activate
# Mac/Linux: source 环境名/bin/activate

# 退出环境
deactivate

常用语句示例

1. 变量与数据类型

python
运行
复制
# 基本数据类型
name = "Alice"          # 字符串
age = 25                # 整数
height = 1.75           # 浮点数
is_student = True       # 布尔值
scores = [90, 85, 88]   # 列表
person = {"name": "Bob", "age": 30}  # 字典

# 类型转换
num_str = "123"
num_int = int(num_str)  # 字符串转整数
num_float = float(num_str)  # 字符串转浮点数
str_num = str(123)      # 数字转字符串

# 多变量赋值
x, y, z = 1, 2, 3

2. 基本输入输出

python
运行
复制
# 输出
print("Hello, World!")  # 简单输出
print(f"My name is {name}, I'm {age} years old.")  # f-string格式化
print("Score:", scores[0], "Age:", age)  # 多参数输出

# 输入
user_input = input("Please enter your name: ")  # 获取用户输入
print(f"Hello, {user_input}!")

# 文件输入输出
# 写入文件
with open("example.txt", "w") as f:
    f.write("This is an example file.\nSecond line.")

# 读取文件
with open("example.txt", "r") as f:
    content = f.read()
    print(content)

3. 条件语句

python
运行
复制
# if-elif-else
age = 18
if age < 13:
    print("Child")
elif 13 <= age < 18:
    print("Teenager")
else:
    print("Adult")

# 简写形式
result = "Pass" if score >= 60 else "Fail"

# 多条件判断
if age > 18 and is_student:
    print("Adult student")
elif age <= 18 or not is_student:
    print("Not an adult student")

4. 循环语句

python
运行
复制
# for循环
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

# 带索引的for循环
for index, fruit in enumerate(fruits):
    print(f"Index {index}: {fruit}")

# range循环
for i in range(5):      # 0到4
    print(i)

for i in range(1, 6):   # 1到5
    print(i)

# while循环
count = 0
while count < 5:
    print(count)
    count += 1

# 循环控制
for num in range(10):
    if num == 3:
        continue        # 跳过本次循环
    if num == 7:
        break           # 终止循环
    print(num)

5. 函数

python
运行
复制
# 定义函数
def greet(name):
    """这是一个问候函数"""
    return f"Hello, {name}!"

# 调用函数
message = greet("Alice")
print(message)

# 默认参数
def power(base, exponent=2):
    return base ** exponent

print(power(3))     # 使用默认参数
print(power(3, 3))  # 覆盖默认参数

# 可变参数
def sum_numbers(*args):
    return sum(args)

print(sum_numbers(1, 2, 3, 4))

# 关键字参数
def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="Alice", age=25, city="New York")

6. 列表操作

python
运行
复制
# 创建列表
numbers = [1, 2, 3, 4, 5]
mixed = [1, "two", 3.0, True]

# 基本操作
print(numbers[0])       # 索引访问
print(numbers[-1])      # 负索引
numbers[1] = 20         # 修改元素
numbers.append(6)       # 添加元素
numbers.insert(2, 2.5)  # 插入元素
numbers.remove(3)       # 删除元素
popped = numbers.pop()  # 弹出最后一个元素

# 列表切片
print(numbers[1:3])     # 索引1到2
print(numbers[:3])      # 开始到索引2
print(numbers[2:])      # 索引2到结束
print(numbers[::-1])    # 反转列表

# 列表推导式
squares = [x**2 for x in range(10)]
even_squares = [x**2 for x in range(10) if x % 2 == 0]

# 常用方法
numbers.sort()          # 排序
numbers.reverse()       # 反转
length = len(numbers)   # 长度

7. 字典操作

python
运行
复制
# 创建字典
person = {
    "name": "Alice",
    "age": 25,
    "city": "New York"
}

# 基本操作
print(person["name"])       # 访问
person["age"] = 26          # 修改
person["job"] = "Engineer"  # 添加
del person["city"]          # 删除

# 常用方法
keys = person.keys()        # 所有键
values = person.values()    # 所有值
items = person.items()      # 键值对

# 字典推导式
squares = {x: x**2 for x in range(5)}

# 安全访问
age = person.get("age", 0)  # 如果键不存在返回0

8. 异常处理

python
运行
复制
# 基本try-except
try:
    result = 10 / 0
except ZeroDivisionError:
    print("Cannot divide by zero!")

# 多个异常
try:
    # 可能出错的代码
    value = int("abc")
except ValueError:
    print("Invalid integer value")
except Exception as e:
    print(f"An error occurred: {e}")

# else和finally
try:
    result = 10 / 2
except ZeroDivisionError:
    print("Division by zero")
else:
    print("Result is", result)
finally:
    print("This always executes")

# 抛出异常
def validate_age(age):
    if age < 0:
        raise ValueError("Age cannot be negative")
    return age

try:
    validate_age(-5)
except ValueError as e:
    print(e)

9. 文件操作

python
运行
复制
# 写入文件
with open("data.txt", "w") as f:
    f.write("Line 1\n")
    f.write("Line 2\n")

# 读取文件
with open("data.txt", "r") as f:
    # 读取全部内容
    content = f.read()
    print(content)
    
    # 回到文件开头
    f.seek(0)
    
    # 逐行读取
    for line in f:
        print(line.strip())

# 追加模式
with open("data.txt", "a") as f:
    f.write("Line 3\n")

# CSV文件处理
import csv

# 写入CSV
with open("data.csv", "w", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(["Name", "Age"])
    writer.writerow(["Alice", 25])
    writer.writerow(["Bob", 30])

# 读取CSV
with open("data.csv", "r") as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

10. 常用模块示例

python
运行
复制
# 数学模块
import math
print(math.sqrt(16))    # 平方根
print(math.pi)          # 圆周率
print(math.floor(3.7))  # 向下取整

# 随机数
import random
print(random.random())       # 0-1随机数
print(random.randint(1, 10)) # 1-10随机整数
print(random.choice(["a", "b", "c"]))  # 随机选择

# 日期时间
from datetime import datetime, timedelta
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))  # 格式化日期

tomorrow = now + timedelta(days=1)  # 时间加减
print(tomorrow)

# 操作系统接口
import os
print(os.getcwd())      # 当前工作目录
os.mkdir("new_dir")     # 创建目录
print(os.listdir())     # 列出目录内容

# 系统参数
import sys
print(sys.argv)         # 命令行参数
print(sys.path)         # Python路径

11. 面向对象编程基础

python
运行
复制
# 定义类
class Person:
    # 类属性
    species = "Human"
    
    # 初始化方法
    def __init__(self, name, age):
        self.name = name  # 实例属性
        self.age = age
    
    # 实例方法
    def greet(self):
        return f"Hello, my name is {self.name}"
    
    # 类方法
    @classmethod
    def from_birth_year(cls, name, birth_year):
        age = datetime.now().year - birth_year
        return cls(name, age)
    
    # 静态方法
    @staticmethod
    def is_adult(age):
        return age >= 18

# 创建实例
person1 = Person("Alice", 25)
print(person1.greet())
print(person1.species)

# 使用类方法
person2 = Person.from_birth_year("Bob", 1990)
print(person2.age)

# 使用静态方法
print(Person.is_adult(20))

12. 常用内置函数

python
运行
复制
# 类型相关
print(type(123))        # 获取类型
print(isinstance(123, int))  # 检查类型

# 数学运算
print(abs(-5))          # 绝对值
print(round(3.14159, 2))  # 四舍五入
print(max(1, 2, 3))     # 最大值
print(min(1, 2, 3))     # 最小值
print(sum([1, 2, 3]))   # 求和

# 序列操作
print(len("hello"))     # 长度
print(range(5))         # 生成序列
print(sorted([3, 1, 2]))  # 排序
print(reversed([1, 2, 3]))  # 反转

# 输入输出
input("Enter something: ")  # 用户输入
print("Hello", "World", sep=", ")  # 自定义分隔符

# 其他
print(help(len))        # 获取帮助
print(dir([]))          # 查看对象属性和方法

这个教程涵盖了Python中最常用的语句和功能,适合初学者快速上手。