拍丧邪修第一张一点三运算符,此为邪修学习视频,注意正派请绕道!上节课我们学完了数据类型,那数据是如何计算的呢?我们先来了解一下 python 的 计算符号。 数学中基础的运算加减乘除和 python 中的运算是一样的,加号减号能够跟键盘上的按键对应上,但是乘与除则是对应的米号键和斜杠。 数学中的整数与余数呢?比如十除以三等于三点三、三三。而在计算机中则分别用双斜杠代替整除,百分号代表取余数。那么次方的表达呢?在 python 中我们使用星号,星号表示次方,那么三的次方幂就是二十七。 我们来看一下比较运算符,大于等于小于等于,在 python 中其实差不多也是一样的,只需要在大于或者等于后面多加一个等号就行。逻辑运算符, 此类运算符号通常结合比较运算符号,用于综合的判断真假。我们有按的奥与 not 按的,如果两边为真则为假,否则为真。 现在我们已经学会了在 python 中如何表示各种运算符号,那么各种数据类型是如何运算的呢?不同的数据类型运算是有所不同的, 比如算数运算符,对于整数和小数是符合我们的数学计算的。 print 一 加一, 一点零加一,五点零乘以二,五点零除以二。在 python 中,运算符的先后级别,第一是算括号,接着是密运算,然后是乘除,最后做加减。如果平级,从左往右以此计算,例如, print 十减二乘五,返回的结果为零。 print 括号里的十减二,然后再乘以五,运算的结果为四十。但是在字母串数据类型中是不一样的,我们接下来看一下这个例子,打印出来的结果是这样的,你好,同学,两遍,节日快乐! 通过这几个例子,我们会发现在计算机中字母串的加与乘号是起到了拼接与重复的作用。 但是这里值得注意的是,如果 print 你 好,加一百汇报错误,因为字不串中加是拼接,数值类型中的加是累加,计算机无法确定是需要的是哪一种,因此 python 就 会显示语法错误。 那我们来个课外作业吧!现在来到一个超市,现在你要买一些鸡蛋,总共选了十个鸡蛋, 每个鸡蛋的价格为一块五毛钱,然后又买了一些草莓,总共买了两公斤的草莓,草莓的价格为三十五点五元每公斤。那么现在需要同学们结合前面所学的知识来用 python 代码实现一个购物清单的打印。 这里给大家一些提示,请各位同学先将题目信息转换为变量存储,然后通过运算符与 print 来实现这个打印效果哦。做好的同学欢迎发到评论区哦!
粉丝7755获赞1.9万

你知道 python 中的这个运算符吗?它有什么作用?这是一个在 python 三点八版本以上新增的运算符。由于它长得像倒过来的海象,被形象地称作海象运算符,官方名称为赋值表达式,语法结构为 variable, 冒号等于 expression。 variable 是 要赋值的变量名, expression 是 在计算的表达式。海象运算符的核心特性是它能在表达式内部完成变量的定义与赋值,这也是它和普通赋值语句最核心的区别。普通赋值语句仅能独立执行,无法嵌入到表达式中,而海象运算符支持边赋值边使用。 我们来看个案例,代码基于一个列表生成字典,字典需包含列表的总和、长度和均值。我们可以看到代码中计算了两次列表的总和与长度,而借助海象计算符,代码只需要计算一次,能有效避免重复计算,尤 其在条件判断、循环迭代、推导式等需要先计算。在使用的场景中合理运用海象计算符能让 python 代码更精炼、更简洁。

什么是三元运筹图呢?它就是一个类似 if 的 条件表达式。举个例子,这里有一个 if 条件判断,如果 x 大 于五,那么就输出 x 大 于五,反之,那就是 x 不 大于五。如果把它改成三元运筹图呢,就是写成一行,如果 if x 大 于五呢?那么执行的结果呢?写在前面, 否则 else 呢?写在后边,然后再在后边写 else, 输出的结果 x 不 大于,将结果呢附给一变量,这样写的优点呢,跟 lamb 的 内幕函数呢,是类似的,直接将这个返回的结果呢附给一个变量。如果是多条件判断,就是说 if l if l if, 那 么这种多条件判断呢?能不能写到这运程符呢?也是可以的,比如我们这里有一个多条件的一个判断, 如果将它写成这个三元音符,就是一样,先将符合这个 if 条件的这个结果呢写出来, a 好, 写上 if, 然后再写上一个 else, else 什么呢? else, 然后它是下边这个 b, 一 会这个 score 大 于等于八十这个条件,然后再继续写 else 啊,第三个是 c, 然后是 if score 呢,大于等于七十,最后还是个 else 都不符合,那么就是 d, 这是一个将这个多条件判断呢写成这种三元运函数的式三元运函数呢,也可以用到函数段中,传个差数吧 number, 这样 如果 number 大 于五,那么就是返回 x 大 于五,否则 返回 x 不 大于五。调用这函数,然后我们传参 a 四,把这个结果打印出来, x 不 大于五,如果传一个六呢? x 大 于五,这就是呢三元场符呢,在 函数当中的一个运用,它可以帮我们省去一些代码。除此之外呢,三元符呢,还可以配合这个负循环来使用。 比如我们这里有个列表,将列表与整数的计算修改,修改的条件呢是如果是偶数,那么就改为零,如果是基数,那么就改为一,我们看一下, 偶数改为零,就是这个 number, 如果可以被二整除,那么就是偶数,我们就改为零,反之改为一。 然后呢在他后边加一个负循环负 number, 这个 number 呢和前面这个 number 呢是一回事,在这个 number 里边也去循环。最后再用这个中号包裹起来,赋给一个变量, 可以看到基数呢都变为了一,偶数呢都变为了零。如果将这个中括号改为这个括号号,那么他就会输出是一个字典,字典呢是箭头。对,我们要需要给他定一个箭和值,这里呢我们可以把这个箭呢定成这个 number, 如果这个可以背二手书,那么我写一个,呃偶数,否则就是基础出出了一个字典。好,这个视频呢,就到这里,谢谢大家观看。

