Python So Easy 大虫小呓三部曲 - 入门篇

Pandas入门教程(二十二):股票数据分析实战——yfinance 获取数据、技术指标与收益率分析 把 Pandas 用在真实场景,才能体会它的价值。本文以茅台股票为例,用 yfinance 获取历史行情,完成缺失值处理与列筛选,绘制收盘价曲线,计算 SMA 移动平均线与 RSI 相对强弱指数,并通过日收益率、累计收益率和波动率完成完整的量化分析流程。 阅读详情

你好,我是大虫,一名资深全栈工程师。本教程源于乐趣而非专业,欢迎来到Python的世界!

由于之前写的一篇《【全网最全】50个Python处理Excel示例代码,覆盖95%日常使用场景》 大家反馈不错,于是就筹划了本系列教程。

这篇入门教程是为完全没有编程经验的朋友准备的。我会用最简单易懂的方式带你走进编程的大门。

学习编程就像学开车一样,一开始可能觉得复杂,但一旦掌握了基本操作,你就能感受到它带来的无穷乐趣。

准备好了吗?让我们一起开启这段有趣的Python之旅吧!记住,每个程序员都是从打印"Hello World"开始的,你也不例外!

目录

  1. Python简介与环境搭建
  2. 第一个Python程序:Hello World
  3. 变量与数据类型
  4. 运算符
  5. 输入与输出
  6. 条件语句
  7. 循环语句
  8. 函数基础
  9. 数据结构:列表、元组、字典、集合
  10. 异常处理基础
  11. 文件操作基础
  12. 实战项目:简易计算器

1. Python简介与环境搭建

什么是Python?

Python是一种高级编程语言,以其简洁易读的语法而闻名。它被广泛应用于Web开发、数据分析、人工智能、科学计算等领域。

为什么选择Python?因为它简单易学,而且功能强大。就像瑞士军刀一样,虽然小巧但功能齐全。而且,它还有一个可爱的爬虫Logo,这也是"大虫"这个名字的由来哦!

环境搭建步骤:

  1. 访问 python.org 下载Python
  2. 安装Python(建议勾选添加到PATH)
  3. 打开终端/命令行,输入 python --version 验证安装
  4. 推荐使用代码编辑器如 VS Code 或 PyCharm

安装Python就像给电脑装了个超级大脑。从此,你的电脑不仅能听音乐、看视频,还能帮你解决复杂的计算问题!

第一个Python程序

print("Python环境已准备就绪!")

2. 第一个Python程序:Hello World

Hello World 程序

“Hello, World!” 程序是学习任何编程语言的经典起点。它简单地在屏幕上输出一段文本。每个程序员的"第一次"都是从这里开始的,有点像编程界的成人礼!

# 这是你的第一个Python程序!
# print() 函数用于在控制台输出信息

print("Hello, World!")  # 输出: Hello, World!

注释的作用

注释是代码中不会被执行的部分,用于解释代码的功能,提高代码的可读性,便于他人理解和维护。写注释是个好习惯,就像给你的代码加了说明书。别做那个让人看不懂你代码的"神秘程序员"!

# 在Python中,# 号后面的内容是注释,不会被执行
# 注释是用来解释代码的,提高代码可读性

print("欢迎来到Python的世界!")  # 可以输出任何文本

3. 变量与数据类型

什么是变量?

变量就像是一个容器,用来存储数据。在Python中,你不需要声明变量的类型,解释器会自动识别。这就像你去餐厅点菜,服务员会根据你点的菜自动给你相应的餐具,而不需要你提前声明要用筷子还是叉子。

基本数据类型

Python有多种内置数据类型,包括数字(整数和浮点数)、字符串和布尔值等。这些数据类型就像不同的工具,各有各的用途。

# 数值类型
age = 25              # 整数 (int) - 表示年龄这类整数数据
height = 1.75         # 浮点数 (float) - 表示身高这类有小数的数据
is_student = True     # 布尔值 (bool) - 表示是或否的逻辑值

# 字符串类型
name = "大虫"          # 字符串 (str) - 表示文本信息
country = '中国'       # 字符串可以用双引号或单引号,选择一种风格并保持一致!

