Python入门(三)变量和简单数据类型(二)

news2025/1/10 17:04:01

变量和简单数据类型(二)

  • 1.数
    • 1.1 整数操作
    • 1.2 浮点数操作
    • 1.3 整数和浮点数
    • 1.4 数中的下划线
    • 1.5 同时给多个变量赋值
    • 1.6 常量
  • 2.注释
    • 2.1 如何编写注释
    • 2.2 编写什么样的注释

作者:Xiou

1.数

数在编程中是经常使用的一种数据类型,可以用来记录得分、表示可视化数据、存储信息等等。

1.1 整数操作

在Python中,可对整数执行加(+)减(-)乘(*)除(/)运算。

运行python环境。

>>> 2 + 3
5
>>> 3 - 2
1
>>> 2 * 3
6
>>> 3 / 2
1.5

在终端会话中,Python直接返回运算结果。Python使用两个乘号表示乘方运算:

>>> 3 ** 2
9
>>> 3 ** 3
27
>>> 10 ** 6
1000000

Python还支持运算次序,因此可在同一个表达式中使用多种运算。还可以使用圆括号来修改运算次序,让Python按你指定的次序执行运算,如下所示:

>>> 2 + 3*4
14
>>> (2 + 3) * 4
20

在这些示例中,空格不影响Python计算表达式的方式。它们的存在旨在让你在阅读代码时能迅速确定先执行哪些运算。

1.2 浮点数操作

Python将所有带小数点的数称为浮点数。大多数编程语言使用了这个术语,它指出了这样一个事实:小数点可出现在数的任何位置。每种编程语言都必须细心设计,以妥善地处理浮点数,确保不管小数点出现在什么位置,数的行为都是正常的。

从很大程度上说,使用浮点数时无须考虑其行为。你只需输入要使用的数,Python通常会按你期望的方式处理它们:

>>> 0.1 + 0.1
0.2
>>> 0.2 + 0.2
0.4
>>> 2 * 0.1
0.2
>>> 2 * 0.2
0.4

但需要注意的是,结果包含的小数位数可能是不确定的:

>>> 0.2 + 0.1
0.30000000000000004
>>> 3 * 0.1
0.30000000000000004

当然,这也不是什么大问题,所有语言都存在这种问题,没有什么可担心的。Python会尽力找到一种精确表示结果的方法,但鉴于计算机内部表示数的方式,这在有些情况下很难。就现在而言,暂时忽略多余的小数位数即可。

1.3 整数和浮点数

将任意两个数相除时,结果总是浮点数,即便这两个数都是整数且能整除:

>>> 4/2
2.0

在其他任何运算中,如果一个操作数是整数,另一个操作数是浮点数,结果也总是浮点数:

>>> 1 + 2.0
3.0
>>> 2 * 3.0
6.0
>>> 3.0 ** 2
9.0

无论是哪种运算,只要有操作数是浮点数,Python默认得到的总是浮点数,即便结果原本为整数也是如此。

1.4 数中的下划线

使用很大的数时,可使用下划线将其中的数字分组,使其更清晰易读:

>>> universe_age = 14_000_000_000

当你打印这种使用下划线定义的数时,Python不会打印其中的下划线:

>>> print(universe_age)
14000000000

输出结果:

在这里插入图片描述

这是因为存储这种数时,Python会忽略其中的下划线。将数字分组时,即便不是将每三位分成一组,也不会影响最终的值。在Python看来,1000与1_000没什么不同,1_000与10_00也没什么不同。这种表示法适用于整数和浮点数,但只有Python3.6和更高的版本支持。

1.5 同时给多个变量赋值

可在一行代码中给多个变量赋值,这有助于缩短程序并提高其可读性。这种做法最常用于将一系列数赋给一组变量。

例如,如何将变量x、y和z都初始化为零:

>>> x, y, z = 0, 0, 0

这样做时,需要用逗号将变量名分开;对于要赋给变量的值,也需同样处理。Python将按顺序将每个值赋给对应的变量。只要变量和值的个数相同,Python就能正确地将它们关联起来。

1.6 常量

常量类似于变量,但其值在程序的整个生命周期内保持不变。Python没有内置的常量类型,但Python程序员会习惯使用全大写来指出应将某个变量视为常量,其值应始终不变:

MAX_CONNECTIONS = 5000

在代码中,要指出应将特定的变量视为常量,可将其字母全部大写。

2.注释

大多数编程语言中,注释是一项很有用的功能。本书前面编写的程序中都只包含Python代码,但随着程序越来越大、越来越复杂,就应在其中添加说明,对你解决问题的方法进行大致的阐述。注释让你能够使用自然语言在程序中添加说明。

2.1 如何编写注释