拍照从零开始学第三章三点一零模块的导入与使用大家好,我们在编程过程中通常需要使用一些已经编辑好的代码来实现特定功能,这时候我们就需要用到模块。我们来看到什么是模块, 模块就是一个包含拍照、定义和语句的点批外文件,用组织代码实现代码附用和功能隔离。比如我们会常用的 map 模块,就是包含各种需要用到数学相关的运算, 就比如计算平方根的 square 函数、开平方泡函数等。这些模块可能是拍藏自带的标准库模块,也可能是第三方开发者编辑的模块。当然我们自己也是可以编辑点 p、 y 文件的。 为什么要我们使用模块,是因为使用模块有很多好处,首先就是代码附用,不用重复编辑相同功能的代码,直接导入模块调用,节省开发时间。第二就是功能隔离, 将不同功能的代码拆分到不同模块,让程序更清晰,便于阅读和维护。最后就是管理复杂度,将程序功能拆成小模块,各模块接口清晰低藕合,既方便理解维护,也能避免修改一处引发局问题。 然后我们来学习怎么导入模块,导入模块有三种方式,第一直接导入模块,第二只导入模块中的指定函数类或变量。第三导入模块内所有成员。我们先来看第一个直接导入模块,我们使用用破了关键字,加上模块名,就可以将整个模块导入到当前的代码中。 现在我们来计算十六的平方根,首先由 input 导入 map, 再调用 x、 q、 r、 t 函数,再复制给 result 这里的模块名,函数名就像是告诉派藏这个 x q r t 函数是来自 map 模块的,这样派藏就能准确地找到并使用这个函数。最后我们看到终端计算出的值为四。 接下来我们来看到第二种导入模块的方式。我们想指定某个函数或者类,那么我们直接导入整个模块,就需要加载模块中无关的代码,在处理大型模块时就可以节省一点内存资源。 我们可以用 firm name port 的 方式来直接导入我们需要的内容,就比如只导入 map 模块中的 s q r t 函数,这样我们计算平方根就不要加上模块名的前缀了, 这样使用起来也就更加简洁了。如果我们需要用到多个函数,那么我们可以用逗号分隔。第三种就是导入模块中的所有内容。可以用 firm 模块名 in port 新号,它会直接调用模块内所有函数常量等,无需前缀。不过这种写法不推荐在实际开发中使用。第一就是导入模块内所有函数常量等,无需前缀,不过这种写法不推荐导入模块内所有函数长量等。第二,代码可读性变差。 然后我们学习为模块或导入的内容取名。我们在导入模块时,当有的模块名很长,我们用起来很不方便,这时我们可以给模块取一个别名,就比如这样,我导入 mark 模块,使用 a s 给 mark 取了 mark 的 别名,然后我们再用 mark。 调用 s q r t 函数时,我们只需要用 mark 这个别名就行了。下面我们深入理解模块的导入方式。 我们先来看直接导入整个模块,我们导入了 map 模块,这时我们要计算平方根,就要用到数学函数 s、 q r t 来计算。八十一的平方根下面的 map 表示数学中的圆周率 pi 的 值, 这里的 pi 是 个变量,最后我们看到结果,八十一的平方根就是九,下面这个就是圆周率的值。然后可能就有人会想到为什么圆周率的值直到七百九十三,这是因为受到浮点数存储精度和打印显示规则限制。然后我们来看到下面代码, 我们使用了 python 的 内置模块 run 的, run 的 模块适用于生成随机数,然后从 run 的 模块指定导入舍否函数,定义一个 num 的 列表,里面包含整数元素,再调用导入的舍否函数将 num 参数传入,最后运行后, num 的 列表的元素就被随机打乱了顺序。 我们再看到下面代码,我们还是导入 random 模块,我们还给 random 取了个别名。二、因为需要生成一个随机一到一百个数,所以我们就要调用 random 模块的 random 的 函数,它就是用来随机整数的,然后 random 中的参数填我们需要生成的范围。最后我们来看运行后,它生成了四十五 派脏模块的搜索遵循固定的优先级顺序,首先会查找当前脚本所在位置,这是优先级最高的环节,直接在执行派脚本的文件夹中解锁目标模块,若没有找到, 接着会便利派赠帕环境变量指定的目录,按该环境变量配置的路径顺序依次查找,之后会去派藏标准库,目录就是派藏安转时自带的标准库存储文件夹寻找,最后才会解锁第三方库安装目录,就比如塞帕克这文件夹存放屁帕安转的第三方库,若此环节还是没有找到模块,就会抛出异常。 我们通过今天的了解,知道了模块基本概念、导入方式和使用方法。最后希望大家课后多熟练这些知识,下节课我们将学习常用内置模块。

hello, 大家好,欢迎大家来观看本次 python 入门课程的第三节。我们在讲解今天课程内容之前,我们先来复习一下之前所讲的两节课的内容。 首先我们第一节课讲解了能够实现功能的单词叫做关键字,然后我们第一节课学习了 print 关键字和 input 关键字,一个是显示的功能,一个是输入的功能。那好, 我现在书写了两行代码,第一行代码的意思,中间这个符号我们上节课讲解,它叫做负值号,然后左边的呢是变量的名称,右边通过 input 关键字实现输入的功能,也就是说我第一行和第二行的功能是在运行的时候可以使用两次输入的功能。 然后第三行代码的意思是我可以运行出来显示第一个变量,加上第二个变量的和,那我们来尝试一下。 好,我们先输入一个十二,加上二十。好,我们来看一下它的结果,那正常状态下,我们的结果是不是应该是三十二?我们来看一下是不是会符合我们心目中预期的结果。 哎,我们发现了一个问题,就是你虽然输了十二和二十,但是他好像并没有给你计算,只是把它连在一起,是因为计算机不会计算吗?其实并不是这样的,这就是我们今天要讲的内容,它叫做数据的类型。 好,那我们先逐步来拆解一下这个词的意思。首先我们在第一节课的时候讲过数据是什么?是编程中 内容,那我们要思考一个概念,就是内容这个词汇包含的面积太广泛了, 什么东西都叫内容,图片也叫内容,数字也叫内容,视频也叫内容,难道这些是完全相同的吗?其实不相同,我们目前所能接触到的数据有一些基本的数据类型,我们来看一下。 好,这些就是我们基本的数据类型。首先第一个 int 整型,这个其实很好理解,就是我们所说的整数。 然后第二个 float 浮点型,就是我们说的小数。第三个是布尔类型,布尔类型在编程当中我们理解成为逻辑的真假。简单来说,计算机只能理解两个事情,一个事情就是这个事情我可以做,一个事情是不可以做,当这个条件是可以达成的时候,它就认为这个是真的可以做, 而不可以达成的时候,他就会认为这个是假的,不可以做。最后一个是 string 制复二类型,它有一个特殊的注示,它说使用单引号或双引号括起来的任意文本,也就是说我们第一节课在学习的时候,我们打印出来的内容,哎,我们打印这个 hello, 它就是一个字母串类型。那为什么我们在运行的过程当中,我们发现了刚才的两个内容相加,它显示的不是计算结果,因为我们使用输入的功能 默认是字母串类型。为什么呢?因为字母串最广泛, 文字可以是字母串,数字也可以是字母串,所以默认它就是字母串类型。而如果我们想要让它不是默认的效果,比如我们的需求是想计算它,那么我们需要的效果就是 先书写你要使用的类型,然后再去书写你需要使用的功能, 我们在同里复制一遍。好, 这一次我们再打印 十二加十。好,这一次我们就能够计算出它最终的结果。同理,如果我们需要其他的数据类型,比如我们需要浮点型,也可以用相同的方法去定义。 好,我们再来运行一次。那十二加十,大家发现没有?如果我们把它定义成为浮点型,那么它默认的状态就会给你保留小数点后一位, 因为无论你计算出来是否有小数点后一位,你定义的都是这个数据类型,所以它一定会给你保留好,大家学会了吗?