查看变量类型

使用 type() 函数可以查看变量的数据类型,这对于调试和理解代码非常有帮助。当你不确定一个变量是什么类型时,type() 就像一个"侦探",帮你查明真相。

# 查看变量类型
print(type(age))      # <class 'int'>
print(type(height))   # <class 'float'>
print(type(name))     # <class 'str'>

变量命名规则

合理的变量命名可以提高代码的可读性。Python对变量命名有一些规则和建议。

# 变量命名规则:
# 1. 只能包含字母、数字和下划线
# 2. 不能以数字开头
# 3. 不能使用Python关键字(如if, for, while等)

4. 运算符

算术运算符

算术运算符用于执行基本的数学运算,是编程中最常用的运算符之一。

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 (10的3次方)

比较运算符

比较运算符用于比较两个值,返回布尔值True或False,在条件语句中经常使用。

print("等于:", a == b)       # False
print("不等于:", a != b)     # True
print("大于:", a > b)        # True
print("小于:", a < b)        # False
print("大于等于:", a >= b)   # True
print("小于等于:", a <= b)   # False

逻辑运算符

逻辑运算符用于组合多个条件,常用于复杂的条件判断中。

x = True
y = False

print("与运算:", x and y)    # False (两者都为True才为True)
print("或运算:", x or y)     # True (任一为True就为True)
print("非运算:", not x)      # False (取反)

5. 输入与输出

输出函数 print()

print() 是Python中最常用的输出函数,可以将信息显示在控制台上。

# 输出(之前已经学过print())
print("直接输出文本")
print("格式化输出:", 123)  # 可以输出多个值,用逗号分隔

输入函数 input()

input() 函数用于从用户那里获取输入,是实现交互式程序的基础。

# 输入(input()函数)
# input()会暂停程序,等待用户输入,并返回字符串类型
user_name = input("请输入你的姓名: ")
print("你好,", user_name)

# 注意:input()返回的是字符串,如果需要数字需要转换类型
age_str = input("请输入你的年龄: ")
age = int(age_str)  # 使用int()将字符串转换为整数
print("明年你将会是", age + 1, "岁")

格式化字符串

格式化字符串可以让我们更灵活地组合文本和变量值,创建更丰富的输出信息。

name = "小虫"
age = 20

# 方式1:使用format()
print("我的名字是{},今年{}岁".format(name, age))

# 方式2:使用f-string(推荐)
print(f"我的名字是{name},今年{age}岁")

# 方式3:使用%(较老的方式)
print("我的名字是%s,今年%d岁" % (name, age))

6. 条件语句

基本 if 语句

score = 85

# 基本if语句
if score >= 60:
    print("及格了!")

if-else 语句

# if-else语句
if score >= 90:
    print("优秀")
else:
    print("还需努力")

多条件判断(if-elif-else)

# if-elif-else语句(多条件判断)
if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 60:
    print("及格")
else:
    print("不及格")

条件表达式(三元运算符)

# 条件表达式(三元运算符)
result = "及格" if score >= 60 else "不及格"
print(result)

多条件组合

# 多条件组合
age = 20
has_license = True

# and: 两个条件都满足
if age >= 18 and has_license:
    print("可以开车")

# or: 满足其中一个条件即可
if age < 18 or not has_license:
    print("不能开车")

嵌套条件语句

# 嵌套条件语句
weather = "晴天"
temperature = 25

if weather == "晴天":
    if temperature > 20:
        print("适合户外活动")
    else:
        print("有点冷,多穿点衣服")
else:
    print("不太适合出门")

7. 循环语句

for 循环

# for循环:遍历序列(如列表、字符串等)
fruits = ["苹果", "香蕉", "橙子"]

# 遍历列表
for fruit in fruits:
    print(f"我喜欢吃{fruit}")

range() 函数

# 使用range()函数生成数字序列
for i in range(5):  # 生成0到4的数字
    print(f"第{i+1}次循环")

# range()的其他用法
for i in range(2, 8):      # 从2到7
    print(i)

for i in range(0, 10, 2):  # 从0到9,步长为2
    print(i)               # 输出: 0, 2, 4, 6, 8

