Python 基础语法完全指南:变量、类型、运算符与输入输出(零基础入门)

Python 基础语法完全指南:变量、类型、运算符与输入输出(零基础入门)
在这里插入图片描述

🔥草莓熊Lotso:个人主页
❄️个人专栏: 《C++知识分享》《Linux 入门到实践:零基础也能懂》
✨生活是默默的坚持,毅力是永久的享受!


🎬 博主简介:

在这里插入图片描述

文章目录


前言:

Python 以简洁易懂的语法成为编程入门的首选语言,但对于零基础小白来说,从 “计算器” 到 “能交互的程序”,需要先吃透核心基础语法。变量如何定义?数据类型有哪些区别?运算符怎么用才不踩坑?输入输出如何与用户交互?本文从最基础的常量表达式入手,层层拆解变量定义、数据类型、注释规范、输入输出和各类运算符,附大量实操案例和避坑指南,帮你快速搭建 Python 语法框架,轻松入门编程。

一. 常量与表达式:Python 当计算器使用

Python 最基础的用法就是作为计算器,支持常见算术运算,语法和日常数学算式高度一致。

1.1 核心算术运算符

支持 +(加)、-(减)、*(乘)、/(除)、()(括号),遵循 “先乘除后加减” 的运算优先级:

print(1+2-3)print(1+2*3)# Python里面整数/整数跟C++中不一样,整数除以整数也可以得到浮点数print(1+2/3)
在这里插入图片描述

1.2 关键注意点

  • 与 C/Java 不同2 / 3 结果是 0.666...(小数),而非整数截断;
  • 运算符与数字之间可加空格:推荐加 1 个,美观易读;
  • 表达式:形如 1 + 2 * 3 的算式称为表达式,运算结果为返回值;1、2、3 是字面值常量。

1.3 实际案例:求平均值

# 计算下面四个数的平均成绩print((67.5+73.5+54+86)/4)
在这里插入图片描述

二. 变量:保存数据的 “容器”

当需要存储中间结果(如计算方差时的平均值),就需要用到变量 —— 相当于内存中的 “房间”,可存放任意数据。

2.1 变量定义与使用

语法变量名 = 数据= 是赋值运算符(将右侧数据存入左侧变量):

# 以下代码在求四个数字的方差 average =(67.5+73.5+54+86)/4# ** 表示乘方 total =(67.5- average)**2+(73.5- average)**2+(54- average)**2+(86- average)**2# 除以 项数-1 result = total /3print(result)
在这里插入图片描述
  • average,total,result 均为变量
  • ** 表示乘方,**2 即求平方;
  • 变量可重复赋值,新值会覆盖旧值
a =10print(a)# 输出:10 a =20print(a)# 输出:20

变量可以视为是一块能够容纳数据的空间,这个空间往往对应到 “内存” 这样的硬件设备上。

在这里插入图片描述

2.2 变量命名规则

定义变量

# 正确的变量命名 a =10 a1 =10 a_09 =9# 错误的变量命名# 1a = 9# if = 20

硬性规则(必须遵守):

  • 由字母、数字、下划线构成,不能以数字开头;
  • 不能与 Python 关键字(如printif)重复;
  • 大小写敏感(numNum 是两个不同变量)。

软性规则(建议遵守):

  • 用有描述性的单词(如avg表示平均值,total表示总和);
  • 多单词用驼峰命名法(如personInfototalCount),首字母小写,后续单词首字母大写。
  • 还可以用person_infototal_count这样的写法
# 创建变量 a =10 b = a print(b)# 修改变量 a =20print(a)
在这里插入图片描述


这里我用的变量名还是 a,b这种是因为场景比较简单,也没啥需要特殊含义的表示。


三. 数据类型:给数据 “分类”

变量存储的数据有不同类型,类型决定了数据的存储方式和可执行的操作。Python 无需显式声明类型,赋值时自动确定(动态类型特性)
注意:和 C++/Java 等语言不同,Python变量的类型不需要显示指定,而是在赋值的时候确定的。

3.1 四大基础类型

(1)整数(int)

  • 表示整数,无范围上限(内存足够即可);
  • 用法a = 10、b = -5、c = 1000000000000。

(2)浮点数(float)

  • 表示小数,Python 中只有float(等价于其他语言的double,双精度,精确到小数点后 15 位);
  • 用法a = 0.5、b = 67.5、c = 3.1415926。

(3)字符串(str)

  • 表示文本,用单引号 ' ' 或双引号 " " 包裹(两者等价);
  • 核心操作
a ='hello' b ="world"print(len(a))# 输出:5(len()函数获取字符串长度)print(a + b)# 输出:helloworld(+表示字符串拼接)
  • 注意:字符串不能与整数 / 浮点数直接相加。

