尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

【Python】(篇三)《基础语法(常量和表达式、变量和类型、注释、输入输出、运算符)》---详解

发布时间:2026/9/26 6:56:33

资讯中心
01
ARTICLE

【Python】(篇三)《基础语法(常量和表达式、变量和类型、注释、输入输出、运算符)》---详解

【Python】(篇三)《基础语法(常量和表达式、变量和类型、注释、输入输出、运算符)》---详解
一.常量和表达式我们先把 Python 当成一个计算器来进行一些算术运算。如下看结果注意print 是 Python 的一个内置函数。可以使用 、-、*、/、( ) 等运算符进行算术运算运算时先算乘除后算加减。运算符和数字之间可以没有空格也可以有多个空格但习惯上一般写一个空格看起来更美观。像 1 2 - 3 这样的是算式在编程语言中称为表达式算式运算出来的结果称为表达式的返回值。其中1、2、3 这类称为字面值常量、-、*、/ 这类称为运算符或操作符。注意如果熟悉 C / Java可能会认为 2 / 3 的结果是 0小数部分被截断但在 Python 中得到的结果是一个小数更符合日常使用的直觉。Python 3 中的 / 是真除法结果一定是浮点数如果确实想要 C / Java 那种“截断取整”的效果应该用 //地板除。这一点初学者特别容易踩坑给定四个分数67.7、89.0、112.9、2.2编写代码求这四个分数的平均数。二.变量和类型1.变量是什么有的时候我们要进行的计算可能更复杂一些需要把一些计算的中间结果保存起来这时候就要用到变量。给定四个分数67.5、89.0、12.9、32.2编写代码求这四个分数的方差。方差的计算过程先取每一项减去平均值平均值在后面会被反复用到再计算平方求和最后除以项数 − 1。在这个代码里就需要先算出这四个数的平均值再计算方差。这就需要把算出的平均值用变量保存起来。就像计算器上的 M 键一样通过变量就可以保存计算过程中的中间结果。只不过计算器一般只能保存一个数据而在 Python 代码中可以创建任意多的变量来随心所欲的保存很多很多的数据。其实变量可以视为是一块能够容纳数据的空间。这个空间往往对应到“内存”这样的硬件设备上注意avg、total、result 均为变量。** 在 Python 中表示乘方运算** 2 即为求平方。对应到内存里是怎么样的说明我们可以把内存想像成是一个宿舍楼, 这个宿舍楼上有很多的房间. 每个房间都可以存放数据.衡量内存的一个重要指标就是内存空间的大小, 比如我的电脑内存是 16GB. 这个数字越大, 意味着内存的存储空间就越大, 能够存放的数据(变量) 就越多.2.变量的语法1定义变量创建变量的语句非常简单, 其中a 为变量名. 当我们创建很多个变量的时候, 就可以用名字来进行区分. 为赋值运算符, 表示把 右侧的数据放到 左侧的空间中.注意变量的名字要遵守一定规则。硬性规则务必遵守变量名由数字、字母、下划线构成。数字不能开头。变量名不能和“关键字”重复。变量名大小写敏感num和Num是两个不同的变量名。软性规则建议遵守a 10变量名使用有描述性的单词来表示尽量表达出变量的作用。一个变量名可以由多个单词构成长一点没关系但是含义要清晰。当变量名包含多个单词的时候建议使用“驼峰命名法”形如totalCount、personInfo这种除了首个单词外剩余单词首字母大写。数学上, 变量通常使用 x, y, z 这种简单的英文字母或者拉丁字母表示. 但是在编程中不建议这样使用.原因是编程中, 一个程序里通常会同时创建出很多个变量. 如果只是使用单个字母表示, 在变量多了的时候, 就很难记住哪个变量是干啥的, 从而给维护程序带来了一定的困难. 因此我们更建议使用带有明确描述性的名字, 来表示变量的用途2使用变量A. 读取变量的值B. 修改变量的值注意: 在 Python 中, 修改变量也是使用 运算, 看起来和定义变量没有明显区别.当然, 也可以用一个变量的值赋给另外一个变量.首次对 a 使用 是在给它设置值这个过程称为创建变量也叫初始化。之后再对 a 使用 就相当于修改 a 的内容也就是赋值3.变量的类型变量里面存储的不仅仅是数字, 还可以存储其它种类的数据. 为了区分不同种类的数据, 我们引入了 类型这样的概念.注意和 C / Java 等语言不同Python 变量的类型不需要显式指定而是依靠初始化语句根据初始化值的类型来确定的。1整数说明type 和 print 类似, 也是 python 内置的函数. 可以使用 type 来查看一个变量的类型.注意:和 C / Java 等语言不同, Python 的 int 类型变量, 表示的数据范围是没有上限的. 只要内存足够大,理论上就可以表示无限大小的数据.Python 的 int 可以根据要表示的数据的大小自动扩容。所以Python 就没有像 long 这样的类型像 byte、short 这些类型也没有。(2) 浮点数(小数)注意:和 C / Java 等语言不同, Python 的小数只有 float 一种类型, 没有 double 类型. 但是实际上Python 的 float 就相当于 C / Java 的 double, 表示双精度浮点数.说明关于单精度浮点数和双精度浮点数的问题, 我们此处不做过多讨论. 大家只要知道, 相比于单精度浮点数, 双精度浮点数占用的内存空间更多, 同时表示的数据精度更高即可(大概精确到小数点后 15位).(3) 字符串在Python 中没有字符类型用 或者 引起来的称为字符串可以用来表示文本。注意在 Python 中单引号构成的字符串和双引号构成的字符串没有区别hello和hello是完全等价的。如果字符串里面包含了双引号表示字符串时可以用单引号引起来如果字符串里面包含了单引号表示字符串时可以用双引号引起来。如果同时出现双引号或单引号呢在Python 中还有一种字符串使用三引号 或 表示。在python中可以使用len函数来获取字符串的长度可以使用 针对两个字符串进行拼接这里是两个字符串相加也就是把后面的字符串拼接到前一个字符串的末尾从而得到一个更大的字符串对原先的 a1 和 a2 是没有影响的。注意不能把字符串和整数 /或者浮点数进行相加。它会变红报错在 Python 中报错通常分为以下两种语法错误。在程序运行之前Python 解释器就能把这类错误识别出来。运行错误。在程序运行之前无法识别必须执行到对应的代码才能发现问题4布尔布尔类型是一个特殊的类型取值只有两种True真和 False假首字母大写。布尔类型也是数学上的一个概念数学上学过一个概念叫做 “命题”进一步的就可以判定命题的真假。5其他除了上述类型之外, Python 中还有 list, tuple, dict, 自定义类型 等等. 我们后续再介绍.为什么要有这么多类型类型决定了数据在内存中占用多大空间。例如float 类型在内存中占据 8 个字节。计算机内部用二进制存储数据每一位只能存放 0 或者 1。1 个二进制位称为比特 (bit)8 个二进制位组成1 个字节 (Byte)。一个 float 变量占 8 字节等价于 64 个二进制位。假设电脑有 16GB 内存总二进制位数计算16 × 1024 × 1024 × 1024 × 8 bit。 注换算关系1GB 1024MB1MB 1024KB1KB 1024Byte1Byte 8bit不同的数据类型支持的运算操作不一样。int、float 类型变量可以执行 、-、*、/ 算术运算str字符串类型变量代表字符串拼接不能直接做减、乘、除算术运算但可以使用 len () 等字符串专属操作。总结类型系统本质是对变量做归类。同一类型的数据拥有相同的内存存储规则以及相同的可用操作。4.动态类型特性在 Python 中一个变量是什么类型是可以在 “程序运行” 过程中发生变化的这个特性称为“动态类型”。在程序执行过程中变量 a 一开始是 int 类型后续可以改成 str 类型最后还能赋值为 bool 类型。动态类型特性是一把双刃剑对于中小型程序可以大幅减少代码量一段代码就能够兼容多种不同类型的数据。对于大型程序会提升模块之间的协作成本A 写的代码里变量类型不固定B 阅读和维护时很难预判变量的实际类型。总结动态语言变量本身没有类型是变量指向的值才有类型变量可以随时绑定不同类型的数据。Python 作为一个动态类型的语言在定义变量的时候也可以是写类型的。C/Java 这样的语言则不允许这样的操作。一个变量定义后类型就是固定的了这种特性则称为“静态类型”。一个编程语言是否是动态类型只取决于运行时类型是否发生改变不取决于变量定义的时候是否声明类型。三.注释1.什么是注释注释是一种特殊的代码, 它不会影响到程序的执行, 但是能够起到解释说明的作用, 能够帮助程序猿理解程序代码的执行逻辑.说明写代码是一件比较烧脑的事情, 读代码同样也非常烧脑. 相比于一板一眼的代码, 一些口语化的描述能更好的帮助程序猿理解程序.形如上述代码, 如果没有注释, 直接阅读, 是不容易 get 到代码的含义是计算方差. 但是通过加了一行注释解释一下, 就让人一目了然了.代码的第一目标是容易理解第二目标才是执行正确。写注释不光是为了方便别人来理解也是方便之后自己再阅读容易理解。2.注释的语法Python 中有两种风格的注释。批量注释的快捷键Ctrl /1注释行使用 # 开头的行都是注释。单行注释以#开头#后面的内容会被 Python 解释器忽略。一般情况都是写在要注释的代码的上方也有少数情况是写在要注释代码的右侧的很少会写在代码的下方不会写在代码的左侧# 这是一行注释2文档字符串使用三引号引起来的称为 “文档字符串”也可以视为是一种注释。可以包含多行内容一般放在 文件 / 函数 / 类 的开头。 或者 均可二者等价。 这是文档字符串 这是文档字符串 3.注释的规范内容准确注释内容要和代码一致且匹配并在代码修改迭代时及时更新调整。篇幅合理注释既不要太精简也不要长篇大论。使用中文一般中国的公司都要求使用中文写注释外企另当别论。积极向上注释中不要包含负能量。四.输入输出1.和用户交互程序需要和用户进行交互.用户把信息传递给程序的过程, 称为 输入.程序把结果展示给用户的过程, 称为 输出.输入输出的最基本的方法就是控制台.用户通过控制台输入一些字符串, 程序再通过控制台打印出一些字符串.PyCharm 运行程序下方弹出的窗口就可以视为是控制台Windows 自带的 cmd 程序也可以视为是控制台输入输出的最常见方法是图形化界面常用。如我们平时用到的 QQ浏览器steam 等都不需要用户输入命令而只是通过鼠标点击窗口点击按钮的方式来操作。2.通过控制台输出Python 使用 print 函数输出到控制台.不仅能输出一个字符串还可以输出一个其他类型的变量。更多的时候我们希望能够输出的内容是混合了字符串和变量的.示例: 输出 num 10注意使用 f 作为前缀的字符串f 表示 format称为 f-string。里面可以使用 { } 来内嵌一个其他的变量 / 表达式。Python 中还支持其他的格式化字符串的方法。3.通过控制台输入python 使用 input 函数从控制台读取用户的输入此时input 执行的时候就会等待用户输入这个等待可能是一个非常长的等待完全取决于用户什么时候去输入。如果用户始终不输入那么就会一直等待。注意input 的参数相当于一个 “提示信息”也可以没有。input 的返回值就是用户输入的内容是字符串类型。如果只是单纯拿到用户的输入然后进行打印那么此时按照str处理即可。如果需要根据用户输入的内容进行算术计算那么此时就需要先把读到的str转成int可以使用int()。此处的结果是字符串拼接不是算术运算。如果要想进行算术运算需要先转换类型。通过int()可以把变量转成int类型。使用float()将字符串转换成浮点数、bool()、str()将整数转换成字符串等可以完成对应的类型转换。代码示例输入 4 个小数求 4 个小数的平均值。五.运算符1.算术运算符像 - * / % ** // 这种进行算术运算的运算符, 称为算术运算符有些编程语言中整数除以 0 会抛出异常浮点数除以 0 会得到无穷大而在 Python 中这两种情况都被统一视为除 0 异常。异常是编程语言中的一种常见机制表示程序运行过程中出现了一些“意外情况”导致程序不能继续往下执行了。先算乘方再算乘除最后算加减。如果在运算过程中想要修改默认的运算顺序就需要加上()。在pyhon中整数除以整数可能是小数注意整数 / 整数 结果可能是小数而不会截断。% 不是 “百分数”而是求余数。得到的余数一定是小于除数的。** 是求乘方。既能算整数次方还能算小数次方开方运算。// 是取整除法也叫地板除。整数除以整数结果还是整数舍弃小数部分并向下取整不是四舍五入。2.关系运算符像 ! 这一系列的运算符称为关系运算符它们是在比较操作数之间的 “大小”、“相等” 关系。其中 是 “小于等于” 是 “大于等于” 是 “等于”! 是 “不等于”1关系运算符对应的表达式的值是布尔类型如果关系符合要求则表达式返回 True如果关系不符合要求则表达式返回 False。2关系运算符不光针对整数 / 浮点数进行比较还能针对字符串进行比较注意:直接使用 或者 ! 即可对字符串内容判定相等. (这一点和 C / Java 不同).字符串比较大小, 规则是 字典序关于字典序:想象一个英文词典, 上面的单词都是按照字母顺序排列. 如果首个字母相同, 就比较第二个字母. (就比如著名单词 abandon).我们认为一个单词在词典上越靠前, 就越小. 越靠后, 就越大.针对中文进行字符串大小的比较是没有意义的至少按照默认的字典序来说是没有意义的。在计算机中表示中文其实是由多个字节构成的一个比较大的数字比较时就是在比较这个数字。在 C/C 中字符串比较要用strcmp如果直接使用本质上是在比较两个字符串首元素的地址。在 Java 中字符串比较要用equals方法如果使用本质上是在比较这两个字符串是否为同一个对象。Python 则直接使用和!来比较字符串内容是否相同这也是大部分编程语言遵守的规则。3对于浮点数来说不要使用 判定相等注意浮点数在计算机中的表示并不是精确的因为浮点数在内存中的存储和表示是可能存在误差的。这样的误差在进行运算过程中就可能被放大从而导致出现误判。可以看到, 0.1 0.2 的结果并非是 0.3 , 而是带了个小尾巴. 虽然这个尾巴非常小了, 但是 是锱铢必较的, 仍然会导致 的结果为 False.不止是 Python 如此, 主流编程语言都是如此. 这个是 IEEE754 标准规定的浮点数格式所引入的问题. 此处我们不做过多讨论.正确的比较方式:不再严格比较相等了, 而是判定差值小于允许的误差范围.在 Python 中支持这种连续小于的写法判断 a-b 既是 -0.000001 又是 0.000001。实际工程实践中, 误差在所难免, 只要保证误差在合理范围内即可.3.逻辑运算符像 and or not 这一系列的运算符称为逻辑运算符。and并且两侧操作数均为 True最终结果为 True否则为 False一假则假or或者两侧操作数均为 False最终结果为 False否则为 True一真则真not逻辑取反操作数本身为 True则返回 False本身为 False则返回 True。此处说的 并且 和 或者, 就是我们日常生活中使用的 并且 和 或者.一种特殊写法a b and b c 这个操作等价于 a b c . 这个设定和大部分编程语言都不相同.关于短路求和其他编程语言类似, Python 也存在短路求值的规则.对于 and, 如果左侧表达式为 False, 则整体一定为 False, 右侧表达式不再执行.对于 or, 如果左侧表达式为 True, 则整体一定为 True, 右侧表达式不再执行.上述代码没有抛出异常说明右侧的除以 0 操作没有真正执行。4.赋值运算符(1) 的使用 表示赋值. 这个我们已经用过很多次了. 注意和 区分 除了基本的用法之外, 还可以同时针对多个变量进行赋值链式赋值a b 10 # 先把 10 赋值给 b # 再把 b 赋值给 a多元赋值a, b 10, 20 # 把 10 赋值给 a # 把 20 赋值给 b代码实例: 交换两个变量基础写法a 10 b 20 tmp a a b b tmp print(a,b)基于多元赋值a 10 b 20 a, b b, a(2) 复合赋值运算符Python 还有一些复合赋值运算符例如 - * / %。其中 a 1 等价于 a a 1其他复合赋值运算符也是同理。注意像 C / Java 中存在 -- 这样的自增 / 自减运算符Python 中则不支持这种运算。如果需要使用则直接使用 1 或者 - 1。 和 -- 最大的问题就是容易分不清前置和后置的区别这一点 Python 语法在设计的时候就进行了规避避免出现这种不直观并且容易混淆的语法。5.其他除了上述之外, Python 中还有一些运算符, 比如身份运算符 (is, is not), 成员运算符 (in, not in), 位运算符( | ~ ^ )等.此处咱们暂时不介绍.六.自测练习1[多选] 以下关于变量之间加法运算的说法正确的是A. Python 中的字符串之间能够相加。B. Python 中的字符串可以和整数相加。C. Python 中的整数可以和浮点数相加。D. Python 中的整数可以和布尔值相加。答案ACD解析A 正确字符串之间可以用拼接。B 错误字符串和整数相加会报TypeError。C 正确整数和浮点数相加时整数会隐式转为浮点数。D 正确True等价于1False等价于0可以和整数相加。2[单选] 以下关于类型的说法正确的是A. Python 中既有字符串类型也有字符类型。B. Python 中既有float也有double。C. Python 中既有int也有long。D. Python 中的整数表示范围无上限。答案D解析A 错误Python 没有单独的字符类型单个字符也属于字符串。B 错误Python 只有float没有double。C 错误Python 3 把int和long合并了统一为int。D 正确Python 3 的int是任意精度整数没有上限。3[单选] 以下 Python 代码合法的是A.int a 10B.a 10;C.a trueD.a aaa 10答案B解析A 错误Python 不需要显式声明类型。B 正确Python 允许在语句末尾使用分号。C 错误布尔值必须首字母大写即True。D 错误字符串和整数不能直接相加。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。