while 循环

# while循环:当条件为真时重复执行
count = 0
while count < 3:
    print(f"计数器: {count}")
    count += 1  # 等同于 count = count + 1

循环控制语句

# break: 跳出整个循环
for i in range(10):
    if i == 5:
        break
    print(i)  # 输出: 0, 1, 2, 3, 4

# continue: 跳过当前循环,继续下一次循环
for i in range(5):
    if i == 2:
        continue
    print(i)  # 输出: 0, 1, 3, 4

嵌套循环

# 嵌套循环
for i in range(1, 4):      # 外层循环
    for j in range(1, 4):  # 内层循环
        print(f"i={i}, j={j}")

8. 函数基础

什么是函数?

函数是组织好的、可重复使用的、用来实现特定功能的代码块。

定义和调用函数

# 定义一个简单的函数
def greet():
    print("你好,欢迎学习Python!")

# 调用函数
greet()

带参数的函数

# 带参数的函数
def greet_person(name):
    print(f"你好,{name}!")

greet_person("大虫")
greet_person("小虫")

带默认参数的函数

# 带默认参数的函数
def greet_person_with_title(name, title="同学"):
    print(f"你好,{title} {name}!")

greet_person_with_title("大虫")           # 使用默认标题
greet_person_with_title("小虫", "老师")   # 指定标题

带返回值的函数

# 带返回值的函数
def add(a, b):
    return a + b

result = add(3, 5)
print(f"3 + 5 = {result}")

返回多个值

# 返回多个值(实际上是返回一个元组)
def calculate(a, b):
    sum_val = a + b
    diff = a - b
    return sum_val, diff

sum_result, diff_result = calculate(10, 3)
print(f"和: {sum_result}, 差: {diff_result}")

局部变量与全局变量

# 局部变量与全局变量
global_var = "我是全局变量"

def test_function():
    local_var = "我是局部变量"
    print(local_var)
    print(global_var)  # 可以访问全局变量

test_function()
# print(local_var)  # 这里会报错,因为局部变量在函数外无法访问
print(global_var)    # 全局变量可以在任何地方访问

9. 数据结构:列表、元组、字典、集合

列表 (List)

# 列表 (List) - 有序、可变、允许重复元素
fruits = ["苹果", "香蕉", "橙子"]
print(fruits[0])        # 访问第一个元素
fruits.append("葡萄")    # 添加元素
fruits[1] = "草莓"      # 修改元素
print(fruits)

# 列表常用方法
numbers = [3, 1, 4, 1, 5]
numbers.sort()          # 排序
print(numbers)
numbers.reverse()       # 反转
print(numbers)
print(len(numbers))     # 获取长度

元组 (Tuple)

# 元组 (Tuple) - 有序、不可变、允许重复元素
colors = ("红", "绿", "蓝")
print(colors[0])
# colors[0] = "黄"  # 这会报错,因为元组不可变

字典 (Dictionary)

# 字典 (Dictionary) - 无序、可变、键值对存储
person = {
    "name": "大虫",
    "age": 25,
    "city": "北京"
}
print(person["name"])           # 通过键访问值
person["job"] = "程序员"         # 添加新的键值对
person["age"] = 26              # 修改值
print(person)

# 字典常用方法
print(person.keys())    # 获取所有键
print(person.values())  # 获取所有值
print(person.items())   # 获取所有键值对

集合 (Set)

# 集合 (Set) - 无序、可变、不允许重复元素
unique_numbers = {1, 2, 3, 3, 2, 1}  # 重复元素会被自动去除
print(unique_numbers)  # {1, 2, 3}

# 集合操作
set_a = {1, 2, 3}
set_b = {3, 4, 5}
print(set_a.union(set_b))        # 并集 {1, 2, 3, 4, 5}
print(set_a.intersection(set_b)) # 交集 {3}
print(set_a.difference(set_b))   # 差集 {1, 2}

10. 异常处理基础

什么是异常?

异常处理用于处理程序运行时可能出现的错误,避免程序崩溃。

基本的异常处理结构

# 基本的try-except结构
try:
    number = int(input("请输入一个数字: "))
    result = 10 / number
    print(f"10除以{number}等于{result}")
