advPython-2

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

网络编程(基于TCP协议)

基础(1)

文件名: myprofile.py

iaap = ("127.0.0.1", 8002)

文件名: server.py

"""
CS架构(client\server)最基本知识
"""
import socket
from myprofile_1 import iaap

# 1.创建socket对象(下面两个参数不写默认也是它俩)
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # socket.SOCK_STREAM 流式协议

# 2.绑定地址
server.bind(iaap)

# 3.监听连接请求
server.listen(5)  # 5 --> 半连接池大小

# 4.取出连接请求,开始服务
conn, addr = server.accept()

# 5.数据传输
date = conn.recv(1024)
date = date.decode("utf-8")
print(date)

# 6.结束服务
conn.close()

# 7.关闭服务器(可选)
server.close()

文件名: client.py

"""
CS架构(client\server)最基本知识
"""
import socket
from myprofile_1 import iaap

# 1.创建socket对象
client = socket.socket()

# 2.建立连接
client.connect(iaap)

# 3.传输数据
msg = input("请输入>>>")
client.send(msg.encode("utf-8"))

# 4.关闭连接(客户端的最后必须是关闭连接,从而释放客户端设备的资源)
client.close()  # 所以必须要写,这行代码对应的是服务端的conn.close()

基础(2)

文件名: myprofile.py

iaap = ("127.0.0.1", 8004)

文件名: server.py

"""
CS架构升级--连接循环
"""
import socket
import time

from myprofile_2 import iaap

# 基本步骤
sk = socket.socket()
sk.bind(iaap)
sk.listen(5)  # 半连接池
print("正在等待客户端连接...")

# 连接循环
while True:

    # 获取池中对象
    conn, addr = sk.accept()
    print("成功连接客户端")

    # 信息传输
    while True:

        # 客户端非正常断开,windows报错,而mac和Linux不会报错但收到的date为空
        try:
            date = conn.recv(1024)
        except:
            break
        if not date:
            break

        conn.send(date.upper())

    # 连接断开提醒
    print("正在关闭连接...")
    time.sleep(1.1)
    conn.close()
    print("连接已关闭")

# sk.close()

文件名: client.py

"""
CS架构升级--连接循环
"""
import socket
from myprofile_2 import iaap

# 基本步骤
sk = socket.socket()
sk.connect(iaap)

# 信息传输
while True:

    # 用户输入
    msg = input("请输入>>>").strip()
    if not msg:  # 防止输入为空,造成"卡空"
        continue
    if msg == "Q" or msg == "q":  # 正常退出操作
        break

    # 发送数据
    sk.send(msg.encode("utf-8"))

    # 接收数据
    date = sk.recv(1024)
    print(date.decode("utf-8"))

# 关闭连接,释放资源
sk.close()

并发(1)

文件名: myprofile.py

iaap = ("127.0.0.1", 8010)

文件名: server.py

"""
利用 socketserver 实现并发
"""
import socketserver
from myprofile_1 import iaap


class RequestHandle(socketserver.BaseRequestHandler):

    def handle(self):

        # 打印查看它们是什么
        print(self.request)  # 相当于coon
        print(self.client_address)

        # 数据传输部分
        while True:

            # -> 客户端非正常断开,windows报错,而mac和Linux不会报错但收到的date为空
            try:
                date = self.request.recv(1024)
            except:
                break
            if not date:
                break

            # -> 发送信息
            self.request.send(date.upper())
            print()

        # 结束服务
        self.request.close()


# 实例化??
sk = socketserver.ThreadingTCPServer(iaap, RequestHandle)
# 调用??
sk.serve_forever()

文件名: client.py

"""
利用 socketserver 实现并发
"""
import socket
from myprofile_1 import iaap

# 基本步骤
sk = socket.socket()
sk.connect(iaap)

# 信息传输
while True:
    # 信息输入
    msg = input("请输入>>>").strip()
    if not msg:
        continue
    if msg == "Q" or msg == "q":
        break

    # 发送数据
    sk.send(msg.encode("utf-8"))

    # 接收数据
    date = sk.recv(1024)
    print(date.decode("utf-8"))

