当前位置: 首页 > news >正文

python核心语法-数据存储与运算

字面量与变量

字面量

  • 含义

    • 字面量:指程序中,直接书写的固定值(数据),就称为字面量

  • 类型及书写格式

    • 数字类型

      • 整数(int) :10 18 -5 0

      • 浮点数/小数(float):8.5 3.14 1.0 -3.5

      • 布尔 (bool) [True False] 表达现实生活中的逻辑,真或假

      • 字符串 (str) ["str"] 描述文本的一种数据类型

      • 空值 (NoneType) [None] 表示空或无值,仅包含一个值None

      • 数据容器 [列表/元组/集合/字典] 存储多项数据的容器

说明:布尔类型本质就是数字类型,在涉及到数学运算时,会自动将True转为1,False转为0

  • 案例

变量

  • 变量:程序中用来存储单个数据的容器,通常会把经常发生变化的数据存储在变量中

注意:变量是指存储数据的容器(空间),而不是容器里面存储的数据

  • 定义格式:变量名 = 变量值

    • 变量名:每一个容器(空间)的名字

    • 赋值(=):表示将等号右侧值赋予左侧的变量

    • 变量值:每个变量都有自己存储的值(数据)

    • 例子:

      • num = 1114.1 num = 1114.2

      • num = "str" num = False

      • num1,num2 = 20.7, 50

说明:python是动态类型语言,在程序运行时才进行类型检查,变量的类型可以在程序运行过程中改变(一个变量可以接收不同类型的值)

升级:变量可以一次性定义多个

  • 案例

标识符

  • 标识符是程序员在代码中为变量、函数、类等元素所起的名字

  • 命名规则

    1. 只能包含字母(a-z,A-Z)、数字(0-9)、下划线( _ )

    2. 不能以数字开头

    3. 不能使用关键字:True、False、None、and、or、if、else、elif、for、while等

    4. 严格区分大小写,比如:age,Age,AGE是三个变量

  • 命名规范

    1. 见名知意

    2. 多个部分使用下划线连接 _

    3. 英文字母全小写

PEP8:PEP是python社区的核心技术文档和标准化机制,而PEP8是python的代码风格指南(PEP 8 – Style Guide for Python Code | peps.python.org)

数据类型

  • python中常见的基础数据类型

标准名称描述说明
int整数数字类型,存放整数 如:10 -5
float浮点数数字类型,存放小数,如:8.5 3.14 -3.5 1.0
str字符串用引号引起来的都是字符串,如:"Python"
bool布尔布尔类型,描述真和假,如:True False
NoneType空值表示空或无值,仅包含一个值None
  • 通过type()语句来得到数据的类型,具体语法为:type(要查看类型的数据)

说明:变量本身是没有类型的,type(变量)输出的类型是变量中存储的数据的类型

  • 案例

  • 通过isinstance()检查数据是否属于指定的类型,返回的是一个bool值,具体语法为:isinstance(数据,类型)

说明变量本身是没有类型的,type(变量)输出的类型是变量中存储的数据的类型

  • 案例

字符串

定义

  • 字符串的三种定义方式

    • 双引号定义

      s1 = "Hello"
    • 单引号定义 s2 = 'Python'

      s2 = 'Python'
    • 三引号定义(多行字符串)

      s3 = """ 第一行 第二行 """

字符:是文本世界的基本单位,一个字母、一个数字、一个标点符号、一个汉字等都是一个字符

案例展示:

  • 常见的转义字符

转义字符名称作用
\'单引号表示单引号 '
\"双引号表示双引号 "
\n换行符开始新的一行 (换行)
\t制表符增加缩进,缩进一个制表符 (tab) 的大小

案例展示:

拼接

  • 多个字面量直接拼接

  • 使用(+) 进行拼接,方式如下:

    注意:+号可以用来拼接两个字符串,但是无法将非字符串与字符串进行拼接(非字符串类型需要转换为字符串类型)

    案例展示

格式化

  • 通过 %占位符 的形式完成字符串和变量的快速拼接。(其中 % 表示我要占位,s表示将变量转为字符串放入占位的位置)

    注意:前面有多少个占位符(%s),后面就需要有多少个变量(或数据),前后数据需要一致

    案例展示:

  • 也可以通过f"内容{变量/表达式}" 的形式来完成快速格式化

    案例展示:

输入与输出

  • input语句(函数)的功能就是获取键盘输入的数据,具体的用法为:s = input(提示信息)

  • print语句(函数)的功能就是将数据输出到控制台,具体语法为:print(数据..)

注意:无论键盘输入什么类型的数据,获取到的数据永远都是字符串类型

案例展示:

运算符

算术运算符

  • 算术运算符是用于执行基本的数学运算的符号,作用于一个或多个操作数上,并产生一个计算结果

运算符描述举例说明
+加法1 + 5 : 1加于5
-减法8 - 3 : 8减3
*乘法3 * 8:3乘以8
/除法10 / 5:10除以5,除法结果是小数
//整除10 // 3:10整除3,整除结果为整数
%取余 / 求模10 % 3:10模于3,结果为1(10除3取余数)
**幂指数10 ** 3 : 10的3次方