嗨到难皮数据分析一百题,今天是配套学习文档学习资料直播公开课主页粉丝群六十一题。找到数组中与给定值最接近的值,我们首先得有个数组才行, number 点, random 点与你一否,取他们的一些均值吧。哦,不,是均值,取他们的这个一零到一之间的均值,零到一之间的十个数均匀分布的好。 a r r 写着等于号,这就有了 print 打印这个 a r r, 反正他每一次都是随机的。那现在我们要去拿一个给定值吧,给定值你等于来一个,比如说来个 z 等于零点五,我说他这个最靠近零点五的,那其实说白了就是先把它们变出来,然后来个相减,相减,然后得到结果,是负循环的方式。嗯,那我们可用用什么呢?一个 a r r 点, 它里面一个叫做 flat, flat 这个进行一个底袋中空扣起来底袋区里面那个 number 点他们的 a, b, s, 取一个,取一个他们的绝对值吧,括扣起来 a r r 减去 z, 这没毛病啊,每个里面减去 z, 然后拿他们的最小的 a r g a r g m i n 快 过去它结果的话就是 m 吧。写个等于号,那你在后面也可以打印这个 m 啊,把这个 m 一 起打印出来,运行一下零点四三九,零点四三九在这里,离这个零点五是最近的。 再来运行一遍零点五六了,也是跟这个零点五是最近的吧,零点五六在这一块。行啊,那我们来看六十二题, 一三和三幺两个数组如何在 number 中手动实现叠代气气顺,他们的和一三就是一行三列啊,三呢?三幺呢?就是三行一列, 那我们要去实现他们的和相加,你必须得让他们的形状一致才行。如果他们的形状,比如说这是一行三列,这是三行一列,他不是三行三列的,那你就没法去不好相加吧。所以我们其实可以把他们先写出来,然后把他们的这个数组的一个维度啊, 添加,添加就是扩扩充成三,三行三列嘛,然后再来进行一个相加就可以了 啊。那现在呢,我们首先来一个 number, 点 a、 r、 i、 a、 y 挂钩了,中勾号,中勾号来一个一二三, 这是我们的 a, 那 个 b 的 话是等于 number number 点 a、 r、 r、 u、 y, 跨过去来中括号,一个,两个,三个,那么分别了一个四五六吧, 五六好有了。现在下面这一块呢,就是给它们做这样的一个四五六吧,五六好有了。现在下面这一块,它里面的方法叫 tail, tail 好,扩充好之后呢?基于基于谁呀?先把这个 a 给扩充吧,因为这个 a 现在是一行三类嘛,我们给它扩成成三行三类,三行三类就括起来就是三行三类吧 啊,这里我们可以来个 a 下划线 r、 e、 s 的 一个结果,写个等号就可以了。那最终这一块呢,我们也可以直接来打印一下,快过来,前面的就不是打印了, a 下划线 r、 e、 s 跑一下, 大家可以看到是三行三的一个一二三,那你如果把这里改成二呢?就是就这边是相当于是两个了啊,一块一二三,一二三,那你如果改成三呢? 很明显它就是九类了,九类了,那我们这边就不是真音啊,写个一,那下面这一个 b 呢?那这就好办了啊,直接改成 b 就 可以了,这里改成 b, 然后反过来吧, 这是一,这是三,好,有两个了。其实呢,我们再把它们进行一个相加,就大功告成,所以它这块能大吗?也没那么大 i s, 就 写个 i s 吧,等于。好, 那我在最终这里我先把这两个给打印一下,一个两个,最终再来一个 plant 括起来, i s, 也可以进行一个打印来跑一个,大家可以看到它现在的这个效果就已经出来了, 就是两个维度的数组啊,进行一个相加,首先呢就是围绕着一个核心点,就第一个先把它们扩展成这个形状一样的,然后再去做这样的相加,就可以得到一个结果,配套学习文档、学习资料、直播公开课、主页粉丝群。