# 关闭连接,释放资源
sk.close()

并发(2)

文件名: myprofile.py

iaap = ("127.0.0.1", 8033)

文件名: server.py

"""使用"进程"实现并发效果"""
import socket
from multiprocessing import Process
from myprofile_2 import iaap


def task(conn, addr):
    # 连接信息提示
    ip, port = addr
    print(f"成功连接客户端>>>\nIP>>>{ip}\n端口>>>{port}")

    # 通讯循环
    while True:
        # 防"bug"
        try:
            date = conn.recv(1024)
        except:
            break
        if not date:
            break

        # 发送消息
        conn.send(date.upper())

    # 关闭连接
    conn.close()


if __name__ == '__main__':
    # 基本部分
    sk = socket.socket()
    sk.bind(iaap)
    sk.listen(5)
    while True:
        # 获取连接对象
        conn, addr = sk.accept()

        # 将连接对象交给子进程操作
        # 先创建进程对象
        p = Process(target=task, args=(conn, addr))
        # 开始进程
        p.start()

文件名: client.py

"""使用"进程"实现并发效果"""
import socket
from myprofile_2 import iaap

sk = socket.socket()
sk.connect(iaap)

# 通讯循环
while True:

    # 信息输入
    msg = input("请输入>>>").strip()
    if not msg:
        break
    if msg == "q" or msg == "Q":
        break

    # 发送信息
    sk.send(msg.encode("utf-8"))

    # 接收信息
    date = sk.recv(1024)
    print(date.decode("utf-8"))

# 断开连接,释放资源
sk.close()

并发(3)

文件名: myprofile.py

iaap = ("127.0.0.1", 8001)

文件名: server.py

"""
使用线程实现并发效果
"""
import socket
from threading import Thread
from myprofile import iaap


def task(conn, addr):
    # 连接提示
    ip, port = addr
    print(f"客户端>>>IP:{ip}<<< >>>端口:{port}<<<\n连接成功\n")

    # 通讯循环
    while True:
        # 接收信息
        try:
            date = conn.recv(1024)
        except:
            break
        if not date:
            break

        # 发送信息
        conn.send(date.upper())

    # 关闭客户端连接
    print(f"客户端>>>IP:{ip}<<< >>>端口:{port}<<<正在关闭连接...")
    conn.close()
    print("连接已断开")


if __name__ == '__main__':
    # 基本步骤
    sk = socket.socket()
    sk.bind(iaap)
    sk.listen(5)

    # 获取连接对象
    while True:
        coon, addr = sk.accept()
        # 创建线程,将对象交给线程进行服务
        t = Thread(target=task, args=(coon, addr))
        # 开始线程
        t.start()

文件名: client.py

"""
使用线程实现并发效果
"""

import socket
from myprofile import iaap

# 基本步骤
sk = socket.socket()
sk.connect(iaap)

# 通讯循环
while True:
    # 信息输入
    msg = input("请输入>>>").strip()
    if not msg:
        continue
    if msg == "Q" or msg == "q":
        break

    # 发送消息
    sk.send(msg.encode("utf-8"))

    # 接收并打印消息
    date = sk.recv(1024)
    print(date.decode("utf-8"))

# 关闭连接,释放资源
print("正在关闭连接...")
sk.close()
print("连接已断开")

网络编程(基于UDP协议)

基础

文件名: myprofile

iaap = ("127.0.0.1", 8002)

文件名: server

"""
udp协议下的套接字

udp特点:
1.udp传输不可靠
2.udp不需要连接
"""
import socket
from myprofile import iaap

# 1.创建socket对象
sk = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  # socket.SOCK_DGRAM 数据报协议

# 2.绑定地址
sk.bind(iaap)

# 3.通讯循环
while True:
    # 接收信息
    date, addr = sk.recvfrom(1024)

    # 发送信息
    sk.sendto(date.upper(), addr)

# # 4.关闭服务器(可选)
# sk.close()

文件名: client

"""
udp协议下的套接字

udp特点:
1.udp传输不可靠
2.udp不需要连接
"""
import socket
from myprofile import iaap

