# PythonLearning3hour **Repository Path**: rainfly123/python-learning3hour ## Basic Information - **Project Name**: PythonLearning3hour - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-04 - **Last Updated**: 2026-08-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1. 域名 baidu.com sina.com 12306.cn .... 2 IP 一、五大 A/B/C/D/E 地址分类(传统分类) 1. A 类地址 网段:0.0.0.0 ~ 127.255.255.255 默认子网掩码:255.0.0.0 /8 可用网段:1.0.0.0 ~ 126.255.255.255 127.x.x.x 保留:本地回环地址 127.0.0.1 本机地址 2. B 类地址 网段:128.0.0.0 ~ 191.255.255.255 默认掩码:255.255.0.0 /16 3. C 类地址 网段:192.0.0.0 ~ 223.255.255.255 默认掩码:255.255.255.0 /24 4. D 类地址(组播 / 多播) 网段:224.0.0.0 ~ 239.255.255.255 不分配主机,用于视频广播、设备发现 5. E 类地址(保留实验) 网段:240.0.0.0 ~ 255.255.255.255 保留研究使用 二、重点:私有 IP(内网地址,不能公网路由) 路由器、家庭局域网、公司内网使用,公网无法访问 A 类私有段 10.0.0.0 ~ 10.255.255.255 掩码 / 8 大型企业内网常用 B 类私有段 172.16.0.0 ~ 172.31.255.255 掩码 / 12 中型企业 C 类私有段(家里最常见) 192.168.0.0 ~ 192.168.255.255 掩码 / 16 家用路由器默认:192.168.1.x 3. ** HTML 超文本标记语言 见demo.html ,** 4. HTTP 超文本传输协议 URL(Uniform Resource Locator)统一资源定位符 作用:用来定位互联网上任意资源(网页、图片、接口、文件)。 域名、IP 都属于 URL 的其中一部分。 协议 https:// 常见:http、https、ftp、file 域名 / IP www.baidu.com(核心,找到服务器) 端口 :443 https 默认 443,http 默认 80;默认端口可以省略 路径 /s 服务器上资源位置 查询参数 ?wd=python 向服务器传递数据,多个参数 ?a=1&b=2 锚点 #top 浏览器本地使用,不会发给服务器,页面内跳转 GET /api/data HTTP/1.1 Host: 127.0.0.1:8080 User-Agent: Mozilla/5.0 Accept: application/json Cookie: token=abc123 Authorization: Bearer xxxxx Connection: keep-alive Referer: "baidu.com" HTTP/1.1 200 OK Content-Type: application/json Content-Encoding: gzip Set-Cookie: token=abcd1234 Cache-Control: max-age=300 Server: nginx Access-Control-Allow-Origin: * content-type:"image/jpeg" date:"Tue, 04 Aug 2026 03:59:47 GMT" etag:"4b7f38aaa69c88cd43371f6c4991adda" expires:"Wed, 05 Aug 2026 16:59:39 GMT" last-modified:"Wed, 13 Mar 2024 15:10:21 GMT" **python -m http.server ** 程序 = 数据 + 算法 数据: 整数, 字符串,浮点, 布尔 , 列表,字典 ,元组 ,类 函数定义 逻辑控制: age = 18 if age > 18: print("成年") elif age == 18: print("刚好成年") else: print("未成年") res = "成年" if age >= 18 else "未成年" for i in range(5): print(i) #break continue i = 0 while i < 5: print(i) i += 1 逻辑运算符 and 并且 or 或者 not 取反 python 运行 print(1 > 0 and 5 < 10) print(1 > 10 or 2 < 5) print(not False) 五、成员 & 身份运算符 in / not in:判断是否包含 python 运行 print(3 in [1,2,3]) #异常 1. 基础结构 try-except python 运行 try: # 可能出错的代码 num = int("abc") except ValueError: # 捕获指定异常后的处理逻辑 print("类型转换失败") 2. 完整语法:try /except/else /finally python 运行 try: a = 1 / 0 except ZeroDivisionError as e: print("捕获异常:", e) else: # 无异常才执行 print("代码正常运行,没有报错") finally: # 无论是否异常,一定会执行(常用于关闭文件、释放资源) print("finally 执行") 3. 捕获多种异常 python 运行 try: f = open("test.txt") except (FileNotFoundError, PermissionError) as err: print("文件异常:", err) ❌ 不推荐:直接裸 except:(捕获所有异常,难以排查 bug) python 运行 # 不推荐写法 try: pass except: pass 4. 主动抛出异常 raise(异常生成) 手动制造异常,校验参数常用 python 运行 age = -5 if age < 0: raise ValueError("年龄不能是负数") 也可以捕获后重新抛出 python 运行 try: 1/0 except ZeroDivisionError: print("发生除零错误") raise # 原样向上抛出 5. 常用内置异常 ValueError:值错误,类型转换失败 TypeError:类型不匹配 ZeroDivisionError:除零错误 FileNotFoundError:文件不存在 IndexError:列表下标越界 KeyError:字典 key 不存在 Exception:大部分常规异常的父类 6. 自定义异常(进阶) 继承 Exception 创建自己的异常类型 python 运行 class LoginError(Exception): pass raise LoginError("账号密码错误") #模块 import os.getcwd() # 当前工作目录 os.mkdir("test") # 创建文件夹 os.path.exists("a.txt") # 判断文件是否存在 os.environ.get("PATH") # 读取环境变量 1. sys.argv 命令行参数列表 sys.argv[0]:脚本名 sys.argv[1:]:传入参数 python 运行 # python test.py hello 123 print(sys.argv) # ['test.py', 'hello', '123'] 2. sys.path 模块搜索路径列表。import 按照此列表寻找包 python 运行 sys.path.append("./libs") # 临时新增路径 3. sys.exit([code]) 终止程序 sys.exit(0) 正常退出 sys.exit(1) 异常退出 本质抛出 SystemExit,可 try 捕获 4. sys.stdin / sys.stdout / sys.stderr 标准输入、标准输出、标准错误 python 运行 line = sys.stdin.readline() # 读取一行 sys.stdout.write("test\n") 5. sys.platform 判断操作系统 win32 → Windows linux → Linux darwin → MacOS python 运行 if sys.platform == "win32": print("Windows") 6. sys.version 获取 Python 版本字符串 python 运行 print(sys.version) 1. GET 请求(最常用) python 运行 url = "https://httpbin.org/get" # params 自动拼接url参数 resp = requests.get(url, params={"name":"test", "age":20}) print(resp.status_code) # 状态码 200、404、500 print(resp.text) # 原始文本(html/字符串) print(resp.json()) # 自动解析json(接口返回json用) print(resp.headers) # 响应头 print(resp.url) # 最终请求地址 2. POST 请求 ① 表单格式 application/x-www-form-urlencoded python 运行 data = {"user":"admin", "pwd":"123456"} resp = requests.post(url, data=data) ② JSON 格式 application/json(前后端接口主流) python 运行 json_data = {"user":"admin", "pwd":"123456"} resp = requests.post(url, json=json_data) 3. 请求头 headers 模拟浏览器,防止被拦截 python 运行 headers = { "User-Agent":"Mozilla/5.0 Chrome/120", "Authorization":"Bearer xxxxxx" } resp = requests.get(url, headers=headers)