news 2026/4/23 13:48:56

python3语法学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python3语法学习

变量定义

left, right = 0, len(nums) - 1

变量运算

运算符描述示例 (a=10, b=3)

/除(结果始终为浮点数)a / b3.3333...

%取模(返回余数)a % b1

**幂运算(指数)a ** b1000

//整除(向下取整)a // b3

range:

1. 语法格式

range共有三种调用方式:

  1. range(stop):生成从 0 开始、到stop结束(不包含stop)的序列。

  2. range(start, stop):生成从start开始、到stop结束(不包含stop)的序列。

  3. range(start, stop, step):生成从start开始、到stop结束、步长为step的序列。


2. 参数说明

  • start(可选):序列的起始数值,默认为 0。

  • stop(必选):序列的终止数值。注意:生成的序列不包括这个值。

  • step(可选):步长,即相邻两个数之间的间隔,默认为 1。


3. 代码示例

示例 C:指定步长(三参数)
for i in range(0, 10, 2): print(i) # 输出:0, 2, 4, 6, 8
示例 D:递减序列(负步长)
for i in range(5, 0, -1): print(i) # 输出:5, 4, 3, 2, 1

💡 进阶小知识

  • 内存优化:在 Python 3 中,range()返回的是一个“迭代对象”(Iterator),它不会在内存中真的创建一个包含所有数字的列表,而是在循环到哪一步时才计算出哪一个数。这使得它处理极大的范围(如range(1000000))时非常节省内存。

函数(Function):代码的逻辑单元

1. 基本语法结构
def 函数名(参数1: 类型, 参数2: 类型 = 默认值) -> 返回类型: """ 这里是文档字符串(Docstring),描述函数的功能。 """ # 逻辑代码 结果 = 参数1 + 参数2 return 结果
2. 核心语法要点
  • def关键字:声明开始定义函数。

  • 参数 (Arguments)

    • 位置参数:调用时按顺序传入。

    • 默认参数:如参数2: 类型 = 默认值,如果调用时不传,就用默认值。

  • 类型注解 (Type Hints):如: int-> float,这不是强制的,但在工程中能极大提高代码可读性,防止传错数据。

  • 返回类型也是不一定有的,因为有些函数不一定需要return

  • 返回值 (return):函数执行完后交出的“果实”。如果没有写return,函数默认返回None

3. 示例:相机内参转换函数
def convert_pixel_to_mm(pixel_coord: int, focal_length: float, depth: float) -> float: """ 根据小孔成像原理将像素坐标转换为物理毫米坐标 """ if focal_length == 0: return 0.0 # 公式:真实距离 = (像素偏移 * 深度) / 焦距 mm_coord = (pixel_coord * depth) / focal_length return mm_coord # 调用函数 x_mm = convert_pixel_to_mm(320, 600.02, 0.5) print(f"转换后的物理坐标为: {x_mm} mm")

类(Class):对象的蓝图

类是一种更高级的组织形式。它把**数据(属性)处理数据的函数(方法)**打包在一起。

1. 基本语法结构
class 类名: def __init__(self, 初始参数): """ 构造方法:创建对象时自动执行,用于给对象“贴标签”(初始化属性)。 """ self.属性1 = 初始参数 def 方法名(self, 其他参数): """ 实例方法:第一个参数必须是 self。 """ # 可以通过 self 访问类内部的属性 return self.属性1 + 其他参数
2. 核心语法要点
  • __init__方法:它是类的“初始化办公室”。你希望这个类一诞生就拥有的数据(如机械臂 IP、模型路径),都放在这里。

  • self参数(极其重要)

    • 它代表实例化的那个对象本身

    • 你可以把它想象成“我的”。self.ip就是“我的 IP”。

    • 在类内部的所有函数(方法)中,第一个参数都必须是self,这样它们才能互相沟通数据。

  • 实例化:类只是图纸,bot = RobotControl()才是根据图纸盖出来的房子。