拍脏从零开始学第三章三点一一常用内置模块大家好,上节课我们学习了模块的导入与使用。我们了解了模块是一个包含拍脏定义和语句的拍文件,里面包含了各种使用的功能。这节课我们将学习常用内置模块,内置模块包括 os run 和 time。 我 们先来看到 os 模块, os 模块是拍脏标准库中用于与操作系统进行交互的核心模块。简单来说, os 模块就是拍脏给你提供的 用来操作操作系统的工具包,能轻松搞定创建文件夹、删文件、查路径。 o s 中有很多常用的函数,就比如 o s 调用 get 会的函数,可以用来获取当前拍藏脚本的工作目录。绝对路径, 我们可以看到下面代码,我们导入 o s 模块,再用 o s 模块调用 get 会的函数,我们就能找到当前打代码的这个文件的位置。然后我们再看到 o s 调用类似地儿函数,它可以指定目录下的所有文件和子目录。 我们看到代码,我们指定了 c 盘用户零六中的零七文件夹,当我们运行程序后,我们发现它将我们零七文件夹中的 a 和 a b c 两个文件夹,还有一个 text 文本文件用列表的形式输出出来了,然后还有文件和目录的创建与删除操作。比如我们要在 c 盘用户零六中的零七文件夹新建一个新文件, 运行后,我们就看见零七文件夹的文件就被创建成功了。 o s 模块中的润木函数只能删除文件,不能删除目录。我们指定 c 盘用户零六中的 c 文件夹中的 text 点 t x t 文件运行程序后, text 文本文件就不存在了。 o s 模块二点函数可以用来删除目录, 就比如我们想删除 c 盘用户零六中的零七文件夹中的 a、 b、 c 文件夹,运行之后,我们看到零七文件夹中就不存在 a、 b、 c 文件夹了。 然后我们来看到 random 模块,上节课我们说过它是用来生成随机数的,应用的场景也是非常广泛的。 random 模块调用 random 函数,其中 random 函数中的参数是输入一个范围值,用于生成有范围的随机整数。 random 模块调用 random 函数,用于生成一个大于等于零且小于一的随机浮点数。 random 模块调用戳子函数, 用于从传入的序列中随机取一个元素。接下来我们来看到代码,首先是生成一到一百的随机整数,只需将 run 的 模块调用 run 的 函数中的参数输入一和一百,就可以生成随机一到一百的整数。然后就是随机生成浮点型,随机生成浮点型 只能生成大于零小于一的范围的浮点型小数。最后就是在列表中随机一元素,我们定义一个拉可列表,在初一次函数中填入拉可的参数,这样在运行中就可以随机一个列表中的元素。最后我们看一下我们运行的三个结果吧, 我们在一到一百种随机到了数字四,然后还有的随机浮点型,还有最后在列表中随机到的好幸运乘以二的运势。最 后我们来看到 time 模块, time 模块主要是用于处理时间有关的操作,就像 time 模块调用 time 函数,我们就可以获取从一九七零年一月七日零点零分零秒到当前时间的总秒数。还有 time 模块调用 log time 函数获取当前本地结构化时间。最后就是 time 模块,调用 c 函数就可以让程序暂停执行指定的秒数。 我们来看到下面案例。首先第一段代码就是计算一九七零年一月七日零点零分零秒到当前的时间的总秒数。第二段代码就是显示当前年份,其中 t、 t、 m 约是指定只输出的当前年份。第三段代码就是 seed 中的参数四,就是在运行后暂停四秒后再输出下面的运行成功, 咱们来看一下运行结果,这个就是第一段代码所输出的值。下面是获取当前的时间,里面的 t e m 约是对应当前时间的变量, 就比如我用 t 变量调用的 t m 尔变量这个年份,所以下面会输出二零二五。最后一段大家可以自己尝试一下是不是可以暂停后再输出。 这节课我们学习了三个常用的内置模块, os 模块可以让我们操作系统管理文件和目录,让的模块可以生成随机数。 time 模块可以帮助我们处理时间相关的操作,大家课后可以多练习多使用它们的方法。下节课我们将学习第三方模块的介绍与安装。

python 中有一个没人使用的秘密运算符。要使用它,我们需要从 future 中 import berry as fluffle, 这将使我们能够使用菱形运算符。这实际上只是不等于这一逻辑关系的另一种表达方式。当我使用这个特定的例子来运行它的时候,所得到的输出结果是 true 和 false, 因为一并不等于二。 这里我们得到 false, 因为一等于一。但请您务必注意,一旦将其导入使用,就无法再使用常规的不等于运算符,否则可能会引发语法错误。

面向过程编程和面向对象编程,相信大家对这两个词都不陌生,他们究竟是什么?在接触对象之前,我们写代码基本都是遵循面向过程的思路。这种编程方式核心是把要实现的完整任务拆解成一个个有序的步骤,再按序执行完成。比如在写一个计算学生总分代码时,会先写读取成绩,再写成绩累加计算总和, 最后写输出总分代码会按照这三步的顺序依次执行。而面向对象编程,就如他的名字所言,以对象为核心来组织代码模拟真实世界的思维方式。先明确场景中有哪些核心对象,在定义每个对象拥有的特征和能做的事。 比如计算学生总分时,学生就是核心。构建对象,我们先构建这个对象,让它自带成绩这个属性,同时封装计算总分。这个方法构建完成后,直接调用学生对象的计算总分方法就能得到结果。 相比面向过程编程直接聚焦步骤,全程按既定步骤推进。面向对象编程会将事物分到对象上,让每个对象承载对应的属性和方法。如果还是一知半解,可以参考这个高赞回答。面向过程是编年体,面向对象是记转体。

今天又教你们指真了,点击命令行,输入 a 等于三六九,这个命令就是让 a 乘一个数字,盒子里面是三百六十九。 第二个最重要的一点来了,看我上期视频的都知道,时针必须是 b 等于 a, 不 然它不叫指针。然后让 b 修改盒子里第一个数,改为一,注意拍字 on 里第一个是零而不是一, 然后打 e, a 这边幺六九就出现了。你学废了吗?好了,再见。