(4)布尔值(bool)

  • 表示 “真 / 假”,仅两个取值:True(真)、False(假);
  • 用法a = True、b = False,常用于逻辑判断

3.2类型相关操作:

  • 查看类型type(变量) 函数;
  • 类型转换int()、float()、str()、bool();
  • 动态类型特性:变量类型可在运行中改变(双刃剑,灵活但需谨慎)
    • 对于中小程序,可以大大的减少代码量(比如写一段代码就可以同时支持多个类型)
    • 对于大型程序,则提高了模块之间的交互成本(程序员 A 提供的代码难以被 B 理解)
a =10print(type(a)) b =0.5print(type(b))# 双引号和单引号都可以 c ='hello'print(type(c)) d ="hello"print(type(d)) e ='My name is "Lotso" 'print(type(e)) f =''' My 'name' is "Lotso" '''print(f)print(len(d)) a1 ='hello' a2 ='world'print(a1 + a2) c1 =True c2 =Falseprint(type(c1))print(type(c2))# 输出结果:<class'int'><class'float'><class'str'><class'str'><class'str'> My 'name'is"Lotso"5 helloworld <class'bool'><class'bool'>

四. 注释:给代码 “加说明”

注释是不执行的代码,用于解释程序逻辑,方便自己和他人理解。

4.1 两种注释语法

(1)单行注释

  • # 开头,注释整行:
# 计算4个数字的方差(单行注释) avg =(67.5+89.0+12.9+32.2)/4

(2)文档字符串(多行注释)

  • 用三引号 """ """''' ''' 包裹,支持多行:
""" 这是文档字符串(多行注释) 功能:计算4个分数的方差 步骤:1. 求平均值 2. 计算平方和 3. 求方差 """ total =(67.5- avg)**2+(89.0- avg)**2 result = total /3

4.2 注释规范

  • 内容准确:注释内容要和代码一致,匹配,并在代码修改时及时更新;
  • 篇幅合理:注释不要太精简也不要太冗长,点到为止;
  • 使用中文:国内开发首选中文注释;
  • 积极向上:避免负能量内容。

五. 输入输出:与用户交互

程序需要接收用户输入,再展示结果,核心用 input()(输入)和 print()(输出)函数。

  • 用户把信息传递给程序的过程,称为 “输入”。
  • 程序把结果展示给用户的过程,称为 “输出”。

输入输出最基本的方法就是控制台,用户通过控制台输入一些字符串,程序再通过控制台打印出一些字符串。

5.1 输出(print 函数)

  • 输出变量 / 常量print(变量名)print(常量)
  • 格式化输出(推荐 f-string,这个就和C++/Java不一样了):用 f'字符串{变量}' 内嵌变量 / 表达式:
a =10print(a) b ='hello'print(b) c =Trueprint(c) a =10# 希望使用 print 打印出 "a = 10" 这样的内容# 我们希望把数字和字符串混在一起打印print(f"a = {a}")print(f"a = {a +10}")
在这里插入图片描述

5.2 输入(input 函数)

  • 语法变量 = input('提示信息')
  • 注意input() 的返回值是字符串类型,需手动转换为其他类型才能进行算术运算:
# 通过控制台,来输入一个数据# num = input("Enter a number: ")# # 这个类型始终是一个str,如果需要计算就要转换# print(type(num))# print(f"num = {num}")# 输入两个数,计算他们相加的结果 a =input('Enter the First number: ') b =input('Enter the Second number: ')# a = int(a)# b = int(b)# print(f"a + b = {a + b}")print(f"a + b = {int(a)+int(b)}")

5.3 实操案例:求 4 个小数的平均值

#输入四个小数,求这四个小数的平均值 a =input('Enter the First number: ') b =input('Enter the Second number: ') c =input('Enter the Third number: ') d =input('Enter the Fourth number: ') a =float(a) b =float(b) c =float(c) d =float(d) avg =(a + b + c + d)/4print(f"The average is: {avg}")
在这里插入图片描述

六. 运算符:Python 的 “运算工具库”

除了算术运算符,Python 还有关系运算符、逻辑运算符、赋值运算符等,覆盖各类运算需求。

6.1 算术运算符(补充)

除了+,-,*,/ 基础运算,还有 3 个常用运算符:

  • %:求余数(不是百分数):print(7 % 2) → 输出 1;
  • **:求乘方:print(4 ** 2) → 输出 16,print(4 ** 0.5) → 输出 2.0(开平方);
  • //:取整除法(向下取整,舍弃小数):print(7 // 2) → 3,print(-7 // 2) → -4。