3. 示例:机械臂控制类
class ArmHandler: def __init__(self, ip_address: str, home_pos: list): """初始化机械臂的连接信息和安全位置""" self.ip = ip_address self.home_joints = home_pos self.is_connected = False print(f"系统:已记录机械臂 {self.ip} 的配置") def connect(self): """模拟连接机械臂""" # 这里会写具体的 SDK 连接代码 self.is_connected = True print(f"系统:成功连接到 {self.ip}") def move_to_safe(self): """将机械臂移动到预设的安全位置""" if self.is_connected: print(f"动作:正在移动到 Home 点 {self.home_joints}") else: print("错误:机械臂未连接,无法移动") # 使用类 # 1. 实例化 my_bot = ArmHandler("192.168.0.10", [0, -45, 90, 0, 0, 0]) # 2. 调用方法 my_bot.connect() my_bot.move_to_safe()

三、 类与函数的区别与协作

特性函数 (Function)类 (Class)
本质一个工具/动作一个实体/管理者
状态保存执行完就销毁,不记得上次发生了什么属性会一直保存,直到对象被销毁
主要用途纯逻辑计算(如坐标转换、数学公式)复杂的设备管理(如相机、机械臂、AI模块)
调用方式直接调用func()先实例化obj = Class(),再调用obj.method()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 10:48:19

实例控制台设置告警阈值预防GLM-4.6V-Flash-WEB资源耗尽

实例控制台设置告警阈值预防GLM-4.6V-Flash-WEB资源耗尽 在当前AI服务大规模落地的背景下,一个看似简单的图像问答功能背后,可能正承受着成百上千并发请求的压力。某在线教育平台曾因未监控GPU使用情况,在一次直播课中突然触发模型服务崩溃—…

作者头像 李华
网站建设 2026/4/23 12:12:47

GitHub镜像网站推荐列表更新:新增GLM-4.6V-Flash-WEB专属通道

GitHub镜像网站推荐列表更新:新增GLM-4.6V-Flash-WEB专属通道 在当今AI应用快速落地的浪潮中,一个现实问题始终困扰着开发者:如何让强大的多模态模型真正“跑得起来”?不是在论文里,也不是在顶级GPU集群上&#xff0c…

作者头像 李华
网站建设 2026/4/20 16:27:32

ABAQUS二维混凝土细观模型的数字化重建技术(一)几何重构

在基于ABAQUS开展混凝土细观力学模拟时,数字化重建技术是构建能够真实反映混凝土内部多相结构(如骨料、砂浆、界面过渡区ITZ及孔隙等)的关键前置步骤。混凝土细观模型研究中主流的数字化重建方法主要分为以下两类:一是几何重构法&…

作者头像 李华
网站建设 2026/4/22 17:54:08

智谱新作GLM-4.6V-Flash-WEB实测:低延迟多模态推理有多强?

智谱新作GLM-4.6V-Flash-WEB实测:低延迟多模态推理有多强? 在今天的AI应用战场上,响应速度早已不是锦上添花的性能指标,而是决定用户体验生死的关键门槛。想象这样一个场景:用户上传一张产品图,问“这个包是…

作者头像 李华
网站建设 2026/4/23 13:30:47

HTML5 Drag Drop上传图片至GLM-4.6V-Flash-WEB分析接口

HTML5 Drag & Drop上传图片至GLM-4.6V-Flash-WEB分析接口 在现代Web应用中,用户对“拖一张图就能立刻得到反馈”的交互体验越来越习以为常。无论是客服上传截图、学生拍照搜题,还是内容平台自动识别图像风险,背后都离不开一个高效、轻量、…

作者头像 李华
网站建设 2026/4/23 11:54:37

GLM-4.6V-Flash-WEB一键推理脚本使用教程(附Jupyter操作步骤)

GLM-4.6V-Flash-WEB一键推理脚本使用教程(附Jupyter操作步骤) 在多模态大模型快速演进的今天,一个核心挑战始终摆在开发者面前:如何将强大的视觉语言模型高效落地到实际业务中?许多开源模型虽然性能亮眼,但…

作者头像 李华