python基础语法Ⅰ

news2025/6/10 12:13:24

python基础语法Ⅰ

  • 常量和表达式
  • 变量是什么
  • 变量的语法
      • 1.定义变量
      • 使用变量
  • 变量的类型
      • 1.整数
      • 2.浮点数(小数)
      • 3.字符串
      • 4.布尔
      • 5.其他
  • 动态类型特征
  • 注释
      • 注释是什么
      • 注释的语法
          • 1.行注释
          • 2.文档字符串
      • 注释的规范

常量和表达式

我们可以把python当作一个计算器,来进行一些算术运算符.

print(1 + 2 - 3)
print(1 + 2 * 3)
print(1 + 2 / 3)

在这里插入图片描述
注意:

  • print是一个 Python内置的函数,py的函数稍后详细介绍
  • 可以使用+ - * / ()等运算符进行算数运算,先算乘除后算加减.
  • 运算符和数字直接,可以没有空格,也可以多个空格,习惯多写一个空格(比较美观).

形如 1 + 2 - 3 这样是算式, 在编程语言中称为表达式, 算式的运算结果, 称为 表达式的返回值其中 1 , 2 , 3 这种称为 字面值常量, + - * / 这种称为运算符或者操作符.

**注意:**熟悉C/java的同学可能认为2/3的结果等于0(小数部分被截断).但是在python中结果则是一个更小的数,更符合平常我们人类的直觉逻辑.

变量是什么

变量指的是,有时候我们需要进行一些较为复杂的运算,需要把一些计算的中间结果保存起来,这个时候就需要用到变量.

示例:

给定四个分数, 67.5, 89.0, 12.9, 32.2 , 编写代码, 求这四个分数的方差.
PS: 方差的计算过程: 取每一项, 减去平均值, 计算平方, 再求和, 最后除以 (项数 - 1)

在这个代码中,就需要先计算这四个数字的平均值,然后再计算方差,这就需要把计算的平均值使用变量来保存起来.

avg = (67.5 + 89.0 + 12.9 + 32.2) / 4
total = (67.5 - avg) ** 2 + (89.0 - avg) ** 2+ (12.9 - avg) ** 2 + (32.2 - avg) ** 2
result = total / 3
print(result)

注意:

  • avg,total,result均为变量
  • **在python中表示乘方运算,**即为求平方

变量的语法

1.定义变量

a = 10

创建变量的语句非常简单,其中

  • a为变量名,当我们创建很多个变量时,可以用名字来进行区分.
  • =为赋值运算符,表示把右侧的数据放到=左侧的空间中.

注意:变量的名字需要遵守一定的规则.
硬性规则:

  • 变量名称必须由字母、数字、下划线组成.
  • 数字不能开头.
  • 变量名不能和“关键字”重复.
  • 变量名大小写铭感.num和Num是两个不同的变量.

还有一些软性要求,也就是做了最符合一个优秀程序员的标准:

  • 变量名使用有描述性的单词来表示出变量的作用(个人建议准备一个翻译软件,慢慢培养成为一名专业且优秀的程序员)
  • 变量可以包含多个单词,单词可以长,含义一定要清晰(建议使用“驼峰命名法”,如:totalCount)

使用变量

读取变量的值

a = 10
print(a)
#修改变量的值
a = 20
print(a)
#修改变量也是使用 = 运算符,看起来和定义变量没有明显的区别。

当然也可以使用一个变量的值赋给另一个变量

a = 10
b = 20
a = b
print(a)
print(b)

变量的类型

变量里面存储的不仅仅是数字, 还可以存储其它种类的数据. 为了区分不同种类的数据, 我们引入了 "类型"这样的概念.

注意:

  • 和C++/Java等语言不同,python变量的类型不需要显示的指定,二十在赋值的时候确定的.

1.整数

a = 10
print(type(a))

在这里插入图片描述
**注意:**跟其它语言的区别就是python中的int类型表示的数据范围是没有上限的.只要内存足够大,理论上可以存下无限大小的数据.

2.浮点数(小数)

a = 0.5
print(type(a))

在这里插入图片描述
注意: 和C++/Java等语言不同,python的小数只有 float一种类型, 没有 double 类型. 但是实际上python 的 float 就相当于 C++ / Java 的double,表示双精度浮点数.

3.字符串

a = 'hello'
print(type(a))

在这里插入图片描述

使用 ’ ’ 或者 " " 引起来的, 称为 字符串. 可以用来表示文本.