案例展示:

  • 算术运算符的优先级 --> ** --> * / // % --> + -

案例展示:

注意:0.09999999999999998的精度损失;由于计算机底层是基于二进制进行数据的存储与处理,二进制是无法准确的表示所有的小数,因此涉及到浮点数的运算,可能会存在精度损失

赋值运算符

  • 赋值运算符是编程语言中用于将值(或表达式的结果)保存到变量中的运算符。(把右边的值,赋给左边的变量)

运算符描述实例
=赋值运算符把 = 号右边的结果赋值给左边的变量,如 num = 1+2,结果num的值为3
+=加法赋值运算符num += 2 等效于 num = num + 2
-=减法赋值运算符num -= 2 等效于 num = num - 2
*=乘法赋值运算符num *= 2 等效于 num = num * 2
/=除法赋值运算符num /= 2 等效于 num = num / 2
%=取模赋值运算符num %= 2 等效于 num = num % 2
//=取整除赋值运算符num //= 2 等效于 num = num // 2
**=幂赋值运算符num ** = 2 等效于 num = num ** 2

比较运算符

  • 比较运算符,也称为关系运算符,用于比较两个值之间的关系。会计算运算符两边的表达式,然后返回一个布尔值作为结果(True - 表示比较关系成立;False - 表示比较关系不成立)

运算符描述实例
==等于a == b 判断a是否等于b
!=不等于a != b 判断a是否不等于b
>大于a > b 判断a是否大于b
>=大于等于a >= b 判断a是否大于等于b
<小于a < b 判断a是否小于b
<=小于等于a <= b 判断a是否小于等于b

案例展示:

逻辑运算符

  • 逻辑运算符是用于连接多个条件(布尔)表达式(其值为"真" 或 "假"),并返回一个最终布尔结果的运算符

运算符描述实例
and逻辑与(并且)同时成立才是符合条件的(左右两边都为True,结果才为True)
or逻辑或(或者)只要有一个符合要求的即可(只要左右两边有一个为True,结果就位True)
not逻辑非(取反)取反操作,True变为False,False变为True

and 案例展示:

or 案例展示:

http://www.cnnetsun.cn/news/3754735.html

相关文章:

  • google-font-download实战案例:如何批量下载并配置多字体样式
  • 5种企业级多语言部署策略:Baserow全球化架构深度解析
  • 节奏AI正在“假打”?深度拆解LLM+Diffusion双引擎节拍生成缺陷,附5个可立即部署的Groove修复Prompt模板
  • C++日期格式化实战:实现稳定中文星期几输出的完整方案
  • 单片机毕业设计-基于 STM32 的 OLED 显示密码锁安防装置设计 基于矩阵键盘的电子密码开锁装置设计与实现(012501)
  • 分布式电源接入配电网的Matlab建模与电压控制策略
  • 数据驱动决策喊了三年还是拍脑袋:问题不在数据在口径
  • CUBER vs 传统K8s工具:为什么这款Ruby自动化神器能节省80%部署时间?
  • 终极免费图表工具:draw.io桌面版完全使用指南
  • 用ChatGPT+飞书多维表格+头条API,实现全自动发文闭环(仅需1次配置,持续获流)
  • 《llama.cpp 与 GGML 生态下模型适配技术及应用研究报告》
  • OpCore-Simplify终极指南:如何3步完成OpenCore EFI智能配置
  • HarmonyOS 权限申请合规实战:最小权限、场景说明与拒绝兜底
  • 如何高效使用scene-editor创建专业级Web3D相机路径动画:实用指南
  • 如何用Godogen实现AI自动游戏开发:面向开发者的终极指南
  • 探索django-user-sessions核心功能:从安装到高级配置全解析
  • 如何在10分钟内免费搭建个人专属影视平台:LunaTV开源项目终极指南
  • 大模型之路7-5:中国人都会喜欢的知识库——中华诗词知识库(同步Github)Web和AI智能问答的实现
  • 如何在15分钟内掌握React Bits:构建惊艳动画界面的终极指南
  • 构建专业物联网大屏可视化平台:IofTV-Screen 3大核心模块解析
  • 2026论文工具天花板✅一篇吃透全程无痛毕业
  • K4B1G1646I-BMMATCV在车载电子中的应用:-40°C~95°C工作温度与低功耗DDR3L优势
  • AUS GLOBAL在2025南非智能视野峰会荣获“年度最佳外汇CRM系统”奖项
  • AutoView部署指南:从开发环境到生产环境的无缝迁移
  • 高频交易AI模型突然失效?揭秘GPU内存泄漏+浮点精度漂移双重故障链(含实时监控SOP)
  • 国家中小学智慧教育平台电子课本下载工具:三步实现批量教材离线管理
  • 基于springboot的理财产品推荐系统的设计与实现Python(源码+LW+部署讲解)
  • Qlib终极指南:微软开源AI量化投资平台的完整入门教程
  • 千笔AI与WPS AI学术写作工具深度对比评测
  • Java开发者如何快速掌握大模型技术