Python 语法

一、基础语法规则

1. 注释

Python 的注释分为单行注释和多行注释,用于解释代码,不参与执行:

python

运行

# 这是单行注释(最常用) """ 这是多行注释 可以写多行内容 也常用作字符串定义 """ ''' 这也是多行注释 和双引号效果一致 ''' 
2. 缩进(Python 的灵魂)

Python 不使用{}分隔代码块,而是通过缩进(4 个空格 / 1 个 Tab)区分层级,缩进错误会直接报错:

python

运行

# 正确缩进 if 5 > 3: print("5大于3") # 缩进1级,属于if代码块 if 4 > 2: print("4大于2") # 缩进2级,属于内层if代码块 # 错误缩进(IndentationError) if 5 > 3: print("错误:缺少缩进") 
3. 变量与数据类型

Python 是动态类型语言,变量无需声明类型,赋值即定义:

python

运行

# 基本数据类型 num1 = 10 # 整数(int) num2 = 3.14 # 浮点数(float) name = "Python" # 字符串(str) is_true = True # 布尔值(bool) # 复合数据类型 list1 = [1, 2, 3] # 列表(有序、可变) tuple1 = (1, 2, 3) # 元组(有序、不可变) dict1 = {"name": "Python", "version": 3.10} # 字典(键值对、无序) set1 = {1, 2, 3} # 集合(无序、无重复) 
4. 输入输出
  • print():输出内容到控制台(最常用)
  • input():接收用户输入,返回值默认是字符串

python

运行

# 输出 print("Hello Python") # 输出字符串 print(10 + 20) # 输出计算结果:30 print("版本:", 3.10) # 多参数输出:版本: 3.10 # 输入 name = input("请输入你的名字:") # 等待用户输入 print("你好,", name) # 输出用户输入的内容 # 输入转数字 age = int(input("请输入你的年龄:")) # 将字符串转为整数 print("明年你将是:", age + 1) 

二、流程控制

1. 条件判断(if-elif-else)

python

运行

score = 85 if score >= 90: print("优秀") elif score >= 80: print("良好") # 执行此分支 elif score >= 60: print("及格") else: print("不及格") 
2. 循环
(1)for 循环(遍历可迭代对象)

python

运行

# 遍历列表 fruits = ["苹果", "香蕉", "橙子"] for fruit in fruits: print(fruit) # 依次输出:苹果、香蕉、橙子 # 遍历数字范围(range) for i in range(1, 5): # range(1,5) = [1,2,3,4] print(i) # 遍历字典 student = {"name": "小明", "age": 18} for key, value in student.items(): print(key, ":", value) # 输出:name : 小明 age : 18 
(2)while 循环(条件满足时执行)

python

运行

count = 0 while count < 3: print("count =", count) # 输出0、1、2 count += 1 # 等价于 count = count + 1 # 无限循环(需配合break退出) while True: num = int(input("输入一个数字(输入0退出):")) if num == 0: break # 退出循环 print("你输入的是:", num) 
(3)循环控制关键字
  • break:立即退出整个循环
  • continue:跳过当前循环,执行下一次
  • else:循环正常结束(未被 break 打断)时执行

python

运行

for i in range(5): if i == 3: continue # 跳过i=3,不执行后续代码 if i == 4: break # 退出循环,else不执行 print(i) else: print("循环正常结束") # 此句不会执行(被break打断) 

三、函数定义与调用

Python 通过def关键字定义函数,支持参数、返回值、默认参数等:

python

运行

# 基础函数 def add(a, b): """两数相加(函数文档字符串)""" return a + b # 返回值 # 调用函数 result = add(10, 20) print(result) # 输出30 # 默认参数(调用时可省略) def say_hello(name="Python"): print("你好,", name) say_hello() # 输出:你好, Python say_hello("Java") # 输出:你好, Java # 可变参数 def sum_nums(*args): # *args接收任意个数的位置参数(元组) total = 0 for num in args: total += num return total print(sum_nums(1, 2, 3)) # 输出6 def print_info(**kwargs): # **kwargs接收任意个数的关键字参数(字典) for key, value in kwargs.items(): print(key, ":", value) print_info(name="小明", age=18) # 输出:name : 小明 age : 18 

四、字符串操作

Python 字符串支持多种便捷操作,是日常开发高频考点:

python

运行

# 字符串拼接 str1 = "Hello" str2 = "Python" print(str1 + " " + str2) # 输出:Hello Python # 字符串格式化(3种方式) name = "Python" version = 3.10 # 方式1:%格式化(老式) print("语言:%s,版本:%.2f" % (name, version)) # 方式2:format格式化 print("语言:{},版本:{:.2f}".format(name, version)) # 方式3:f-string(Python3.6+,最推荐) print(f"语言:{name},版本:{version:.2f}") # 常用字符串方法 s = " Python语法 " print(s.strip()) # 去除首尾空格:Python语法 print(s.upper()) # 转大写: PYTHON语法 print(s.replace("语法", "入门")) # 替换: Python入门 print(s.split("n")) # 分割成列表:[' Pytho', '语法 '] 

五、列表操作(最常用的复合类型)

列表是 Python 最核心的容器类型,支持增删改查:

python

运行

lst = [1, 2, 3, 4] # 增 lst.append(5) # 末尾添加:[1,2,3,4,5] lst.insert(1, 6) # 指定位置插入:[1,6,2,3,4,5] # 删 lst.remove(6) # 删除指定值:[1,2,3,4,5] lst.pop() # 删除末尾元素:[1,2,3,4] del lst[0] # 删除指定索引:[2,3,4] # 改 lst[0] = 10 # 修改指定索引:[10,3,4] # 查 print(lst[1]) # 按索引查:3 print(3 in lst) # 判断是否存在:True print(lst.index(3)) # 查找值的索引:1 # 切片(左闭右开) print(lst[1:3]) # 取索引1-2:[3,4] print(lst[:2]) # 取前2个:[10,3] print(lst[1:]) # 从索引1取到末尾:[3,4] 

