Python自学笔记

目录

  1. 引言
  2. Python基础知识
  3. 常用数据结构
  4. 面向对象编程
  5. 文件操作
  6. 异常处理
  7. 常用库和框架
  8. 案例分析
  9. 总结

引言

在当今信息化社会,Python作为一种高效、易学、功能强大的编程语言,受到越来越多人的喜爱。无论是在数据分析、人工智能还是Web开发等领域,Python都展现出了其独特的优势。本笔记记录了自学Python的过程,包括基础知识、常用库及实用案例,希望能够帮助到同样想要学习Python的朋友们。

Python基础知识

数据类型

Python支持多种数据类型,包括整数、浮点数、字符串和布尔值。

pythonCopy Code
# 整数 a = 10 # 浮点数 b = 20.5 # 字符串 c = "Hello, Python!" # 布尔值 d = True

控制结构

控制结构用于控制程序的执行流,包括条件语句和循环语句。

条件语句

pythonCopy Code
x = 5 if x > 0: print("x是正数") elif x < 0: print("x是负数") else: print("x是零")

循环语句

pythonCopy Code
for i in range(5): print(i) # 输出0-4 while x > 0: print(x) x -= 1 # x每次减1

函数

函数是封装了一组可重用代码的块,以提高代码的组织性和可读性。

pythonCopy Code
def add(a, b): return a + b result = add(10, 5) print(result) # 输出15

模块与包

模块是一个包含Python代码的文件,而包是一个包含多个模块的文件夹。使用import语句可以导入模块。

pythonCopy Code
import math print(math.sqrt(16)) # 输出4.0

常用数据结构

列表

列表是一种可变的数据结构,可以存储不同类型的数据。

pythonCopy Code
fruits = ["apple", "banana", "cherry"] fruits.append("orange") # 添加元素 print(fruits[1]) # 输出banana

字典

字典是一种无序的键值对集合,适合存储关联数据。

pythonCopy Code
person = {"name": "Alice", "age": 25} print(person["name"]) # 输出Alice

集合

集合是一种无序且不重复的元素集合。

pythonCopy Code
numbers = {1, 2, 3, 4, 4} print(numbers) # 输出{1, 2, 3, 4}

元组

元组是一种不可变的序列,适合存储固定数量的数据。

pythonCopy Code
coordinates = (10, 20) print(coordinates[0]) # 输出10

面向对象编程

类与对象

类是对象的蓝图,定义了对象的属性和方法。

pythonCopy Code
class Dog: def __init__(self, name): self.name = name def bark(self): print(f"{self.name} says woof!") my_dog = Dog("Buddy") my_dog.bark() # 输出Buddy says woof!

继承与多态

继承允许创建新的类从现有类派生。多态则允许不同类的对象以相同的方式调用同一方法。

pythonCopy Code
class Animal: def speak(self): raise NotImplementedError("子类必须实现这个方法") class Cat(Animal): def speak(self): return "Meow" class Dog(Animal): def speak(self): return "Woof" animals = [Cat(), Dog()] for animal in animals: print(animal.speak()) # 输出Meow 和 Woof

文件操作

Python提供了简单的方法来读取和写入文件。

pythonCopy Code
# 写入文件 with open('example.txt', 'w') as f: f.write("Hello, World!") # 读取文件 with open('example.txt', 'r') as f: content = f.read() print(content) # 输出Hello, World!

异常处理

通过tryexcept语句,可以有效地处理程序中的异常。

pythonCopy Code
try: result = 10 / 0 except ZeroDivisionError: print("不能除以零!")

常用库和框架

NumPy

NumPy是用于科学计算的基础库,提供了高性能的多维数组对象。

pythonCopy Code
import numpy as np arr = np.array([1, 2, 3]) print(arr + 2) # 输出[3 4 5]

Pandas

Pandas是数据分析的重要工具,提供了DataFrame数据结构。

pythonCopy Code
import pandas as pd data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]} df = pd.DataFrame(data) print(df)

Flask

Flask是一个轻量级的Web框架,适合快速构建Web应用。

pythonCopy Code
from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return "Hello, Flask!" if __name__ == "__main__": app.run()

案例分析

简单的计算器

构建一个简单的命令行计算器,支持基本的加减乘除运算。

pythonCopy Code
def calculator(): operation = input("请输入运算符 (+, -, *, /): ") a = float(input("请输入第一个数字: ")) b = float(input("请输入第二个数字: ")) if operation == '+': print(f"结果: {a + b}") elif operation == '-': print(f"结果: {a - b}") elif operation == '*': print(f"结果: {a * b}") elif operation == '/': if b != 0: print(f"结果: {a / b}") else: print("错误: 除数不能为零") else: print("无效的运算符") calculator()

数据分析项目

利用Pandas进行数据加载和分析。

pythonCopy Code
import pandas as pd # 加载数据 df = pd.read_csv('data.csv') # 查看数据概览 print(df.head()) # 数据分析:计算每个类别的平均值 mean_values = df.groupby('Category').mean() print(mean_values)

Web应用程序

利用Flask构建一个简单的Web应用。

pythonCopy Code
from flask import Flask, request app = Flask(__name__) @app.route('/greet', methods=['GET']) def greet(): name = request.args.get('name', 'World') return f"Hello, {name}!" if __name__ == '__main__': app.run(debug=True)

总结

通过本文的学习,我们了解了Python的基础知识、常用数据结构、面向对象编程以及文件操作等内容。同时,通过实际案例分析,巩固了理论知识的应用。Python的灵活性和强大功能使得它成为编程学习的理想选择,希望大家能在实践中不断提升自己的编程技能。