# 1.创建socket对象
sk = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 2.通讯循环
while True:
    # 输入数据
    msg = input("请输入>>>").strip()  # 发送不了"空"
    if not msg:
        continue
    if msg == "q" or msg == "Q":
        break

    # 发送数据
    sk.sendto(msg.encode("utf-8"), iaap)

    # 接收数据
    date, addr = sk.recvfrom(1024)
    print(date.decode("utf-8"))

# 3.关闭连接,释放资源
print("正在断开连接...")
sk.close()
print("已断开")

并发

文件名: myprofile

iaap = ("127.0.0.1", 8000)

文件名: server

"""
利用 socketserver 实现并发
"""
import socketserver
import time

from myprofile import iaap


class RequestHandle(socketserver.BaseRequestHandler):
    def handle(self):
        print(f"客户端发来的数据>>>{self.request[0]}")
        time.sleep(3)
        self.request[1].sendto(self.request[0].upper(), self.client_address)


# 实例化对象???
sk = socketserver.ThreadingUDPServer(iaap, RequestHandle)
# 调用??
sk.serve_forever()

文件名: client

"""
利用 socketserver 实现并发
"""

import socket
from myprofile import iaap

# 基本部分
sk = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 通讯循环
while True:

    # 输入信息
    msg = input("请输入>>>").strip()
    if not msg:
        continue
    if msg == "q" or msg == "Q":
        break

    # 发送信息
    sk.sendto(msg.encode("utf-8"), iaap)

    # 接收信息
    date, addr = sk.recvfrom(1024)
    print(date.decode("utf-8"))

# 关闭连接,释放资源
sk.close()
37张图详解MAC地址、以太网、二层转发、VLAN MAC 地址 每个网卡或三层网口都有一个 MAC 地址, MAC 地址是烧录到硬件上,因此也称为硬件地址。MAC 地址作为数据链路设备的地址标识符,需要保证网络中的每个 MAC 地址都是唯一的,才能正确识别到数据链路上的设备。 MAC 地址由 6 个字节组成。前 3 个字节表示厂商识别码,每个网卡厂商都有特定唯一的识别数字。后 3 个字节由厂商给每个网卡进行分配。厂商可以保证生产出来的网卡不会有相同 MAC 地址的网卡。 现在可以通过软件修改 MAC 地址,虚拟机使用物理机网卡的 MAC 地址,并不能保. 阅读详情

相关推荐

中科蓝讯蓝牙开发:从源码到固件的自动化构建链路解析

本文详细解析了中科蓝讯AB530X蓝牙芯片从源码到最终固件的完整自动化构建链路。通过剖析prebuild.bat、GCC编译、postbuild.bat等关键环节,阐述了资源打包、配置生成、代码编译与固件合成的全过程,并重点介绍了如何实现一键编译与自动下载,为开发者高效进行嵌入式蓝牙开发提供清晰指南。

weixin_29193259的博客 121

advPython-3

Python-Web

因为热爱,所以坚持。 699

Arduino程序设计(十)8×8 共阴极LED点阵显示(MAX7219)

本文主要介绍8×8 LED点阵显示实验,分别是:1、介绍MAX7219点阵模块;2、点阵显示部分图形;3、点阵显示数字 0~9 及 26 个英文字母。1、通过上述两个点阵实验,了解了8*8点阵显示的基本原理;2、通过SPI通信控制点阵显示,学会了Arduino用SPI通信方式控制外设。

Alice的博客 1万+

advPython-1

进程、线程、互斥锁、信号量、事件、回调机制、yield进阶、协程

因为热爱,所以坚持。 958

EB TRESOS 29.0.0安装教程用于MCAL配置开发

本文介绍的搭建基于NXP官网提供EB软件,进行基于标准AUTOSAR软件底层驱动配置的开发

qq_53260940的博客 1876

手把手教你用STM32硬件SPI驱动BMI088陀螺仪(附完整代码)

