其他
极简 Python:10 段代码,学会基础 python
又到了每月一次的 Python 学习,搞 AI 必学这个
(虽然今天是本月最后一天)
本篇延续
极简 Python:10分钟会用 OpenAI / Kimi API
本篇共包含 10 段简单的 Python
涉及常用语法和常用库
(但毫无疑问删减了很多,比如没有字典)
任何不懂的地方
可问 ChatGPT(上面连接里有写)
请一定先看之前的文章
请一定上手试试
以及,请用 Colab 练手
(Colab 使用方法参见上面链接)
注
如果某个地方以 “#” 开始
意思是:这是注释
一、数据类型
涉及 Python 中最常用的基本数据类型及其操作
包括数字、字符串和列表
# 数字操作
a = 10
b = 3
result = a + b # 将a和b相加
print(result) # 输出:13
# 字符串操作
s = "Hello, Python!"
print(s.lower()) # 转为小写,输出:hello, python!
print(s.upper()) # 转为大写,输出:HELLO, PYTHON!
print(s.replace("Python", "World"))
# 替换子字符串,输出:Hello, World!
# 列表操作
lst = ["apple", "banana", "cherry"]
print(lst[0]) # 访问第一个元素,输出:apple
lst.append("date") # 在列表末尾添加一个元素
print(lst) # 输出:['apple', 'banana', 'cherry', 'date']
lst.remove("banana") # 移除列表中的某个元素
print(lst) # 输出:['apple', 'cherry', 'date']
print(len(lst)) # 获取列表的长度,输出:3
二、条件判断和循环
我们将遍历一个列表,并检查每个字符串的长度
# 遍历列表并检查字符串长度
fruits = ["apple", "banana", "cherry", "date"]
for fruit in fruits:
if len(fruit) > 5: # 判断字符串长度是否大于5
print(f"{fruit} 的长度大于 5")
# 输出:banana 的长度大于 5, cherry 的长度大于 5
else:
print(f"{fruit} 的长度不大于 5")
# 输出:apple 的长度不大于 5, date 的长度不大于 5
三、函数
定义一个简单的问候函数,并调用它
# 定义和调用函数
def greet(name):
print(f"Hello, {name}!") # 输出问候语
greet("Alice") # 输出:Hello, Alice!
greet("Bob") # 输出:Hello, Bob!
四、文件操作
进行简单的文件操作,包括写入和读取文件内容
# 写入文件
with open("example.txt", "w") as file:
file.write("Hello, file!\n")
file.write("This is a second line.")
# 读取文件
with open("example.txt", "r") as file:
content = file.read()
print(content)
# 输出:Hello, file! \n This is a second line.
五、对象
定义一个简单的类和对象,包括类的属性和方法
# 定义类和对象
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print(f"Hello, my name is {self.name} and I am {self.age} years old.")
# 创建对象并调用方法
student1 = Student("Alice", 20)
student1.greet()
# 输出:Hello, my name is Alice and I am 20 years old.
student2 = Student("Bob", 22)
student2.greet()
# 输出:Hello, my name is Bob and I am 22 years old.
六、异常处理
使用异常处理机制来处理可能发生的错误,例如文件未找到的情况
# 处理文件读取中的异常
try:
with open("non_existent_file.txt", "r") as file:
content = file.read()
except FileNotFoundError:
print("文件未找到!")
# 处理其他类型的异常
try:
result = 10 / 0
except ZeroDivisionError:
print("不能除以零!") # 输出:不能除以零!
七、常用标准库
使用Python的标准库,例如datetime库来处理日期和时间
from datetime import datetime
# 获取当前日期和时间
now = datetime.now()
print(now) # 输出示例:2023-05-31 15:23:45.123456
# 格式化日期和时间
formatted_now = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_now) # 输出示例:2023-05-31 15:23:45
# 解析日期字符串
date_str = "2023-05-31"
parsed_date = datetime.strptime(date_str, "%Y-%m-%d")
print(parsed_date) # 输出示例:2023-05-31 00:00:00
八、网络请求
用 requests
库发送 HTTP 请求
再用 BeautifulSoup 进行页面抓取
简而言之:爬虫
import requests
from bs4 import BeautifulSoup
# 发送GET请求
url = "https://news.ycombinator.com/"
response = requests.get(url)
# 检查响应状态码
if response.status_code == 200:
print("请求成功!")
html_content = response.content # 获取页面内容
# 使用BeautifulSoup解析HTML内容
soup = BeautifulSoup(html_content, 'html.parser')
# 获取网页的标题
page_title = soup.title.get_text()
print(f"网页标题: {page_title}")
# 获取所有新闻标题和描述
titles = soup.find_all('a', class_='storylink') # 获取所有标题链接
for i, (title, subtext) in enumerate(zip(titles, subtexts), start=1):
desc = subtext.get_text().strip()
print(f"{i}. 标题: {title.get_text()}")
else:
print("请求失败!")
实际运行如下:
九、数据分析
使用pandas库进行简单的数据处理与分析
import pandas as pd
# 创建一个简单的数据框
data = {
"Name": ["Alice", "Bob", "Charlie"],
"Age": [25, 30, 35],
"City": ["New York", "Los Angeles", "Chicago"]
}
df = pd.DataFrame(data)
# 查看数据框内容
print(df)
# 输出:
# Name Age City
# 0 Alice 25 New York
# 1 Bob 30 Los Angeles
# 2 Charlie 35 Chicago
# 计算年龄的平均值
average_age = df["Age"].mean()
print(f"平均年龄是:{average_age}")
# 输出:平均年龄是:30.0
实际运行如下:
十、数据可视化
使用matplotlib库绘制图表,展示数据分析结果
import matplotlib.pyplot as plt
# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
# 绘制折线图
plt.plot(x, y)
plt.xlabel("X")
plt.ylabel("Y")
plt.title("graph")
plt.show() # 显示图表
实际运行如下: