首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >网工转编程 · 第2期

网工转编程 · 第2期

作者头像
知孤云出岫
发布2026-05-11 12:57:47
发布2026-05-11 12:57:47
960
举报

🧠 一、为什么“函数 + 数据结构”是网工自动化核心?

很多人学 Python:

  • 会写 print
  • 会写 if
  • 会写 for

但真正开始写自动化脚本时:

❌ 代码越来越乱

❌ 重复代码越来越多

❌ 无法管理设备信息


而真正的自动化核心:

技术

作用

函数

封装功能

列表 list

批量处理

字典 dict

管理设备数据


👉 本质:

函数 = 自动化能力数据结构 = 批量管理能力


📦 二、函数(Function)深入讲解


📌 1. 什么是函数?

👉 函数本质:

“把一段代码封装起来,重复调用”


🧪 示例(不使用函数)

代码语言:javascript
复制
print("正在检测 192.168.1.1")
print("正在检测 192.168.1.2")
print("正在检测 192.168.1.3")

👉 问题:

  • 重复代码太多
  • 不方便维护

✅ 使用函数

代码语言:javascript
复制
def check_ip(ip):
    print(f"正在检测 {ip}")

check_ip("192.168.1.1")
check_ip("192.168.1.2")

👉 这就是:

自动化思想的开始


📌 2. 函数基本语法

代码语言:javascript
复制
def 函数名():
    代码

🧪 示例

代码语言:javascript
复制
def hello():
    print("Hello Network Engineer")

hello()

📌 3. 参数(非常重要🔥)

👉 参数:

让函数更灵活


🧪 示例

代码语言:javascript
复制
def ping(ip):
    print(f"正在 ping {ip}")

ping("192.168.1.1")

📌 多参数

代码语言:javascript
复制
def connect(ip, port):
    print(f"连接 {ip}:{port}")

connect("192.168.1.1", 22)

📌 4. 返回值 return(重点🔥)

👉 return:

函数处理后的结果


🧪 示例

代码语言:javascript
复制
def add(a, b):
    return a + b

result = add(3, 5)

print(result)

🎯 网工理解方式

👉 类似:

  • 输入设备IP
  • 返回检测结果

📌 5. 默认参数

代码语言:javascript
复制
def ssh_connect(ip, port=22):
    print(f"连接 {ip}:{port}")

👉 不写端口时默认22


📌 6. 局部变量与全局变量


局部变量

代码语言:javascript
复制
def test():
    ip = "192.168.1.1"

👉 只能函数内部使用


全局变量

代码语言:javascript
复制
ip = "192.168.1.1"

👉 整个程序都能用


📌 7. 为什么函数很重要?

因为自动化脚本:

  • ping检测
  • SSH连接
  • 配置下发

本质都是:

👉 “封装成函数后重复调用”


📚 三、列表(List)——批量处理核心


📌 1. 什么是列表?

👉 列表:

存储多个数据


🧪 示例

代码语言:javascript
复制
ips = [
    "192.168.1.1",
    "192.168.1.2",
    "192.168.1.3"
]

📌 2. 遍历列表(重点🔥)

代码语言:javascript
复制
for ip in ips:
    print(ip)

👉 这就是:

批量处理设备的核心


📌 3. 列表常用操作


添加元素

代码语言:javascript
复制
ips.append("192.168.1.4")

删除元素

代码语言:javascript
复制
ips.remove("192.168.1.2")

查看长度

代码语言:javascript
复制
print(len(ips))

索引访问

代码语言:javascript
复制
print(ips[0])

📌 4. 列表实战(网工场景)


🧪 批量检测设备

代码语言:javascript
复制
ips = [
    "192.168.1.1",
    "192.168.1.2",
    "192.168.1.3"
]

for ip in ips:
    print(f"正在检测 {ip}")

📚 四、字典(Dict)——设备管理核心🔥


📌 1. 什么是字典?

👉 字典:

键值对数据结构

类似:

代码语言:javascript
复制
设备名 -> IP

🧪 示例

代码语言:javascript
复制
device = {
    "name": "R1",
    "ip": "192.168.1.1",
    "port": 22
}

📌 2. 获取数据

代码语言:javascript
复制
print(device["ip"])

📌 3. 修改数据

代码语言:javascript
复制
device["port"] = 2222

📌 4. 添加数据

代码语言:javascript
复制
device["vendor"] = "Huawei"

📌 5. 遍历字典

代码语言:javascript
复制
for key, value in device.items():
    print(key, value)

🎯 网工理解方式(非常重要)

字典非常适合:

数据

示例

设备信息

IP / 用户名

接口状态

up/down

配置参数

VLAN/OSPF


📦 五、列表 + 字典组合(核心🔥🔥🔥)

👉 自动化脚本最常见结构:

代码语言:javascript
复制
devices = [
    {
        "name": "R1",
        "ip": "192.168.1.1"
    },
    {
        "name": "SW1",
        "ip": "192.168.1.2"
    }
]

🧪 遍历设备

代码语言:javascript
复制
for device in devices:
    print(device["name"], device["ip"])

👉 这已经是:

真正自动化运维脚本的雏形


💻 六、实战案例(非常关键🔥)

🎯 项目:网络设备巡检工具(基础版)


功能:

✔ 存储设备IP ✔ 批量检测 ✔ 输出状态


🧪 完整代码

代码语言:javascript
复制
devices = [
    {"name": "R1", "ip": "192.168.1.1"},
    {"name": "SW1", "ip": "192.168.1.2"},
    {"name": "FW1", "ip": "192.168.1.3"}
]

def check_device(device):
    print(f"正在检测设备: {device['name']}")
    print(f"IP地址: {device['ip']}")
    print("状态: 在线")
    print("-" * 30)

for device in devices:
    check_device(device)

🎯 七、自动化思维(真正核心)

传统网工:

代码语言:javascript
复制
登录设备 → 查看状态 → 下一台

自动化思维:

代码语言:javascript
复制
设备列表 → 循环 → 函数处理

👉 本质:

“人操作” → “程序批量执行”


⚠️ 八、新手常见问题


❌ 1. 函数不会传参数

错误:

代码语言:javascript
复制
def test():
    print(ip)

❌ 2. 列表与字典混淆

记忆方法:

类型

特点

list

多个数据

dict

键值关系


❌ 3. 不会遍历数据

👉 多写:

代码语言:javascript
复制
for item in data:

📚 九、今天你必须掌握的能力


✔ 会写函数

✔ 会传参数

✔ 会使用 return

✔ 会使用 list

✔ 会使用 dict

✔ 会遍历数据


| Flask | 运维平台开发 | | Requests | API调用 |


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 智网研习社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🧠 一、为什么“函数 + 数据结构”是网工自动化核心?
  • 📦 二、函数(Function)深入讲解
  • 📌 1. 什么是函数?
    • 🧪 示例(不使用函数)
    • ✅ 使用函数
  • 📌 2. 函数基本语法
    • 🧪 示例
  • 📌 3. 参数(非常重要🔥)
    • 🧪 示例
    • 📌 多参数
  • 📌 4. 返回值 return(重点🔥)
    • 🧪 示例
  • 🎯 网工理解方式
  • 📌 5. 默认参数
  • 📌 6. 局部变量与全局变量
    • 局部变量
    • 全局变量
  • 📌 7. 为什么函数很重要?
  • 📚 三、列表(List)——批量处理核心
  • 📌 1. 什么是列表?
    • 🧪 示例
  • 📌 2. 遍历列表(重点🔥)
  • 📌 3. 列表常用操作
    • 添加元素
    • 删除元素
    • 查看长度
    • 索引访问
  • 📌 4. 列表实战(网工场景)
    • 🧪 批量检测设备
  • 📚 四、字典(Dict)——设备管理核心🔥
  • 📌 1. 什么是字典?
    • 🧪 示例
  • 📌 2. 获取数据
  • 📌 3. 修改数据
  • 📌 4. 添加数据
  • 📌 5. 遍历字典
  • 🎯 网工理解方式(非常重要)
  • 📦 五、列表 + 字典组合(核心🔥🔥🔥)
  • 🧪 遍历设备
  • 💻 六、实战案例(非常关键🔥)
  • 🎯 项目:网络设备巡检工具(基础版)
    • 功能:
    • 🧪 完整代码
  • 🎯 七、自动化思维(真正核心)
  • ⚠️ 八、新手常见问题
    • ❌ 1. 函数不会传参数
    • ❌ 2. 列表与字典混淆
    • ❌ 3. 不会遍历数据
  • 📚 九、今天你必须掌握的能力
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档