except ValueError:
    print("输入的不是有效数字!")
except ZeroDivisionError:
    print("不能除以零!")
except Exception as e:
    print(f"发生了未知错误: {e}")

try-except-else-finally结构

# try-except-else-finally结构
try:
    file = open("test.txt", "r")
    content = file.read()
except FileNotFoundError:
    print("文件未找到")
else:
    print("文件读取成功")
    print(content)
finally:
    print("执行清理操作")
    # if 'file' in locals():
    #     file.close()  # 关闭文件

主动抛出异常

# 主动抛出异常
def check_age(age):
    if age < 0:
        raise ValueError("年龄不能为负数")
    elif age > 150:
        raise ValueError("年龄不能超过150岁")
    else:
        print(f"年龄{age}岁是有效的")

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

11. 文件操作基础

写入文件

# 文件操作是编程中常见的任务

# 写入文件
with open("example.txt", "w", encoding="utf-8") as file:
    file.write("这是第一行\n")
    file.write("这是第二行\n")
    file.write("这是第三行\n")

读取文件

# 读取文件
with open("example.txt", "r", encoding="utf-8") as file:
    content = file.read()
    print(content)

逐行读取文件

# 逐行读取文件
with open("example.txt", "r", encoding="utf-8") as file:
    for line in file:
        print(f"读取到: {line.strip()}")  # strip()去除行末的换行符

追加内容到文件

# 追加内容到文件
with open("example.txt", "a", encoding="utf-8") as file:
    file.write("这是追加的一行\n")

检查文件是否存在

# 检查文件是否存在
import os
if os.path.exists("example.txt"):
    print("文件存在")
else:
    print("文件不存在")

# 删除文件
# os.remove("example.txt")

12. 实战项目:简易计算器

项目介绍

通过这个项目,我们将综合运用前面学到的所有知识点,创建一个实用的计算器程序。这不仅能巩固所学,还能体验到编程的实际应用价值。当你亲手写出来的程序能够正确计算数学题时,那种成就感是无法言喻的!

在本项目中,我们将综合运用前面学到的知识,创建一个简易计算器程序。

代码实现

# 简易计算器项目
# 综合运用前面学过的知识

def add(x, y):
    return x + y

def subtract(x, y):
    return x - y

def multiply(x, y):
    return x * y

def divide(x, y):
    if y == 0:
        return "错误:除数不能为0"
    return x / y

def calculator():
    print("=== 简易计算器 ===")
    print("选择操作:")
    print("1. 加法")
    print("2. 减法")
    print("3. 乘法")
    print("4. 除法")
    
    while True:
        choice = input("请输入操作编号(1/2/3/4)或'q'退出: ")
        
        if choice == 'q':
            print("感谢使用计算器!")
            break
            
        if choice in ('1', '2', '3', '4'):
            try:
                num1 = float(input("请输入第一个数字: "))
                num2 = float(input("请输入第二个数字: "))
                
                if choice == '1':
                    print(f"{num1} + {num2} = {add(num1, num2)}")
                elif choice == '2':
                    print(f"{num1} - {num2} = {subtract(num1, num2)}")
                elif choice == '3':
                    print(f"{num1} * {num2} = {multiply(num1, num2)}")
                elif choice == '4':
                    result = divide(num1, num2)
                    print(f"{num1} / {num2} = {result}")
            except ValueError:
                print("输入无效,请输入数字!")
        else:
            print("无效的输入,请重新选择")

# 运行计算器
if __name__ == "__main__":
    calculator()

项目总结

通过这个项目,我们练习了:

  • 函数定义与调用
  • 条件语句
  • 循环语句
  • 异常处理
  • 用户输入处理

恭喜你完成了入门篇的学习!现在你已经掌握了Python的基础知识,可以开始编写一些简单的程序了。记住,编程是一项实践性很强的技能,多写代码才能进步更快。下一站:进阶篇,让我们继续深入Python的世界!

接下来的一周时间里我将会陆续分享本教程的另外两篇《进阶篇》和《高阶篇》。敬请期待噢!

关注"大虫小呓"(全网同名),第一时间获得更多技术干货。