本文提供了一份详尽的STM32硬件SPI驱动BMI088陀螺仪的实战指南。内容涵盖从硬件连接、SPI底层配置、驱动层封装到设备初始化、数据读取与同步策略,并深入探讨了数据处理、滤波融合及温度补偿等核心技巧,旨在帮助开发者构建稳定高效的IMU驱动框架,解决BMI088应用中常见的挑战。

quiet的专栏 529

advPython-5

图形化界面 pySimpleGUI 学习

因为热爱,所以坚持。 600

超详细!新手必看STM32-DMA配置与实验(串口使用DMA发送数据)

DMA就是:直接存储器访问。DMA传输数据从一个地址空间复制到另一个地址空间,提供在外设和存储器或者存储器和存储器之间的高速数据传输。

qq_1033275663的博客 2万+

advPython-4

Python-MySQL

因为热爱,所以坚持。 740

在 CentOS7 下安装 Cadence IC验证平台 INCISIVE152

前言 本文所使用的软件 虚拟机软件:VMware Workstation 15 PRO 如何安装? 操作系统:CentOS-7, CentOS-7-x86_64-DVD-1810.iso 如何安装? 简介 INCISIVE Incisive是nc_verilog, nc_sim, nc_lauch,以及ABV,TBV的集合,用于仿真和验证。 InstallScape InstallSc...

沈醉不知的博客 2万+

windows在使用ping 127.0.0.1时出现一般故障的解决方案

本文主要介绍了windows在使用ping 127.0.0.1时出现一般故障的解决方案,希望能对使用windows的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 6万+

advPython-6

图形化界面 pySimpleGUI 练习

因为热爱,所以坚持。 462

UNet改进(52):轴向+代理注意力让UNet既轻快又精准

本文提出了一种改进的UNet架构,通过引入轴向注意力代理模块增强医学图像分割性能。该模块将二维自注意力分解为行列两个一维注意力操作,结合可学习代理节点进行全局信息聚合,在保持计算效率的同时提升模型对长距离依赖的建模能力。实验表明,该方法在多个医学图像数据集上较传统UNet提升3.2%-5.7%的Dice系数,边界质量显著改善。该方案特别适用于具有方向性结构的医学图像分割任务,如血管、器官等,在计算复杂度和分割精度之间实现了良好平衡。

2501_91516851的博客 327

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 399

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

从一段视频到可漫游的 4D 有声场景:思路拆解与最小复现手记

只需一段手机视频,你就能生成可"走进去"的 4D 有声场景:转头时狗叫声方向随之变化,走近时声音更清晰。本文拆解 Video-to-4DAVScene 的核心思路,手把手带你用几十行 Python 搭出最小管线,把视频中的运动物体变成带空间位置的声源,并附上三个真实踩坑的排障经验,代码可直接跑。🎧

helloagent的博客 232

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

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

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

qq_41241612的博客 430

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【每天一个 Python 小案例30】Python 基础知识综合小项目:我的工具盒

作为系列收官,本篇把前 29 篇的知识点合成一个能直接用的命令行工具"我的工具盒":计算器(用 ast 解析表达式,不碰 eval)、单位换算与温度转换(一张换算表 + 特例分支)、记账与分类统计(Decimal + JSON 持久化)、以及用"字典当命令表"把菜单和业务逻辑解耦的主循环。文中对比了 eval 的安全隐患与 ast 白名单的做法,解释了 lambda 闭包在字典里的写法与晚绑定陷阱,并在最后给出整个系列的知识地图,把变量、数据结构、控制流、函数、类、异常、文件、标准库八块内容对应到具体篇目。

xinjiyaya的博客 419

详解Python条件语句

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

2601_96798737的博客 205

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

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

Lxn2zh的博客 159

python如何控制浏览器

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

2601_96797912的博客 76

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

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

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

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

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

2503_94637398的博客 267

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

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

铭渊老黄 134

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

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

木头大左的博客 125

魔塔社区微调训练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嵌入式平台。全程支持国产镜像加速下载与显存优化,实现高效轻量化部署。

浅清秋慕夏的博客 185

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

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

啤酒鸭的物联网开发记录博客 222
上一篇: advPython-1
下一篇: advPython-3
code_stream
博客等级 码龄4年 1238粉丝 169原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值