result =(1+2)*3print(f"result = {result}")# 注意一: 在 Python 中, 0 不能作为除数,否则会抛出异常# print(f"10 / 0 = {10 / 0}")# print(f"10 / 0.0 = {10 / 0.0}")# 报错信息# Traceback (most recent call last):# File "D:\Gitee.code\python-fundamentals-\PythonProject\2025--11--18\code10.py", line 5, in <module># print(f"10 / 0 = {10 / 0}")# ~~~^~~# ZeroDivisionError: division by zero# 注意二: 在 Python 中整数除以整数,结果可能是小数,而不会截断print(f"1 / 2 = {1/2}")# 注意三: % 表示求余数,余数不可能大于除数print(f"7 % 3 = {7%3}")# 注意四: ** 表示乘方语言,既能支持乘方,也能支持开方print(f"4 ** 2 = {4**2}")print(f"4 ** 0.5 = {4**0.5}")# 注意五: // 地板除法(取整除法),会针对计算的结果进行 “向下取整”print(f"7 // 2 = {7//2}")print(f"-7 // 2 = {-7//2}")
在这里插入图片描述


在这里插入图片描述

6.2 关系运算符(比较运算)

用于比较两个操作数之间的关系,返回布尔值(True/False):

运算符含义示例结果
<小于10 < 20True
<=小于等于10 <= 10True
>大于10 > 20False
>=大于等于10 >= 20False
==等于10 == 20False
!=不等于10 != 20True

注意

  • 字符串可比较(按字典序)'hello' < 'world' → True;
  • 支持连续小于或者大于这类写法 a < b < c
  • 浮点数不要用==判断相等(存在精度误差,在误差范围内就是True,False)
# a = 10# b = 20# a = 'hello'# b = 'world'# 中文也可以比较,但是没有意义# a = '你好'# b = '世界'# print(a < b)# print(a > b)# print(a <= b)# print(a >= b)# print(a == b)# print(a != b)print(0.1+0.2==0.3)print(0.1)print(0.2)print(0.1+0.2)print(0.3) a =0.1+0.2 b =0.3# 这个代码是看 a - b 差是否是一个非常小的数字,是否在误差范围之内# python是支持这种写法的,C++/Java都不行print(-0.000001<(a - b)<0.000001)
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述

6.3 逻辑运算符(组合判断)

用于组合多个关系判断,返回布尔值

  • and:并且(一假则假):10 < 20 and 20 < 30 → True;
  • or:或者(一真则真):10 > 20 or 20 < 30 → True;
  • not:逻辑取反:not 10 < 20 → False。

短路求值(很重要,而且C++和Java都有这个)

  • and 左侧为 False 时,右侧不再执行;
  • or 左侧为 True 时,右侧不再执行:

实战代码:

a =10 b =20 c =30# 并且 (一假即为假)# print(a < b and b < c) # 简化print(a < b < c)print(a < b and b > c)# 或者 (一真则为真)print(a > b or b < c)print(a < b or b > c)print(a > b or b < c)# 逻辑取反print(not a < b)print(not a > b)# 短路规则# a > b 为假,后面的直接不计算,所以不会报错print(a > b and10/0==1)# a < b 为真,后面的直接不计算,所以不会报错print(a < b or10/0==1)在这里插入代码片 
在这里插入图片描述
在这里插入图片描述

6.4 赋值运算符

  • 基础赋值a = 10
  • 链式赋值a = b = 10(a 和 b 都赋值为 10);
  • 多元赋值a, b = 10, 20(快速交换变量:a, b = b, a);
  • 复合赋值a += 1(等价于a = a + 1),同理还有 -=、*=、/=、%=、**=、//=

注意
Python 没有 ++-- 自增 / 自减运算符,用 a += 1、a -= 1 替代。

实操代码:

# # 链式赋值# a = b = 20# # 多元赋值# a, b = 10,20 a =10 b =20# 实现交换a,b的逻辑# tmp = a# a = b# b = tmp# print(a,b)# 使用多元赋值,直接一步到位完成交换 a, b = b, a print(a,b)
在这里插入图片描述
a =10 a = a +1 a +=1# -=, *=, /=, **=, %=, //=# ++a# a++# --aprint(a)
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
  • 当然按除了上述之外,Python还有一些其他的运算符,比如身份运算符(is,is not),成员运算符(in,not in),位运算符(&|~^<<>>)等,大家感兴趣的可以自己先去了解一下。

七. 常见坑点总结与自测练习

7.1 常见坑点

  1. 除法结果默认是小数,需整数结果用 //;
  2. 字符串不能与数字直接相加,需先转换类型;
  3. 浮点数比较相等用 “误差范围”,而非 ==;
  4. input() 返回字符串,算术运算前必须转换类型;
  5. 变量命名不能以数字开头,不能与关键字重复。

7.2 自测练习

在这里插入图片描述