UE5网络模块实战:属性复制、RPC与联机开发踩坑指南 多人联机开发中,网络同步是核心难题。UE5网络模块以服务器权威为基础,通过Actor复制、RPC和所有权机制实现多端状态一致。理解属性复制与OnRep回调、区分Server/Client/Multicast RPC的适用场景,是构建稳定联机架构的关键。本文结合数字孪生与多端协作场景,探讨如何将渲染与逻辑分离,并针对打包后网络失效、端口防火墙、崩溃排查等工程实践问题给出解决方案。通过蓝图接口解耦表现层,利用C++创建StaticMesh组件实现服务器逻辑与客户端表现分离,同时注意专用服务器不加载渲染依赖(如D 阅读详情

相关推荐

Ubuntu 22.04源码编译安装ROS Noetic

Ubuntu 22.04源码编译安装ROS Noetic

Drknown的博客 2万+

Python So Easy 大虫小呓三部曲 - 高阶篇

在这里,我们将探索Python的一些高级特性和实际应用。 我们会学习如何编写高性能的代码,如何进行网络编程,如何操作数据库,以及如何开发Web应用等。

bigbigbugbug的博客 1389

DDPG算法实战:用Python一步步实现深度强化学习中的连续动作控制

本文详细介绍了DDPG算法在深度强化学习中的连续动作控制应用,通过Python和PyTorch实现从零构建智能体。内容涵盖环境搭建、网络架构设计、经验回放、OU噪声实现及训练流程优化,帮助开发者掌握DDPG在机械臂控制等场景的核心技术。

weixin_30335575的博客 414

Python So Easy 大虫小呓三部曲 - 进阶篇

在【进阶篇】中,我们将深入探讨Python的一些核心概念,比如面向对象编程、装饰器、生成器等。 这些内容会让你更深入地理解Python的设计哲学,也会让你的代码更加优雅和高效。

bigbigbugbug的博客 1618

FreeRTOS系统CPU使用率统计

操作系统中CPU使用率是在软件架构设计中必须要考虑的一个重要性能指标。它直接影响到程序的执行时间以及优先级更高的任务能否实时响应的问题。而CPU使用率也不能过低,避免资源浪费。

灵哎惹,凌沃敏的博客 1377

《基于Yolo算法的火灾检测系统设计与实现》开题报告

在消防安全领域,火灾对生命财产安全构成严重威胁。传统的火灾检测手段存在诸多不足,如误报率高、检测范围有限、响应速度慢等。基于 Yolo 算法的火灾检测系统能够利用深度学习技术,实现对火灾的高效、精准检测,具有重要的现实意义。         从社会安全角度看,该系统可以广泛应用于各类公共场所、工业厂房和居民住宅,实时监测火灾隐患,及时发出警报,为人员疏散和消防救援争取宝贵时间,有效降低火灾造成的人员伤亡和财产损失,保障社会公共安全。

m0_69704149的博客 1383

Python+Agent入门笔记(二):列表推导式、模块和异常,这些写 Agent 前得会

接上一篇《Python+Agent入门笔记(一)》。基础语法跑通之后,这篇聊几块日常写脚本绕不开的东西。还是按 JS/Go 开发者的视角写,尽量记录我实际卡过的地方。

qq_41241612的博客 425

YOLO26轻量化科研实践:PartialConv驱动CSPCPC模块,让模型参数量直降1000W且精度不减

在目录下,新建AddModules文件夹,将cspcpc.py放入其中。

m0_71589036的博客 166

详解Python条件语句

在 Python 中,if...else 是一种条件语句,可以根据给定的条件执行不同的操作。这个语句通常用于控制程序的流程。

2601_96798737的博客 204

Mac 安装neo4j(解压版)最新版本教程

本文介绍了在Mac M系列操作系统上安装Neo4j图数据库的具体步骤。内容包括:从官网下载解压版Neo4j社区版压缩包;通过终端命令将其解压到/opt目录并重命名;配置环境变量以便全局访问;以及常用命令如启动/停止服务、重置密码等。安装完成后,用户可通过浏览器访问http://localhost:7474,使用默认账号neo4j/neo4j登录并根据提示重置密码。该教程简洁明了地指导用户完成Neo4j在Mac上的安装配置过程。

猿小白的博客 906

6.8 点云相关软件——CoProcess

摘要 CoProcess是华测导航研发的三维点云全流程处理平台,支持海量数据浏览、编辑及多类型成果输出,适配地形测绘、道路建设等行业需求。软件采用模块化设计,包含基础功能(数据导入、分类、建模等)和行业定制模块(地形、道路、矿山等),支持多格式数据交互与自动化处理,显著提升作业效率。相比Lidar360,CoProcess操作更简便、性价比更高;相比开源工具CloudCompare,其行业适配性与专业功能更优。2025版本优化了数据处理性能与智能算法,需授权激活高级功能,适合商业项目应用。

qq625924821的博客 247

微调数据集构建:清洗、标注、格式转换完整流程

摘要解决微调数据直接抓取导致的噪声污染、模式崩溃与Token错位问题。适用于需为大模型SFT阶段构建高质量训练集的数据与算法工程师。读完可获得包含启发式清洗、MinHash去重及ChatML格式对齐的完整可运行数据流水线。关键词数据清洗、MinHash去重、数据标注、ChatML、SFT数据集、数据配比背景与问题大模型微调效果的上限由数据质量决定,直接使用未经处理的原始语料极易引发模型复读、幻觉与指令遵循能力退化。

2402_85729970的博客 468

SCADA|KingSCADA通过组合框选择修改变量的值

《SCADA项目中组合框控件的使用方法》 本文详细介绍了SCADA系统中组合框(下拉框)控件的应用方法。通过具体示例演示如何实现:当选择"雷工笔记"时变量值为100,选择"雷工杂谈"时为200,选择"小李食代"时为300的功能。主要实现步骤包括:1)创建项目并添加组合框控件;2)设置Items选项及对应数值;3)创建内存变量;4)使用GetCurrentIndex()和GetItemData()方法;5)在选项变化事件中编写脚本。该控件在SCADA