接下来呢,我们来看浮点数,这个浮点数的概念呢,和数学中实数的概念差不多。首先我们来看一下这个二点七五和这个七点零零,他们肯定都是浮点数啊,我们说了,只要有小数点,他肯定是一个浮点数,而这个三点一六一七,他是不是浮点数呢?是啊,因为这个地方是有小数点的, 而后面这个二一负八,这个里面是没有小数点的,但是他也是一个浮点数,这个二一负八和这个三点 一六一七,我们称为 e 计数法。这个三点一六一七,它其实就表示的是三点一六乘十的七次方啊,这里有小数点,它是一个负点数,而这个二一负八呢,它表示二乘十的负八次方啊,你把它写成一个小数的形式,你就可以可以看出来,它也是一个小数啊,是负点数。 关于这个 e 计数法呢,之后呢,我们还会哎,还会给大家讲这里呢,先提一下这个概念,那么接下来呢,我们来看下这个浮点数的存储方式,浮点数的存储方式和我们整数的存储方式是完全不同的。我们来看一下计算机把浮点数分为小数部分和指数部分啊,比如说我们这个地方, 呃,哎,这个地方三点一六一七,这个三点一六呢,哎,就是小数部分,这个七呢就是指数部分。随后呢我们这两部分小数部分和指数指数部分分开存储。 好,我们前面说了,这个七点零零,它是一个浮点数,而这个七呢,它是个整数,所以说他们是完全不同,哎,不同的类型, 它们在存储方式上是有本质的区别的,这个七呢就是我们前面讲的,首先把它转化成一个二进置,然后然后存储起来,而前面这个七点零零呢,它是一个, 它是一个浮点数,我们要把它的小数部分和指数部分都表示出来,然后呢分开存储啊,比如说这个时候这个七点零就可以写成零点七 e 一, 随后呢零点七就是小数部分,一呢就是指数部分,然后呢分开存储。 这里呢大家要注意一下,不管是小数部分还是指数部分,他们分开存储的时候都是以二进置的形式来存储的。 下面呢我们来看一个简单的例子,我们计算机在存储浮点数的时候,这个过程呢是非常繁琐的,这里呢我们就在直观上把握一下,比如说我们现在有个浮点数,三点一四一五九,那随后呢我们先把它转为 e 计数法,就零点三一四一五九,最后呢哎 一一,前面的这个是小数部分,后面呢这个是哎指数部分,对吧?小数部分呢就零点三一四一五九,指数部分呢是 一。那么我们计算机呢就单独的存储,哎这两部分,而且呢都是以二进一制的形式存储,至于如何存储的,如何把它转换成二进制的,这个地方呢大家就暂时不用管啊,关于我们在存存储这个符号的指定,我们当前这个数它到底是个正数还是负数啊?有这样一位 关于这个计算机存储我们这个浮点数,我们在后面的章节详细的给大家讲相关内容,这里呢大家就在直观上把握一下,那么接下来呢,我们就着重讲一下我们这个呃整数类型和浮点数类型它们之间的实际区别。 首先第一个区别啊,很简单,整数呢,是没有小数部分的,而我们的浮点数呢,它是有小数部分的。第二点,浮点数呢,可以表示的范围比整数大,这个也很好理解,对不对?那么重点是第三个,我们来看一下第三个是什么意思, 对于一些算数运算,浮点数损失的精度更多,那么接下来呢,我们来着重解释一下这个第三点, 对于我们的整数来说,计算机在存储的时候就是二进值是几就是几啊,它是可以表示的,你存进去是五,那么拿出来之后还是五。但是呢,对于浮点数来说,由于在一个区间内有无穷多个实数,我们计算机的浮点数呢,不可能把这个区间内所有的值都给表示出来。 通常呢,我们这个浮点数在转化的过程中,就会把原来的实际值变成一个和他非常相近的近似值。哎,比如说你存进去的时候是想,是想让想存七点零,但是由于在转化过程中会造成一些损失,存的存进去之后呢,就变成六点九,九九九九,后面有很多个九啊,这个到底有多少,多少个九,或者说到底有多 多精确,哎,多多近似完全是取决于你计算机的性能,那么在存储的过程中就会造成一部分损失,随后呢, 当两个很大的数相减的时候,也会造成一些损失,哎,这个数很大,那么小数点前面的部分是非常大的,那么存储这样一个数,他的位数是有限的,那会有占用更多的位, 哎,来保存我前小数点,小数点前面的这些数,而留给我小数点之后的这些数,哎,这些位呢就不多了,所以说小数点之后的数的精度呢是无法保证的,于是呢两个很大的数一减,那么这个时候呢,在运算过程中也会损失很多精度。 这里呢我们就直接给大家展示一个例子啊,我们来看一下,对于当前这样一个问题, a 减 b, 大家来看一下结果应该多少呢?应该是应该是零点零零零零零零零零 九,这是一个非常小的数,对不对?而且呢这个总体来说,这个 a 和 b 它们这个数都是非常大的数,那么接下来呢,我们就来运行一下,看看它这个结果和我们预想的结果是否是一样的, 可以看出来。最后大家来看下这个结果呢,是零点零零零零零零啊,就是零,和我们说的那个最后有个九,这个数字是完全不一样的,这个过程呢,哎,就是损失啊,这个精度呢就损失了。