结尾:

🍓 我是草莓熊 Lotso!若这篇技术干货帮你打通了学习中的卡点: 👀 【关注】跟我一起深耕技术领域,从基础到进阶,见证每一次成长 ❤️ 【点赞】让优质内容被更多人看见,让知识传递更有力量 ⭐ 【收藏】把核心知识点、实战技巧存好,需要时直接查、随时用 💬 【评论】分享你的经验或疑问(比如曾踩过的技术坑?),一起交流避坑 🗳️ 【投票】用你的选择助力社区内容方向,告诉大家哪个技术点最该重点拆解 技术之路难免有困惑,但同行的人会让前进更有方向~愿我们都能在自己专注的领域里,一步步靠近心中的技术目标! 

结语:Python 基础语法的核心是 “简洁直观”,变量、类型、运算符、输入输出是搭建所有程序的基石。掌握这些内容后,你就能编写简单的计算程序、与用户交互的脚本,为后续学习循环、判断、函数打下基础。建议多动手实操案例,尤其是运算符的避坑场景(如浮点数比较、字符串拼接),通过练习巩固语法记忆。如果遇到报错,先查看变量类型、运算符使用是否正确,大部分入门问题都能快速解决。

✨把这些内容吃透超牛的!放松下吧✨ʕ˘ᴥ˘ʔづきらど

Read more

开源强化学习框架RLinf:面向具身和智能体的强化学习基础设施

开源强化学习框架RLinf:面向具身和智能体的强化学习基础设施

清华大学等发布RLinf:面向具身和智能体的强化学习基础设施 RLinf 是一个灵活且可扩展的开源强化学习基础设施,是以清华大学、北京中关村学院、无问芯穹为核心,还联合了北京大学、加州大学伯克利分校等机构共同参与设计并开源。这是一个面向具身智能的“渲训推一体化”大规模强化学习框架,专门为具身人工智能和智能体人工智能而设计。RLinf 中的“inf”代表“基础设施” Infrastructure,突显了它作为下一代训练强大骨干的作用。它也代表“无限” Infinite,象征着该系统支持开放式学习、持续泛化以及智能发展中的无限可能。 RLinf具身智能AI强化学习训练平台框架 参考链接: https://github.com/RLinf/RLinf Franka真机强化学习 本文档给出在 RLinf 框架内启动在 Franka 机械臂真机环境中训练任务的完整指南, 重点介绍如何从零开始训练基于 ResNet 的 CNN 策略以完成机器人操作任务。 主要目标是让模型具备以下能力: 1. 视觉理解:处理来自机器人相机的 RGB 图像。 2.

By Ne0inhk

最近爆火的 OpenClaw Skills 合集开源了!已收录 700+!

在介绍这份令人眼花缭乱的“武器库”之前,先给还不了解 OpenClaw 的朋友补个课。 简单来说,OpenClaw 是目前 GitHub 上最火的本地化 AI Agent 平台(前身是 Clawd/Moltbot)。不同于只能在网页里陪聊的 ChatGPT,OpenClaw 是一个运行在你电脑终端里的“数字管家”。 * 本地优先:直接运行在你的 Mac/Linux/Windows 上,数据不出本地,拥有 Docker 沙箱级安全保护。 * 全渠道接入:你可以通过 WhatsApp、Telegram、Slack 甚至 iMessage 随时指挥它。 * 行动派:它不只是给你建议,而是能直接读写文件、运行命令、调用 API。 如果说 OpenClaw 是一个强悍的操作系统,那么下面要介绍的

By Ne0inhk
开源模型应用落地-知识巩固-生产级AI服务优化(二)

开源模型应用落地-知识巩固-生产级AI服务优化(二)

一、前言     在构建基于Flask的AI接口服务时,采用蓝图(Blueprint)架构可以大幅提升应用的可管理性和扩展性。通过将不同功能模块(如用户认证、模型处理和数据管理)组织成独立的蓝图,我们可以更加清晰地划分代码结构,使团队协作和后续维护变得更加高效。同时,借助 `python-dotenv` 来管理敏感信息和环境变量,则进一步增强了应用的安全性和灵活性。通过合理的模块化设计与高效的环境设置,我们能够优化 AI 服务的开发和部署流程,提升服务的性能与用户体验。 二、术语介绍 2.1. Loguru     是一个用于 Python 的日志库,旨在简化日志记录的过程,提供比 Python 内置的 `logging` 模块更易用和更强大的功能。Loguru 不仅使得日志记录更加简单直观,还提供了许多功能,例如: 1. 简单易用:Loguru 的接口设计得非常直观,用户只需几行代码即可开始记录日志。 2. 丰富的功能:它支持多种日志级别、格式化、过滤、

By Ne0inhk