做有价值的事,积累有价值的笔记! 858

Python3 协程:异步编程的核心机制与实战

协程是解决I/O密集型任务等待瓶颈的高效机制,相比线程更轻量、无锁开销。从yield到async/await的演进,使异步编程语义清晰、易于理解。通过async/await可实现并发执行多个任务(如gather、create_task),显著提升网络请求、爬虫等场景性能。关键在于使用异步库(如aiohttp)替代同步库,避免阻塞事件循环。合理控制超时与并发数,才能发挥协程最大优势。

Lxn2zh的博客 158

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python如何控制浏览器

Python 可以通过 Selenium、Playwright 等工具实现浏览器自动化,从打开网页到执行复杂交互操作均可脚本化完成。Selenium生态成熟

2601_96797912的博客 73

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

torch.compile 差异仅 1e-6,边界样本预测为何翻转

torch.compile 加速后输出与 eager 不一致,部分预测翻转。逐层对比与 graph break 分析定位到动态分支翻转根因。容差回归仅适用于无分支翻转场景,零容忍场景应禁用编译。

昨日种种,皆成今我。今日种种,皆成新我。 157

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

二进制木马免杀-Python 分离免杀与 Web 挂马

二进制木马免杀-Python 分离免杀与 Web 挂马

2503_94637398的博客 264

Python 100讲课程导航:第08篇《Python input 与类型转换:构建可靠的交互程序》

本文详解Python中input()的返回类型为字符串,强调必须通过int()、float()等函数进行类型转换。重点讲解了输入验证的重要性,结合try-except处理ValueError等异常,实现可靠的交互程序。通过购物预算计算器实战,演示如何防范非法输入、处理边界值,并推荐使用Decimal避免浮点精度问题,提升程序健壮性。

铭渊老黄 130

【Python】国家中小学智慧教育平台电子教材批量下载与 PDF 合成实战

成果:两本语文电子课本(一年级上册 118 页 / 23MB、三年级上册 130 页 / 30.3MB),合计 248 页、约 54MB,单本下载加合成 40~60 秒,PDF 页数校验全部通过。经验教训SPA 站点的数据接口优先从 bundle 里挖,比抓页面稳得多;资源链接要按 private/public 分组看待,只取平台公开部分;页数、目录名这类“可推断”的信息,永远用实际响应验证一次;受限环境里“能不能跑浏览器”要在方案定稿前确认。后续计划:这版 PDF 是图片版,没有文字层;