六、异常处理

Python 用try-except捕获和处理异常,避免程序崩溃:

python

运行

try: # 可能出错的代码 num = int(input("请输入一个数字:")) print(10 / num) except ValueError: # 处理输入非数字的异常 print("错误:请输入有效的数字!") except ZeroDivisionError: # 处理除以0的异常 print("错误:不能除以0!") except Exception as e: # 捕获所有其他异常(万能异常) print("未知错误:", e) finally: # 无论是否出错,都会执行的代码 print("程序执行完毕") 

总结

  1. 核心规则:Python 依赖缩进区分代码块,注释用#/""",变量无需声明类型;
  2. 流程控制:条件判断用if-elif-else,循环用for(遍历)/while(条件);
  3. 核心数据类型:列表(可变)、元组(不可变)、字典(键值对)是高频使用的复合类型;
  4. 实用技巧:字符串格式化优先用 f-string,异常处理用try-except保证程序稳定性。

Read more

安装openclaw时出现npm error code ENOENT npm error syscall spawn git报错的解决方案

安装openclaw时出现npm error code ENOENT npm error syscall spawn git报错的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为ZEEKLOG博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。 本文主要介绍了安装openclaw时出现npm error code ENOENT npm error syscall spawn git报错的解决方案,希望能对使用openclaw的同学们有所帮助。 文章目录 * 1. 问题描述 * 2. 解决方案 1. 问题描述 今天在使用命令安装openclaw时,却出现了npm error code ENOENT和npm error syscall spawn git的错误提示,具体报错信息如下图所示: 在经过了亲身的实践后,终于找到了解决问题的方案,最终将逐步的操作过程总结如下。希望能对遇到同样bug的同学们有所帮助。

By Ne0inhk
最新版 GLM-5 全栈实战全教程:从本地开源部署到 API 接入(多 Agent 架构 + 全栈编程 + 就业级项目实战)

最新版 GLM-5 全栈实战全教程:从本地开源部署到 API 接入(多 Agent 架构 + 全栈编程 + 就业级项目实战)

一、背景与技术概述 随着开源大模型技术的快速迭代,GLM-5 系列凭借优秀的指令遵循能力、长上下文支持、轻量化部署适配性与商用友好的开源协议,成为企业级AI落地与个人开发者技术进阶的核心选型之一。 本文以问题驱动为核心,完整覆盖从本地开源部署到工程化API封装、多Agent架构设计、全栈项目实战的全流程,解决开发者在大模型落地过程中面临的部署门槛高、工程化能力不足、Agent架构落地难、全栈项目缺乏可复用方案等核心痛点。本文所有实操步骤均经过生产环境验证,代码可直接复用,适配就业级项目的技术要求与企业落地标准。 1.1 GLM-5 核心技术特性 * 开源协议:Apache 2.0 协议,支持商用二次开发,无额外授权门槛 * 核心能力:支持128K超长上下文窗口,原生支持函数调用、多模态理解、结构化输出,指令遵循准确率较前代提升42% * 部署适配:原生支持FP8/INT4/AWQ/GPTQ多精度量化,最低可在16G显存环境完成流畅推理,适配消费级显卡与企业级GPU集群 * 性能优化:基于稀疏注意力架构与PagedAttention机制,推理吞吐量较同参数量模型提升3倍,

By Ne0inhk
爆肝 2 天,用 GLM5 开发了 OpenClaw 接入微信 bot,已开源!

爆肝 2 天,用 GLM5 开发了 OpenClaw 接入微信 bot,已开源!

这是苍何的第 493 篇原创! 大家好,我是苍何。 OpenClaw,这个 GitHub 上 18 万 Star 的怪物级开源项目,你们应该都听过了吧? 飞书能接、钉钉能接、企业微信能接、QQ 能接、Discord 能接…… 但偏偏最多人用的「微信个人号」,它不支持。 我翻遍了 GitHub、掘金、知乎,找到的方案要么是企业微信绕一圈,要么是用微信 Web 协议搞,动不动就封号。 说实话,这谁顶得住? 天天在微信上跟朋友聊天、在群里吹水,结果想接个 OpenClaw 都这么费劲? 麻了。 于是我决定自己干。 「爆肝 2 天,我把 OpenClaw 接入了微信个人号,并且已经开源了。」 地址:

By Ne0inhk
【AI绘画】Midjourney进阶:色相详解

【AI绘画】Midjourney进阶:色相详解

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳]本文专栏: AI绘画 | Midjourney 文章目录 * 💯前言 * 💯Midjourney中的色彩控制 * 为什么要控制色彩? * 为什么要在Midjourney中控制色彩? * 💯色相 * 红 * 橙 * 黄 * 绿 * 蓝 * 紫 * 黑与白 * 💯小结 💯前言 在设计领域中,色相作为色彩的重要维度,直接决定了作品的视觉基调与情感表达。通过对色相的深入理解与灵活运用,设计师可以在作品中精准传递信息,激发观众的情感共鸣。Midjourney 作为一款强大的AI绘画工具,为设计师提供了高效探索色相表现的创作平台,使复杂的色彩控制变得直观且富有创意。 本篇文章将以色相为核心,从色彩心理学与实际应用出发,结合 Midjourney 的提示词设置,详细解析不同色相在设计中的作用与特点。无论是自然主题的绿、蓝,还是富有情感张力的红、紫,每一种色相都在设计中扮演着不可替代的角色。 Midjourney官方使用手册 💯Midjourney中的色彩控制 在 Mi

By Ne0inhk