注意: 在 python 中, 单引号构成的字符串和双引号构成的字符串, 没有区别. ‘hello’ 和 “hello” 是完全等价的(需要注意的是,如果字符串内部包含’或者"这个时候我们需要避免相同的符号出现).

可以使用len函数来获取字符串的长度.

a = 'hello'
print(len(a))

还可以使用+针对两个字符串进行拼接.

a = 'hello'
b = 'world'
print(a + b)

字符串作为开发中最常用的数据类型,支持的操作方法非常之多,后续细讲.

4.布尔

布尔类型是一个特殊的类型,取值只有两种True和False.

a = True
print(type(a))
b = False
print(type(b))

在这里插入图片描述
布尔类型在咱们后续进行逻辑判断的时候,是非常有用的.

5.其他

除了上述的类型之外还有list,tuple,dict,自定义类型等等,后续详讲.

动态类型特征

在python中,一个变量是什么类型,是可以在“程序运行”过程中发生变化的.这个特性成为“动态类型”.

a = 10
print(type(a))
a = 'hello'
print(type(a))

在这里插入图片描述
在程序执行过程中,a的类型刚开始时int后面变成了str.
C++/Java 这样的语言则不允许这样的操作. 一个变量定义后类型就是固定的了. 这种特性则称为 “静态类型”.

注释

注释是什么

注释是一种特殊的代码, 它不会影响到程序的执行, 但是能够起到解释说明的作用, 能够帮助程序猿理解程序代码的执行逻辑.

# 计算 4 个数字 67.5, 89.0, 12.9, 32.2 的方差
avg = (67.5 + 89.0 + 12.9 + 32.2) / 4
total = (67.5 - avg) ** 2 + (89.0 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg)
** 2
result = total / 3
print(result)

这个还是上面的代码,这里我们主要看第一行的代码解释,在’#'后面写的被称为注释,注释的代码是不会被解释器解释的.

注释的语法

python中有两种风格的注释.

1.行注释

使用 # 开头的都是行注释

#这是一行注释
2.文档字符串

使用三引号引起来的称为"文档字符串",也可以视为一种注释.

  • 可以包含多行内容
  • “”"或者’''均可(等价)

注释的规范

  1. 内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新.
  2. 篇幅合理: 注释既不应该太精简, 也不应该长篇大论.
  3. 使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论.
  4. 积极向上: 注释中不要包含负能量(例如 领导帅哥等)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2406603.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++11 constexpr和字面类型:从入门到精通

文章目录 引言一、constexpr的基本概念与使用1.1 constexpr的定义与作用1.2 constexpr变量1.3 constexpr函数1.4 constexpr在类构造函数中的应用1.5 constexpr的优势 二、字面类型的基本概念与使用2.1 字面类型的定义与作用2.2 字面类型的应用场景2.2.1 常量定义2.2.2 模板参数…

EEG-fNIRS联合成像在跨频率耦合研究中的创新应用

摘要 神经影像技术对医学科学产生了深远的影响,推动了许多神经系统疾病研究的进展并改善了其诊断方法。在此背景下,基于神经血管耦合现象的多模态神经影像方法,通过融合各自优势来提供有关大脑皮层神经活动的互补信息。在这里,本研…

C++中vector类型的介绍和使用

文章目录 一、vector 类型的简介1.1 基本介绍1.2 常见用法示例1.3 常见成员函数简表 二、vector 数据的插入2.1 push_back() —— 在尾部插入一个元素2.2 emplace_back() —— 在尾部“就地”构造对象2.3 insert() —— 在任意位置插入一个或多个元素2.4 emplace() —— 在任意…

CVE-2023-25194源码分析与漏洞复现(Kafka JNDI注入)

漏洞概述 漏洞名称:Apache Kafka Connect JNDI注入导致的远程代码执行漏洞 CVE编号:CVE-2023-25194 CVSS评分:8.8 影响版本:Apache Kafka 2.3.0 - 3.3.2 修复版本:≥ 3.4.0 漏洞类型:反序列化导致的远程代…

Copilot for Xcode (iOS的 AI辅助编程)

Copilot for Xcode 简介Copilot下载与安装 体验环境要求下载最新的安装包安装登录系统权限设置 AI辅助编程生成注释代码补全简单需求代码生成辅助编程行间代码生成注释联想 代码生成 总结 简介 尝试使用了Copilot,它能根据上下文补全代码,快速生成常用…

Axure零基础跟我学:展开与收回

亲爱的小伙伴,如有帮助请订阅专栏!跟着老师每课一练,系统学习Axure交互设计课程! Axure产品经理精品视频课https://edu.csdn.net/course/detail/40420 课程主题:Axure菜单展开与收回 课程视频:

RabbitMQ 各类交换机

为什么要用交换机? 交换机用来路由消息。如果直发队列,这个消息就被处理消失了,那别的队列也需要这个消息怎么办?那就要用到交换机 交换机类型 1,fanout:广播 特点 广播所有消息​​:将消息…

高保真组件库:开关

一:制作关状态 拖入一个矩形作为关闭的底色:44 x 22,填充灰色CCCCCC,圆角23,边框宽度0,文本为”关“,右对齐,边距2,2,6,2,文本颜色白色FFFFFF。 拖拽一个椭圆,尺寸18 x 18,边框为0。3. 全选转为动态面板状态1命名为”关“。 二:制作开状态 复制关状态并命名为”开…

未授权访问事件频发,我们应当如何应对?

在当下,数据已成为企业和组织的核心资产,是推动业务发展、决策制定以及创新的关键驱动力。然而,未授权访问这一隐匿的安全威胁,正如同高悬的达摩克利斯之剑,时刻威胁着数据的安全,一旦触发,便可…

欢乐熊大话蓝牙知识17:多连接 BLE 怎么设计服务不会乱?分层思维来救场!

多连接 BLE 怎么设计服务不会乱?分层思维来救场! 作者按: 你是不是也遇到过 BLE 多连接时,调试现场像网吧“掉线风暴”? 温度传感器连上了,心率带丢了;一边 OTA 更新,一边通知卡壳。…

Element-Plus:popconfirm与tooltip一起使用不生效?

你们好&#xff0c;我是金金金。 场景 我正在使用Element-plus组件库当中的el-popconfirm和el-tooltip&#xff0c;产品要求是两个需要结合一起使用&#xff0c;也就是鼠标悬浮上去有提示文字&#xff0c;并且点击之后需要出现气泡确认框 代码 <el-popconfirm title"是…

Selenium 查找页面元素的方式

Selenium 查找页面元素的方式 Selenium 提供了多种方法来查找网页中的元素&#xff0c;以下是主要的定位方式&#xff1a; 基本定位方式 通过ID定位 driver.find_element(By.ID, "element_id")通过Name定位 driver.find_element(By.NAME, "element_name"…

OPENCV图形计算面积、弧长API讲解(1)

一.OPENCV图形面积、弧长计算的API介绍 之前我们已经把图形轮廓的检测、画框等功能讲解了一遍。那今天我们主要结合轮廓检测的API去计算图形的面积&#xff0c;这些面积可以是矩形、圆形等等。图形面积计算和弧长计算常用于车辆识别、桥梁识别等重要功能&#xff0c;常用的API…

spring boot使用HttpServletResponse实现sse后端流式输出消息

1.以前只是看过SSE的相关文章&#xff0c;没有具体实践&#xff0c;这次接入AI大模型使用到了流式输出&#xff0c;涉及到给前端流式返回&#xff0c;所以记录一下。 2.resp要设置为text/event-stream resp.setContentType("text/event-stream"); resp.setCharacter…

二叉树-144.二叉树的前序遍历-力扣(LeetCode)

一、题目解析 对于递归方法的前序遍历十分简单&#xff0c;但对于一位合格的程序猿而言&#xff0c;需要掌握将递归转化为非递归的能力&#xff0c;毕竟递归调用的时候会调用大量的栈帧&#xff0c;存在栈溢出风险。 二、算法原理 递归调用本质是系统建立栈帧&#xff0c;而非…

【技巧】dify前端源代码修改第一弹-增加tab页

回到目录 【技巧】dify前端源代码修改第一弹-增加tab页 尝试修改dify的前端源代码&#xff0c;在知识库增加一个tab页"HELLO WORLD"&#xff0c;完成后的效果如下 [gif01] 1. 前端代码进入调试模式 参考 【部署】win10的wsl环境下启动dify的web前端服务 启动调试…

Java设计模式:责任链模式

一、什么是责任链模式&#xff1f; 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09; 是一种 行为型设计模式&#xff0c;它通过将请求沿着一条处理链传递&#xff0c;直到某个对象处理它为止。这种模式的核心思想是 解耦请求的发送者和接收者&#xff0c;…

初探用uniapp写微信小程序遇到的问题及解决(vue3+ts)

零、关于开发思路 (一)拿到工作任务,先理清楚需求 1.逻辑部分 不放过原型里说的每一句话,有疑惑的部分该问产品/测试/之前的开发就问 2.页面部分(含国际化) 整体看过需要开发页面的原型后,分类一下哪些组件/样式可以复用,直接提取出来使用 (时间充分的前提下,不…

云原生时代的系统设计:架构转型的战略支点

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 一、云原生的崛起&#xff1a;技术趋势与现实需求的交汇 随着企业业务的互联网化、全球化、智能化持续加深&#xff0c;传统的 I…

python可视化:俄乌战争时间线关键节点与深层原因

俄乌战争时间线可视化分析&#xff1a;关键节点与深层原因 俄乌战争是21世纪欧洲最具影响力的地缘政治冲突之一&#xff0c;自2022年2月爆发以来已持续超过3年。 本文将通过Python可视化工具&#xff0c;系统分析这场战争的时间线、关键节点及其背后的深层原因&#xff0c;全面…