木头大左的博客 115

魔塔社区微调训练Qwen2-1.5B-Instruct模型并烧录到‌RK3568开发板教程

本文基于Ubuntu 22.04 + CUDA 13.0.3环境,使用LLaMA-Factory框架对Qwen2-1.5B-Instruct模型进行LoRA微调,训练儿童故事生成专用模型。通过配置qwen模板、制作alpaca格式数据集、执行sft训练并合并LoRA权重,最终将模型转换为GGUF格式,并量化为Q4_K_M以适配RK3568嵌入式平台。全程支持国产镜像加速下载与显存优化,实现高效轻量化部署。

浅清秋慕夏的博客 182

【回眸】DeepSeek V4.1 Flash 快速上手与实战

本文介绍如何高效本地部署开源大模型,通过现代化工具链实现分钟级环境搭建。聚焦显存优化、一键安装、代码调用与多轮对话实现,解决“显存不足”“连接超时”等痛点,提供参数调优与结构化输出技巧,助力开发者在离线场景下快速构建稳定、高效的本地推理系统。

啤酒鸭的物联网开发记录博客 193

智叟云集-手机证据抓取系统的工程结构与应用入口

本文系统阐述手机证据抓取系统的工程结构与应用入口,涵盖四大层面:工程目录划分(Android、Python服务、Web页面、测试与构建工具);Android组件通过Manifest声明可启动页面,主界面由MainActivity管理;Python服务通过run.py解析参数并启动FastAPI应用,支持远程访问;浏览器页面采用HTML/CSS/JS分离架构,静态资源通过路径关联,实现动态交互。各模块分工明确,协同构建可运行的采集系统。

2301_77178996的博客 228

利用python中matplotlib.pyplot库绘制图

plt.plot(x,y) # x,y是每个点的坐标,plot()把每个点按顺序画折线。plt.subplots(2,2)表示绘制2*2的子图布局,axs[0,0]表示在第0行第0列绘制子图...coordinates_i[:,0]表示获取每一行(每一个spot)的第0列(x坐标)coordinates_i[:,1]表示获取每一行(每一个spot)的第0列(y坐标)plot.subplot(2,2,1) 表示子图布局是2*2的,开始绘制第一个。也可以导入数据绘制。可以设置color属性,设置颜色。

qq_46147236的博客 98

【AI】方案设计:通用慢节奏策略游戏大模型智能体流水线开发架构设计——基于 OODA 文件总线与可插拔协议适配层

本方案设计了一种面向慢节奏策略游戏的通用智能体架构,通过C++与Python协同构建协议适配层,实现游戏状态与控制指令的解耦。核心采用文件目录作为唯一总线,基于OODA循环分阶段处理态势感知、研判、决策与执行,支持多协议接入、可审计回放、人在回路干预及自愈容错。大模型仅依赖统一结构化简报与通用指令,具备高兼容性与可扩展性,适用于复杂推演场景。

hknaruto的专栏 162

Spring Boot 自动配置原理

Spring Boot 自动配置由 @EnableAutoConfiguration 导入选择器,读取 jar 中 .imports 候选清单,经去重、排序、排除后逐类做条件判断,通过才注册 Bean。延迟导入让用户 Bean 优先,@ConditionalOnMissingBean 使默认配置让位。失效时查清单和 Negative matches。

2401_89855466的博客 352

【随笔】KV缓存量化:省下的显存,要付出多少数值误差

用可运行量化器解释位宽、比例信息、分组和离群值的关系,核算KV缓存实际载荷,并给出Transformers配置与容量、延迟、质量验收方法。

code2cat的博客 443
上一篇: 扣子(coze)开源了?我本地服务器刚弄好的Dify工作流咋办? 凉拌 ?还是爆炒?
下一篇: Python So Easy 大虫小呓三部曲 - 进阶篇
大虫小呓
博客等级 码龄7年 94粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值