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

Linux 进程间通信之命名管道(FIFO):跨进程通信的实用方案

Linux 进程间通信之命名管道(FIFO):跨进程通信的实用方案

🔥草莓熊Lotso:个人主页 ❄️个人专栏: 《C++知识分享》《Linux 入门到实践:零基础也能懂》 ✨生活是默默的坚持,毅力是永久的享受! 🎬 博主简介: 文章目录 * 前言: * 一. 命名管道核心概念:什么是 FIFO? * 1.1 命名管道的定义 * 1.2 命名管道的核心特性 * 1.3 命名管道和匿名管道的区别与联系 * 二. 命名管道的创建方式 * 2.1 命令行创建(mkfifo 命令) * 2.2 代码创建(mkfifo 函数) * 三. 命名管道的打开规则(关键!) * 四. 命名管道实战案例 * 4.1 案例 1:命名管道实现文件拷贝 * 4.1.

By Ne0inhk
玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)

玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)

本文介绍如何安装 AI 编码界一骑绝尘的最强工具 ——— Claude Code。安装不同的操作系统环境,本文会从 Windows、Linux、Mac 三个不同的系统环境依次介绍安装方法。 其中,Windows 系统作为大家最主流的操作系统,提供了两种安装方式,一种方式是直接在 Windows 的终端里安装,另一种是在 Windows 的子系统(WSL)内完成安装。其中,通过 WSL 安装,我们又可以分为,WSL 环境的直装和基于 WSL 的容器化安装(Docker),几种方法各有利弊,但均可正常使用。 Windows 环境直装 Claude Code 1. 获取 Claude Code 账号 访问 Claude Code 中国镜像站,完成账户注册。 输入邀请码

By Ne0inhk
Flutter 组件 shelf_router 的适配 鸿蒙Harmony 实战 - 驾驭官方标准路由器架构、实现鸿蒙端 HTTP 流量精密分发与逻辑路由审计方案

Flutter 组件 shelf_router 的适配 鸿蒙Harmony 实战 - 驾驭官方标准路由器架构、实现鸿蒙端 HTTP 流量精密分发与逻辑路由审计方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 shelf_router 的适配 鸿蒙Harmony 实战 - 驾驭官方标准路由器架构、实现鸿蒙端 HTTP 流量精密分发与逻辑路由审计方案 前言 在鸿蒙(OpenHarmony)生态的分布式业务中继、政务级内嵌 API 管理平台以及需要承载大规模高频交互请求的各类全栈式应用开发中,“路由的精确支配与逻辑安全性”是决定系统架构稳健性的命门所在。面对包含上百个 RESTful 端点的复杂服务模型、需要动态解析包含 UUID、日期等多种格式的 URL 参数,或者是需要针对鸿蒙手机与智慧大屏执行差异化的路由匹配。如果仅仅依靠原始的字符串拆分或低性能的手写拦截逻辑。不仅会导致路由解析执行效率的低下,更会因为缺乏一套工业级的“官方契约”规范。引发鸿蒙端微服务接口在面对异常报文时的逻辑脆弱性风险。 我们需要一种“官方背书、匹配闭环”的路由艺术。 shelf_router 是一套由 Dart 官方团队维护的、

By Ne0inhk