pasa 从入门到精通,今天是第八节变量的使用和更新, 今天我们一起来学习一下关于变量的使用和更新。大家好,我是图灵学的明天老师,我们今天就一起来看一下。先来看到变量运算的定义是什么,更多 pasa 学习资料可点击主页粉丝群领取。 那么变量它可以直接参与计算,就像我们这个数学里面代数里面的 x 和 y, 那 么我们用一个实战的案例去给大家讲解一下这个概念。 ok, 直接打开我们这个 python 的 编辑工具。那首先我们需要去定义一个变量, 通过上节课我们的学习,我们已经知道了这个变量的声明是由一个等号组成的,等号的右边是变量的值,等号的左边是这个变量的名字,那这个就是我们的标签 写上这一个赋值语句,他在我们这个计算机里面到底做了什么样的事情?首先先会在这个内存里面去开辟空间,去存储我们这个十的值,最后再把这一个 price 的 标签去 把它打在我们这个十的数据的上面。好,这是这样的一个过程,那接下来我们去模拟这个变量的使用的过程,比如说我有个需求,知道商品的价格和数量,帮我计算所有商品的总价格。 好,这是我们的这样的一个要求,我知道这个商品商品的单价还是是数量是二十个, 那帮我计算一下所有商品的总价格,我们现在已经是声明了这个价格的变量,那接下来是还需要去有这个数量的这一个变量好数量,我们就使用这个单子去进行一个替代,好给他打上数量的标签,好打上之后我们现在再做一个总额的 生成, ok, 这么去写,那么它的总价格是多少我们知道吗?这个商品的总价格可能是商品的单价乘以它的数量,所以说我们在这里只需要去把这两个值去进行相乘就可以了。那有没有同学直接这么去做,直接十乘以二十。当然我也不能说你错,因为确实在我们这个数学思维里面就是用这个 去实现的。那如果说我加一个条件,我说让你去使用这个代数啊,去给我去实现这个过程,那你聪明的,你一定想到了 在这个代数里面是使用的这个 x 代替这个商品的单价,使用的这个 y 去代替商品数量,那其实在我们这个编程的思维里面也是一样的,只不过我们这一个 x 和 y 去使用了英文单词去进行替代,所以在这里我们也是一样的去用这个代数的思维代入到我们这个计算机编程里面 是非常好的。好,现在我们就可以看到,那有一些同学说,老师这个计算机里面总是用新号,我们不是用这个乘号去表示的是一个乘法操作吗?那当然不是,我们这个计算机里面他就是使用的这个新号 去实现了。我不管你在这里写个乘号,你看到了没有?下面是报了一个红色下滑的拨浪器,你直接右键执行下这个代码,是不是直接报错的 测试你他是一个不合法的是一个代码。所以说我们在这个地方一定要注意一下了,在这个编程的思维里面,我们是使用新号代替乘号。好,所以说给大家去做一个小小的总结。这里我们是使用变量计算乘法操作, 那我们是用新号表示的乘法。这个时候就有一些同学问学姐啦,那我使用什么表示?加法还是加号?使用什么表示减法还是减号? 那我使用什么表示这个除法?除法就不一样了,你们可能说是两个点中间一个斜杠的那个除法,不是,我们这个编程里面就看你的键盘里面到底有没有我们这个数据库上面写的这个除法吗?没有的,我们是使用的一个斜杠去表示的这个除法。 好,那还有一些同学问,那取整,我想要去求求到这个整数,这也是我们的取整,那还有一些同学取好取是这个百分号。好,当然我们现在只是做一个简单的了解,后面我们会去学习一个章节,叫做运算法则, 这个章节会给大家去更为详细的去了解这几种的运算。好 几种变量的一个计算规则,后面的话会给大家详细的讲,所以现在我们简单的了解一下即可。好,那现在我想去验证一下啊,这个 我使用的代数的一个表达形式,它到底能不能给我计算出最后的这个加和,所以我们直接去使用这个 print, 因为这个 print 我 们也学习到了它的功能,就是打印输出。好,打印一下我们的这个总额,看一下能不能行,这里我们 思考一下,如果说他能行,他的这个输出应该是多少?十乘以二十,那就是两百。 ok, 右键运行一下,看是不是两百。 好,没问题啊,这个就已经是输出了他的乘法的一个值了,包括你可以去把它改成是这个减号,你也可以右键运行一下这个代码,那他会输出一个什么?他会输出负十,没问题。好,加法也是一样的,你把它相加一下,那最后他要是输出了一个三十。啊。好,我们就这个的话就讲到这里 来,换成是我们这个乘法关于这个变量的一个使用,我们就讲到这里,那接下来我们再去了解一下另外的一个概念。好, 再去看一下我们这个变量的重新赋值又是什么意思?顾名思义,重新赋值就是重新给我们这个变量一个值呗,你可以随时的去撕下这个标签,那这个标签是谁啊?这个变量 可以把这个标签撕下来贴到另一个物体上面,那这个物体是谁?我们这个计算机里面的数据。好,那现在我们再来用这一个实战演练的一个案例去讲清楚这个点。 好,先把我们之前的所有的代码,我们给它注空,现在我再来右键一下运行一下这个代码,你会发现啥也没有了,这个退出代码已为零。好,所以前面的这一些代码他不会影响我后续代码的一个边界,刚好就符合我们刚 刚需。好,那现在我们再去讲解一下这个变量的一个重新赋值。变量的重新赋值是什么东西呢?重新赋值, ok, 首先我们还是得要有一个变量才行,比如说叫做一个分数,那这个分数给它初使化为零,可不可以?当然可以。好,那现在他的这个初使分数为零。好,我们来写一下,这是他的一个初使分数, 现在我可以去打印输出一下,我们去检查这个初设分数,他有没有给我存储起来了,我们如果说能正常的看到他的值,那说明什么?已经正常存储了,那在这里我们应该是会输出为零,来右键运行一下。 好,没问题,这一个变量我们就已经声明好了。那声明好了之后,我现在我比如说我参加了一个题目的,那写了一个题目之后,我的这个分数可能说就变了, 我写了一个题目,他给我加十分,所以说我们这一个分数应该要变了,他应该要变成十了,所以我直接这么去写可不可以?当然是可以的,那你这么去写,说明你从这个内存下面,你把这一个 circle 的 标签把它撕下来,撕下来又贴到了十的数据上面, 我们的这个内存,我们这个计算器还会在这个内存上面重新开辟一块空间去存储十的这个值,再把这个标签去贴到这个十上面。好,是这么个道理,我们现在就来看一下。啊,这你已经更新变量了, 你把他的标签撕下来了,所以说我们现在的四个二,他是指向的是谁?指向的是十, 不再是零了。这一点大家一定要注意,很多初学者就会在这上面犯错,也不理解他到底是怎么去运作的。好,那么我们现在再去打印输出一下这个分数,你猜他会是多少?刚才已经讲了复制了,他已经更新变量了,现在他如果能够正常输出,那么他输出的值就为十好, 我们可以测试一下,看它到底是不是这么个情况,那一开始它的这个值是零,在我们重新复制更新变量之后,它的这个值就变成了十好,没问题,只是重新复制。 那有一些同学就说,学姐啊,你这个操作有点太麻烦了,那如果说我要一直给它更新变化的,我就只能这么去写吗?我想把它变成是二十,想把它变成是三十,把它变成四十、五十、六十。哎,我每一次都要重新去写一个数值语句吗?好, 这个点问的非常好,不需要,其实事实上是不需要的,我们这一个程序他也考虑的了这一个点,所以我们可能直接这么去写,我们的缩略一下, 我们在这一个原有的变量基础上,我们让它实现自身的一个更新,后面也会结合上面就循环语句去实现,你不需要每次都重复的去给它进行一个复制操作了。那我们现在先了解一下这个基本的语法是长什么样子。比如说我想要去在这一个 sum 它的 原来的分数的基础上,让他有一个值上面的变化。你在这里他其实是有个规律的,他每一次变化的值,他每一次往上增加的变化,增加的值都为 十,每一次变化增加他都是增加十的,所以这样他就是有规律的直线就基于他原来的这个值的基础上,让他加个十不就可以了吗?好, 这么去写就是一个所有版本,你不需要每一次变化,二十的时候,三十的时候,四十的时候,五十的时候,六十的时候,你还在一股脑的把它进行一个之后的更新的值上面的变化,你直接给他加个十就可以了,再去结合上我们的循环语句,循环语句后面再给大家去讲,那这样能不能行结束也是可以的。你再去打印输出一下这个值, 那我们思考一下当前的这个分数它应该是多少?是零还是十?一会我说有一些同学说不知道,我不知道现在的这个值是什么, 还是说他会报错,我们也不知道,那我们可以去测试一下,可以去右键运行一下这个代码,我们看一下杠,他在这个第十八行他的值是多少,又发现他最后一次打印输出的时候就变成了二十, 那只有谁加上十等于二十,只有这个十加上这个十才是二十。所以说我们的这个分数,他在执行第十八行的代码的时候,他有没有值?他有值,而且他是就近原则 取到的,是临近他最近的这个数值语句取到的是十的这个值。所以说我们知道了,当我们去更新变量的时候,他的标签就一直是打在那个变量上面的,他不会变化的。所以说我们到这个步骤的时候,我们通过这个标签去取到的值也是这个十,十加上十就变成了我们这个二十, 其实我们当前的这一个重新赋值的这个语句也是可行的。好,再去结合上我们的循环语句,这个循环语句也是后面会给大家去讲的,比如说我们的这个,比如说他是小于一百的时候,我们让他去进行 加时的一个操作,并且我在这个循环的条件语句里面,我再给他就不断的去加时,那我们可以去打印输出一下,看一下我的分数的变化, 好来看一下,你会发现他就一直是从这一个二十加加加,一直加到了一百,不需要我们在每一次一直去写他的重新的复制的这样的语句,不需要在这里还才写一个二十等于三十,等于四十,等于五十,等于六十,就这么去写就非常的方便。 好,那这个外号语句后面会给大家去讲,我们现在先去知道这个四杠他的一个重新复制的这样的语句是有多种的。好在这里给大家写一个注解,这个是自身的一个更新, 他是可以去实现自身的更新的,先计算哪哪边的,先计算右边的,也就是说我们会执行这个十加十, 好,再复制给左边。 ok, 那 这个是验证一下我们的输出他为多少,他为二十。 我为什么要在这里给大家去讲到这句话,因为我有一些初学者,他总是理解错他,他总是会觉得先把这一个什么分数就赋给这个分数。 那,那你说这个代码他是什么意思吗?后面再给他加上一个十,那这又是什么意思吗?所以说这也跟我们的数学里面的这样的一个优先级其实是非常类似的,我们总是先记上去一个等号, 右边的这样的一个值,先执行这个加法操作,再去执行我们这个负值的这样的一个操作,先执行这个等号的右边的。当然我们这一个优先级后面也会给大家去讲,就有那一些,比如说我们加减乘除的 一些预算法则,他的优先级到底是什么样子的,后面也会专门出一些课程就大家去讲。那现在我们就了解这么多,就差不多就这么些。聊完这个变量的运算以及变量的重新赋值之后,我们现在再来下看到下一个问题, 关于我们这个拍摄的特性,那这个拍摄特性它有一个叫做动态类型的这样的一个特性,我们现在就一起来看一下, 这是拍摄一个非常灵活的一个特性,也最容易让新手困惑的一个地方,所以说一定要认真听那同一个变量的名字,他可以先后指向 完全不同类型的这样的一个数据。这个话大家理解起来肯定是非常灰色的难度的,那我们还是用这个实战来案例学大家去讲一下。好,还是这个案例,那我们再把这个代码给它注示一下 好,右键运行一下会发现啥也没有了,所以说他就不会去影响我们接下来的这个代码的操作,退出代码为零。好,没问题,那现在我们再去写一下接下来的这个代码 实战演练一下,给大家去讲一下拍摄里面的这个动态类型到底是什么意思,为什么同一个变量名他可以先后的指向两个完全不同类型的数据?好,现在我们就一起来声明一个变量 先去定一个变量,比如说叫这个 data 的 数据,那这个 data 我 给他写上一个一百的这个字,这一百是什么数据类型?前面有简单的给大家去提到是一个 data, 我 们这个一百它应该是属于整数啊,属于这个整数的一个数据类型。好,这是一个整数,这是一个整数。 ok, 在 我们台词里面也是使用这个 int 去进行表示,这个整数是 int 去进行表示。好,我们可以去使用 print 去打印输出一下,也可以去查看一下我们的这个 data 的 数据类型,它到底是什么?这个 time 是 查看数据类型的内置函数啊,跟我们这个 print 是 一样的用法,只不过它功能是不一样的,就是查看数据类型的内置 函数。函数是什么?我们不需要去下载,就不需要额外下载,就直接可以用的东西,这个内置函数后面也会给大家去讲,现在有一个基本的印象就可以了。好,那么我们的这个 print, 它其实也是属于这个内置函数, 它也是可以直接用的,你没有去做任何的额外的下载的动作。好,那么我们现在可以右键运行打印输出一下这个代码,看一下它能不能 它指明了我们的这一个 data 的 数据啊,它是一个 int 的 整数类型。好,这没问题,那么我们接下来再看一下下面的一个操作,这是我给这个 data 的 一个变量,我给它去进行重新复制, 在这里去进行一个重新赋值的时候呢,我改变一下,我不再是让它等于这个两百,或者是等于三百,对不对?等于这种整数的一个数据类型,而是我让它直接去改变一下这个数据类型,看到没有?我使用了一个引号,那说明接下来我要去声明的这一个数据,它应该是一个字母串的一个数据类型。好, 给它声明一个这个 hello, 我 们要知道了,现在的这个 data 它变成了四股串,四股串用什么表示?在我们的这一个单词里面去使用的是一个 string 去进行的表示, str 表示的这个四股串的数据。现在我也可以去打印输出一下这个数据类型,看一下,查看一下这个数据的类型。 好,右键运行一下这个代码,可以看到我们这个 data 的 数据,它由原来的这个整数的数据类型变成了现在的字不串。 str 的 这个数据类型, 我们这个排查是允许这样去做的,可能说有一些编程语言它是不支持这么去做的,那这个 data 原来是什么数据类型?你后面就老老实实地去给我去写什么数据类型, 不要一下载把它变成是一个字串的数据类型,或者说是一个不二值的数据类型,如果说你又把它变成一个乱七八糟的这样的一个数据类型,其他编程语言可能说是不允许的,但是我们这个拍子它是允许这样去做的,但是这里也是有一个注意点,给大家去讲一下, 也是有一个注意点的,虽然我们在拍摄里面他是允许这样去做的,但是在我们实际开发里面,为了我们这个代码的可读性,尽量不要频繁的去改变同一个变量的数据类型,所以这里也是我们需要去注意的一个点,除非你有非常好的理由,这也是为了提高我们这个代码的一个可读性哈。 再看一下我们的基础部分,差不多就已经讲完了,如果说你想学习这个基础的内容呢?那么到这里我们就可以跳过学习这个下一章节的内容了。 好,我们接下来要去讲的是晋级的技巧,来看一下还有一个小小的课堂练习,这个话是吧?说早了,这有一个小小的课堂练习,我们可以看一下, 大家可以截一下这个屏,把课堂练习把它完成,完成之后可以把你的答案放在这个评论区里面,老师也会一个一个的去看一下我们给出的答案到底对不对,可以练习一下。好, 截一下图,自己去实际的去演练一下,这其实就是我们讲的这个知识点,可以给大家简单的了解一下。将这一个什么变量 c 复制为你所在这个城市名字,比如说你是在这个上海的城上,那么就写上海,如果你是在这个北京,就写上这个北京,哎,如果你是在这个长沙,就写上这个长沙。好, 计算的是什么?就创建一个变量,叫做现在的年份和你的年和你的出生的一个日期,计算你的大概的年龄,并且赋值给我们这个 age, 计算给你的这个年龄是要去使用我们这个 age 的 这样的一个变量去进行赋值的。好,那就是这个意思。 还有我们的报错的一个体验,大家也可以去截一下屏,看一下你的这个报错到底是什么东西。我这里提示呢,想让大家去给出一个叫做热的一个提示,就注意一下。好,最后一个交换的练习题,这需要去把我们这两个字,这也是我们最新讲的这个内容,在这个地方我们才省的一个 重新复制交换值的内容,其实差不多啊。好,那么我们再讲一下这个进阶的技巧,我们在这里是有一个叫做多重复值的一个内容,那我们的定义是什么?说 high 省,他允许一行代码给多个变量进行复制, 你可能想象不到,那么我们还是用一个这一个案例去给大家去讲解一下这是什么叫做多重复值, 这比较有意思啊,多重复制,比如说你原来去声明这个变量的时候,你是这么去写的,比如说我要去声明一个 x 的 变量,好,它等于十,那么还有一个 y 的 变量,我比如说等于二十,那还有一个 g 的 变量,我比如说它等于三十。 好,你这么去写的时候,你会发现好像挺不方便的,不是这个等号呢?我要写这么多次。好,我们其实也可以去换一种写法,在这个拍摄里面,它是允许一行代码给多个变量进行复制的,这也非常的 nice, 非常的好。所以我们来看一下怎么去写,具体的这个语法是什么样子的?那我们可以这么去写。 x、 y、 z 等于能这么去写吗?发现了没有?直接给你报错了,你能这么去写吗?等于什么?十,二十、三十,你们可能知道我要写什么了,但是你看一下这里面他是不是直接报错了?你右键运行一下这个代码, 直接跟你说他是一个不合法的东西,你会发现他们中间不能去使用这个空格去表示,所以我们把这个空格,把它换成谁?换成这个逗号号, 注意了,这里是使用的这个逗号去进行的风格。 ok, 这也是一个逗号。好,这么去写就没问题了,这么去写就没问题了,我们把之前的这个复制的语句我们给他注视掉。好,现在我们可以去打印输出一下这个 x 和 y, 还有 g 的 这个值。当然我们打印输出的语句你就没必要这么去写了,就没必要这个 print 一下这个 x, 再 print 一下这个 y, 还有再打印输出一下这个 g, 你 看一下这个代码的 附用写太差了,所以说我们也可以怎么去写,直接把它就是一行表示,跟我们这个多重赋值的语句其实是类似的,我们中间也有一个逗号给他隔开。好,那现在他就可以给我去输出三个值了。右键运行一下这个代码,看一下有没有问题。没问题,这个又是打印输出的, 我们把之前的这个代码我们注射掉音像我们接下来这个操作了。好,现在我们再来右键运行一下这个代码。好,那现在就只有我们的十二、十、三十打印输出了。 这就是我们这个 x、 y、 z 它的一个多重复值的语句,我们现在可以拿到它们的这三个值,而且是使用两行代码就解决掉了。你像之前去写,你要使用六行代码,你才能去实现这个功能,你至少要写六行代码,但是我们现在就只需要去写两行代码就可以了。好, 这就是关于我们这个 python 里面的多重赋值的一个进阶技巧。除了这个多重赋值的进进阶技巧之外,我们还有一个进阶技巧需要给大家去讲一下的,是变量值的一个交换, 我们像其他的一些语言,他可能需要使用中间变量才能去进行变量值的交换,但是在我们拍摄里面只需要去使用一行代码就可以去实现这个值上面的交换啊。比如说我们现在一起来看一下,好,先把这个代码注射掉。像其他的语言,我可能说有一个 a 的 值, a 的 值,比如说是十,还有一个 b 的 值,比如说是一个二十, b 的 值比如说是二十。现在我想要把 a 的 值和 b 的 值去进行的交换,那可能说我可能 a 开始我会这么去写,比如说我有一个中间变量,这个中间变量比如说是。

一题搞懂 python 递归看这道题, f x 等于二加 f x 一, f 零等于求 f 三先拆 f 三等于二加 f 二, f 二又等于二加 f 一, f 一 是两加 f 零, f 零已知是一。用 python 递归复刻这个逻辑, x 等于零时返回,一是终止条件。 先定义函数 f x, 通过 if 判断,若 x 横等于零,返回一, 否则返回两加 f x 减一 调用函数 f x, 并使用 int 改变 input 输入的数据类型, 然后通过 f string 格式化输出。结果核对上学费了吗?评论区扣出你的答案。