在Python中,注释用井号(#)标识。井号后面的内容都会被Python解释器忽略,如下所示:

# 向大家问好。
print("Hello Python people!")

Python解释器将忽略第一行,只执行第二行。

输出结果:
在这里插入图片描述

2.2 编写什么样的注释

编写注释的主要目的是阐述代码要做什么,以及是如何做的。在开发项目期间,你对各个部分如何协同工作了如指掌,但过段时间后,有些细节你可能不记得了。当然,你总是可以通过研究代码来确定各个部分的工作原理,但通过编写注释以清晰的自然语言对解决方案进行概述,可节省很多时间。

要成为专业程序员或与其他程序员合作,就必须编写有意义的注释。当前,大多数软件是合作编写的,编写者可能是同一家公司的多名员工,也可能是众多致力于同一个开源项目的人员。训练有素的程序员都希望代码中包含注释,因此你最好从现在开始就在程序中添加描述性注释。作为新手,最值得养成的习惯之一就是在代码中编写清晰、简洁的注释。

如果不确定是否要编写注释,就问问自己:在找到合理的解决方案之前,考虑了多个解决方案吗?如果答案是肯定的,就编写注释对你的解决方案进行说明吧。相比回过头去再添加注释,删除多余的注释要容易得多。

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

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

相关文章

【目标检测论文阅读笔记】Dynamic Head: Unifying Object Detection Heads with Attentions

Abstract 在目标检测中结合定位和分类的复杂性导致了方法的蓬勃发展。以前的工作试图提高各种目标检测头的性能,但未能提出统一的观点。在本文中,我们提出了一种新颖的动态头部框架 来统一目标检测头部和注意力。通过在用于尺度感知的特征级别之间、用于…

嵌入式Linux:FrameBuffer 和 DRM/KMS(一)

文章目录 前言: Linux 的两种显示方案FrameBufferDRM1、GEM2、KMS 参考:RK3399 探索之旅 / Display 子系统 / 基础概念 参考:DRM架构介绍(一) 前言: Linux 的两种显示方案 包括: FBDEV: Framebuffer Device DRM/KM…

【MediaSoup c#】 worker的创建

js rust 不太熟,c# 似乎还好懂一些。学习media soup 的各个组件及大体使用方式学习其设计理念。MediasoupServer 管理worker列表 worker的表达是通过 IWorker 抽象类 拥有一个observer 实例 (EventEmitter): /// <summary>/// Observer instance./// </summary&g…

顺序表和链表优缺点以及区别

顺序表和链表的区别 顺序表优点缺点 链表优点缺点 顺序表和链表不同点 顺序表 优点 1.尾插尾删效率高 2.支持随机访问 3/相比于链&#xff0c;cpu高速缓存命中率更高 缺点 1.在头部和中部插入删除效率底 2.需要大片连续空间&#xff0c;改变容量不方便 链表 优点 1.不需要…

【嵌入式Linux驱动】驱动开发调试相关的关系记录

https://www.processon.com/mindmap/64537772b546c76a2f37bd2f

MySQL概述 -- 数据模型SQL简介DDL数据库操作

一. 数据模型 介绍完了Mysql数据库的安装配置之后&#xff0c;接下来我们再来聊一聊Mysql当中的数据模型。学完了这一小节之后&#xff0c;我们就能够知道在Mysql数据库当中到底是如何来存储和管理数据的。 在介绍 Mysql的数据模型之前&#xff0c;需要先了解一个概念&#x…

SPSS如何进行对应分析之案例实训?

文章目录 0.引言1.对应分析2.多重对应分析 0.引言 因科研等多场景需要进行绘图处理&#xff0c;笔者对SPSS进行了学习&#xff0c;本文通过《SPSS统计分析从入门到精通》及其配套素材结合网上相关资料进行学习笔记总结&#xff0c;本文对对应分析进行阐述。 1.对应分析 &#…

混合策略改进的金枪鱼群优化算法(HTSO)-附代码

混合策略改进的金枪鱼群优化算法(HTSO) 文章目录 混合策略改进的金枪鱼群优化算法(HTSO)1.金枪鱼群优化算法2. 改进金枪鱼群优化算法2.1 Circle混沌映射初始化种群Circle2.2 Levy flight改进螺旋式觅食 3.实验结果4.参考文献5.Matlab代码6.Python代码 摘要&#xff1a;针对金枪…

操作系统考试复习——第三章 进程调度和实时调度

进程调度的方式分为&#xff1a;抢占式和非抢占式 采用非抢占式时&#xff0c;一旦把处理机分配给某进程后&#xff0c;就让他一直运行下去&#xff0c;决不会因为时钟中断或其他任何原因去抢占当前正在运行进程的处理机。直至该进程完成或因为某件事情堵塞&#xff0c;才把处…

MMediting1.X进行视频超分训练和测试(BasicVsr++)

因为MMediting更新了版本&#xff0c;整体的变化比较大&#xff0c;导致之前的一些介绍操作的帖子不太适合新手入门&#xff0c;这里以作者自己对BasicVsr模型进行测试和训练的过程&#xff0c;写一下具体的操作过程。 &#xff08;1&#xff09;找到模型     首先在config…

JavaScript判断是否为NaN

&#xff08;旅行是最劳顿&#xff0c;最麻烦&#xff0c;叫人本相必现的时候。经过长期苦旅行而彼此不讨厌的人&#xff0c;才可以结交作朋友。——钱钟书&#xff09; 为什么NaN在js值得一提 相信你在实际开发中&#xff0c;经常遇到一下场景 const pasNumber parseInt(un…

财报解读:照明行业景气上行,欧普照明已步入增长“快车道”

2023年&#xff0c;随着文旅景观照明复苏&#xff0c;教室照明市场蓬勃发展&#xff0c;双碳战略下照明数字化系统加速建设&#xff0c;照明企业迎来行业曙光。近日&#xff0c;A股绿色照明龙头企业欧普照明股份有限公司&#xff08;下称“欧普照明”&#xff0c;股票代码60351…

刷题记录˃ʍ˂

一、1033. 移动石子直到连续 思路 这道题是一道数学题&#xff0c;它一共分为三种可能 第一种可能为三个石子本来就是连续的时候 第二种可能为最少步数为1的时候&#xff0c;相邻石子不能大于一格 第三种可能为最少步数为2的时候&#xff0c;这时相邻石子大于一格 那么第二…

华为MPLS跨域C1方式RR场景(数据经过RR)实验配置

目录 配置BGP邻居的建立 配置MPLS LDP 配置RR之间的MP-BGP邻居 根据图配置接口的IP地址和IGP协议 配置BGP邻居的建立 PE1和RR1建立IBGP邻居、RR1和ASBR1建立IBGP邻居&#xff08;RR1作为反射器&#xff09; PE1和RR1建立MP-IBGP邻居&#xff08;RR1传给PE1的Vpnv4路由要求更…

2023 hnust 大三下 人工智能导论课程 期中考试复习笔记

前言 ★大概率考✦个人推测考点※补充内容没有完全覆盖“人工智能导论复习2023.pdf”的重点致谢&#xff1a;hwl、lyf、lqx 题型 问答&#xff1a;5*10分综合&#xff1a;15分设计&#xff1a;25分开放题/论述题&#xff1a;10分 第1章 绪论 人工智能的定义 智能 思考与…

Android ADB安装apk失败:INSTALL_FAILED_TEST_ONLY

droid ADB安装apk失败:INSTALL_FAILED_TEST_ONLY 解决&#xff1a; 1、一种是在代码里面加&#xff0c; 在gradle.properties配置文件加入属性&#xff0c;把testOnly设置为false Android安装apk失败&#xff1a;The application could not be installed: INSTALL_FAILED_TES…

Java内存模型之JMM

计算机硬件存储系统 因为有这么多级的缓存&#xff08;cpu和物理主内存的速度不一致&#xff09; CPU的运行并不是直接操作内存而是把内存里边的数据读取到缓存&#xff0c;而内存的读和写操作的时候就会造成不一致的问题 JVM规范中试图定义一种Java的内存模型&#xff08;ja…

【算法与数据结构】递归函数设计技巧

数学归纳法 step1: 验证P(1)成立step2: 证明如果P(k)成立&#xff0c;那么P(k1)也成立step3: 联合step1和step2&#xff0c;证明由P(1)->P(n)成立 例1&#xff1a; 证明&#xff1a; 1 3 . . . ( 2 n − 1 ) n 2 13...(2n-1) n^2 13...(2n−1)n2 证明P(1)成立&#…

Midjourney之logo设计(建议收藏)

目录 宠物诊所的logo设计 常见的Logo类型 图形logo: 字母LOGO APP LOGO 进阶技巧 设置艺术家风格 去掉不需要的元素 ChatGPT Midjourney设计logo 聊天&#xff08;国产&#xff09;&#xff1a;文心一言通义千问 绘图&#xff08;国产&#xff09; UI设计 ChatGP…

LangChain入门(四)-构建本地知识库问答机器人

在这个例子中&#xff0c;我们会介绍如何从我们本地读取多个文档构建知识库&#xff0c;并且使用 Openai API 在知识库中进行搜索并给出答案。 目录 一、安装向量数据库chromadb和tiktoken 二、使用案例 三、embeddings持久化 四、在线的向量数据库Pinecone 一、安装向量数…