Python自学笔记
目录
引言
在当今信息化社会,Python作为一种高效、易学、功能强大的编程语言,受到越来越多人的喜爱。无论是在数据分析、人工智能还是Web开发等领域,Python都展现出了其独特的优势。本笔记记录了自学Python的过程,包括基础知识、常用库及实用案例,希望能够帮助到同样想要学习Python的朋友们。
Python基础知识
数据类型
Python支持多种数据类型,包括整数、浮点数、字符串和布尔值。
pythonCopy Code# 整数
a = 10
# 浮点数
b = 20.5
# 字符串
c = "Hello, Python!"
# 布尔值
d = True
控制结构
控制结构用于控制程序的执行流,包括条件语句和循环语句。
条件语句
pythonCopy Codex = 5
if x > 0:
print("x是正数")
elif x < 0:
print("x是负数")
else:
print("x是零")
循环语句
pythonCopy Codefor i in range(5):
print(i) # 输出0-4
while x > 0:
print(x)
x -= 1 # x每次减1
函数
函数是封装了一组可重用代码的块,以提高代码的组织性和可读性。
pythonCopy Codedef add(a, b):
return a + b
result = add(10, 5)
print(result) # 输出15
模块与包
模块是一个包含Python代码的文件,而包是一个包含多个模块的文件夹。使用import
语句可以导入模块。
pythonCopy Codeimport math
print(math.sqrt(16)) # 输出4.0
常用数据结构
列表
列表是一种可变的数据结构,可以存储不同类型的数据。
pythonCopy Codefruits = ["apple", "banana", "cherry"]
fruits.append("orange") # 添加元素
print(fruits[1]) # 输出banana
字典
字典是一种无序的键值对集合,适合存储关联数据。
pythonCopy Codeperson = {"name": "Alice", "age": 25}
print(person["name"]) # 输出Alice
集合
集合是一种无序且不重复的元素集合。
pythonCopy Codenumbers = {1, 2, 3, 4, 4}
print(numbers) # 输出{1, 2, 3, 4}
元组
元组是一种不可变的序列,适合存储固定数量的数据。
pythonCopy Codecoordinates = (10, 20)
print(coordinates[0]) # 输出10
面向对象编程
类与对象
类是对象的蓝图,定义了对象的属性和方法。
pythonCopy Codeclass 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 Codeclass 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!
异常处理
通过try
和except
语句,可以有效地处理程序中的异常。
pythonCopy Codetry:
result = 10 / 0
except ZeroDivisionError:
print("不能除以零!")
常用库和框架
NumPy
NumPy是用于科学计算的基础库,提供了高性能的多维数组对象。
pythonCopy Codeimport numpy as np
arr = np.array([1, 2, 3])
print(arr + 2) # 输出[3 4 5]
Pandas
Pandas是数据分析的重要工具,提供了DataFrame数据结构。
pythonCopy Codeimport pandas as pd
data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
df = pd.DataFrame(data)
print(df)
Flask
Flask是一个轻量级的Web框架,适合快速构建Web应用。
pythonCopy Codefrom flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello, Flask!"
if __name__ == "__main__":
app.run()
案例分析
简单的计算器
构建一个简单的命令行计算器,支持基本的加减乘除运算。
pythonCopy Codedef 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 Codeimport 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 Codefrom 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的灵活性和强大功能使得它成为编程学习的理想选择,希望大家能在实践中不断提升自己的编程技能。