说一下那个就是 ico 里面拍什么他一些最基本的操作啊,左转、右转,还有那个 dv 的,他的那个前进后退, 比如说这里,这里我们要怎么写呢?可以这样写,第一位他前进几步?三步,对吧?这三步,那么就是如果我们考虑他是正向走的话,那么是第一位他应该是左转,对不对?那同时第一位走几步呢? 这里九步,这七十一要走四步,可以看下这个, 对吧?那是正线走,那我们考虑呢反线走呢? 啊?这边应该是负数。知道啊,这是一个最基本的啊, j s 就这 正数是四,那就是正向走的减四是负数负四,那他是后退的,看下效果, 对吧?这就是 python 它里面的一些最基本。
粉丝443获赞703


那么我们来练习一下 while 循环, while 循环单词,大家可以敲一下,记一下,非常用的,非常的啊,非常多的这个 while 循环啊,点了 while 循环,我们来复习一下上节课,上节课我们学的一个叫 for 循环循环,它是一种计数循环, 那么 while 循环是什么循环?它是条件循环啊,根据条件进行循环。 while 循环其实跟异乎条件分支它有些相似,它们的语法结构啊,都是关键字后面,因为这个条件表达式,当条件表达式为促使执行这个下面的代码块, 如果说它为 force 的 话,执行 else 里面的部分,当然这个 else 它是跟那个 if 条件语句类似的,它是可选的啊,我给大家写一下,我们先来一下这个 if 条件语句, if, 如果条件成立,那么它就会执行,就快, 我要注视一下,免得这个老师报错每一个语句组, if 条件成立,把执行里面的语句组, else 是 我们可以不写的,然后这里执行另外一个语句组, 这是 if 条件语句写法,那 while 语句其实跟它差不多,就是 while 条件,这个条件如果成立的话,那么就执行里面的语句组,这个语句组叫循环 体,那 else 就是 不满足条件的时候,它就会执行这个语句组。二、这是它们相似的地方,可以这么去 接一个 else, 它们的区别在在于什么地方呢?是 if 条件满足的时候,这个语句组啊,只会执行一次 l 循环,当这个条件满足的时候,它会一直循环,也就说这语句组 e 啊,它会多次执行,只要这个条件满足 else 他 们都是一样的,就是当这个条件不成立的时候,他会执行一次啊。这边同学们就是我们把衣服 else 跟这个 well else 进行了一个结合的讲解啊,希望同学们能够加深印象,正确理解,熟练掌握。那么接下来我们来看一下这个 well 语法的直 行顺序,来学习一下 y 语法的代码执行顺序,首先啊,这叫流程图,首先从这个开始,然后进入循环条件,这个条件 y 后面这个条件叫循环条件,循环条件如果满足的话,也就成立,他如果是处,这条件拉伸是处, 会执行循环题的语句组,然后里面呢?如果会啊,这里 break 或 return 我 们现在还没学,如果没有,现在我们当做是没有,没有的话我们先不管,他就是说执行完这个循环题语句组,他就会回到这个 循环条件,再一次判断这个条件是否成立,如果成立的话,再继续执行这个循环题语句组,执行完之后又回到循环判断条件,如果这时候循环条件不满足了, for 死了,那么他就执行 else 语句, 如果 else 语句没有呢,那就直接回到的程序的后面的代码,或者说直接就结束了,这个整个就是它的流程图里面的 get 和 return, 或者说啊 continue 以后我们会再剪,我现在默认就认为执行完这个域组之后,它就来到了循环条件这边,给大家剪了一下这边 可能对这个代码的写法啊,看到这个语法之后,印象还不够深刻,那么我们以代码的形式帮助大家再来理解和记忆一下。在前面的课程中我们了解到循环就是让计算机程序周而复始的重复去执行同样的步骤,并且我们使用 for 循环实现了这个一到 一百各个整数先加的和。既然都是循环,否循环能完成的事情,否循环应该也是同样可以完成的,那么 buff 老师带着大家一起来尝试一下。开始之前我们来理一下思路啊, 否循环和否循环不同,否循环一般是有确定的循环次数,这一个表达式计算它有多少次循环,那否循环不一样,否循环它需要一个条件,也就是一个表达式的计算结果来控制是否继续执行。那么要求和啊,我们首先就要写下, 写下一个和和等于多少,我们一开始要置为零,那接下来我们写 y 循环, y 后面要接条件表达式了,这个表达式要一个东西来控制它,这个控制,这个拿什么来控制?我们能想到最简单最容易的一个方法就是拿我们这个加速来进行控制, 也就说这个数已经加加加加加到哪里去了?加到如果说等于一百了,那么下一次就不再加了,一百就是最后一个要加的,也就是个加数加数如果是 y 情况是条件满足的话就执行,那么这个条件什么情况下满足啊?小于等于一百的时候,说明 这些数都是需要加上去的,加到哪里去啊?得加到这个盒里面去,那大家看到这个加数报错了,因为我们一开始没有定义,我们必须要电链,在使用之前要先给他负一个出值,得出值应该负值为多少? 出值是我们是求一到一百的这个数的和,是不是从一开始第一次就要把这个一加上去?比如说这个加数开始是等于一,然后加数小于等于一百,这种情况下满足条件就继续添加总和吧,好听一些。 那总和一开始我们是等于零,那么一符不符合条件,符合条件总和就加等于这个加数,这时候是一对吧?哪个数代表一啊?现在加数是代表一,所以说我们要把加数到这个总和里面来,最后我们把这个总和给打印出来, 那么一到一百各个数先加的和等于总和,同学们来一起看一看,这样我们就实现从一加到一百了,大家看没有没有任何的结果输出。为什么?大家有没有注意到有个红点点,当我们这个代码运行完了之后,这个红点点就 变了,现在我们没有变成绿色,这个代码一直在执行当中。同学们有没有发现问题?这个总和等于这个总和加数,也就是总和加等于加数, 虽然这个总和一直在变化,但是加速没并没有发生任何变化,那么这个条件就一直循环啊,就总和在不断的增加。所以说我们现在的变电控制是这个家属,那么家属必须要做出改变了,家属他的改变怎么改变? 他每次在自己的基础上加上一,因为我们的家属一开始是一,然后是二、三、四,每次在自身的基础上增加一,就说加速,每次也在哪加就加速,哪加 加等于一,这样的话加数就在不断的变化,不断的变化了,然后我们再来运行看一下,这样就实现了一加到一百啊,总共等于五零五零。同学们有没有发现,虽然 while 循环跟 for 循环都完成了一到一百,各个整数先加了的,和他们的逻辑你是截然不同的。 所以我们以后再遇到需要循环来处理的时候,应该先思考一下循环的次数是不是明确的,或者是否有明确的达成条件,根据问题这个情况来选择具体使用哪种循环结构啊?有些情况其实使用否循环或者否循环,他们的差别是不大的。

过了,小伙伴们,我们通过了所有的测试,用力立刻一百五十一的反转字母串中的单词,他给你个字母串 s, 请你反转字母串中单词的顺序,大家直接看一下,市里 每一个单词之间是由空格来分割的,但是呢,有一些字母串前面有前导空格和尾随空格,这些空格都要被处理掉,甚至中间有多个空格都要被处理成单个空格来。 那我们最终返回的结果是每个单词被反转了,并且每个单词之间用空格进行分割。这道题的实现思路非常的简单,我们首先将这个 s 直接通过内置方法 split 进行切割, 切割完以后就是一个单词的列表,有了这个单词列表之后,小小伙伴们不要去调用 reverse 啊,因为它是一个内置函数,你应该自己来实现。像这样的一个结果呢,我们直接通过左右时针就可以实现, 一个指尖指向最左边,一个指尖指尖指向最右边。 left 一定要小于 right, 同时 left 要加等于一向右移动, right 要减等于向左移动,没问题,在移动过程当中,你需要做的唯一的一件事情就是将 left 和 right 这两个单词进行 交换,直接把它们进行交换, ok, 此时我们的代码呢,就已经完成了整个单词的反转,但最终的结果要求的是什么呢?他要求的返回的是字互串,所以小伙伴们用单个空格进行 join 进行连接,直接将我们的 word 放进去,这样子我们的代码就实现了提交过了小伙伴们,我们通过了所有的测试,用力!

比如我们现在持有了大量的黄金,那么如果金价达到一千二,我们就自动迈出。在排申中,波瑞克可以实现终端循环的指令,它的意思就是停止终端,它一般跟在 for 或者 while 循环中,当满足条件时,波瑞克就会进行停止运行。 在各种循环场景中,比如查找数据,密码判断等等。但是在这里要注意的是,布瑞克语法中,它必须写在循环的内部,如果写在了循环外面,就会导致程序报错。而且布瑞克是一个单独的单词,不需要加引号、括号这些符号就能够实现种植的效果。 那么如果我们要实现打印一到五的数字,打印三是停滞,那么你就可以用 for 循环加上 break 写上 for i in range 六,因为取值是五,所以写上六为中指位置。这里再写上 if 条件, 如果 i 等于三,那么 break 就 停止运行,然后跳出循环,接着打印 i 输出的结果就是一和二,因为打印到三的时候, 也就是 if 条件被满足了,则会进行布雷克终止代码,并且跳出循环。这里要注意了,这个 if 是 属于负循环的,而这个布雷克是属于 if 判断语法的,它们前面都各自加上的空格,缩进来表示代码的归属。 别看这个好像很简单,没什么用,学会了你就能够模拟股票卖出的价位。比如我们现在持有了大量的黄金,那么如果金价达到一千二, 我们就自动卖出。我们先导入随机模块等会要用,接着命名一个列表,就是精致的浮动价格。接着我们用 f 循环,里面放上一和三十一天, 模拟从第一天到第三十天,再导入随机模块,从列表格式中任意取值,作为当日黄金价格,接着用 print 打印出每一天的价格。这里 print 中的法语法,看不懂的去看我之前支付传拼接的视频。 然后如果价格大于等于一千二,则打印出超过一千二卖掉,最后跟上 break 结束循环。如果说不加 break 的 话,假如第三天进价就到一千二了,它会打印出卖掉,但是程序还是不会停止运行, 会接着输出第四天,第五天,一直到第三十天的价格写好了以后,我们运行代码,显示屏上就会出现第一天进价,第二天进价,直到进价达到一千两百的时候,就会打印出超过一千两百,并且卖掉。 接着我们再做一个 ct, 玩一个猜数字的游戏,如果数字猜对了,就结束运行。同样的,我们先导入一个随机模块,再命名一个变量,存储随机的值。这个 random 点 random 和 choice 不 一样, random 是 在一到十中随意取值, 后面加括号和随机范围即可。而 choice 是 在某个列表或者变量中取值,需要提前命名好变量,再在 choice 后面加上变量,接着打印出猜一到十的数字。 现在开始协助程序 while true 创建一个无限循环,它和 break 是 一对经典组合,用来实现重复执行,直到满足某个条件才退出的场景。用 guess 存储用户输入的数字,如果猜的数据和 secret 的 值一样,那么就打印出猜对了, 然后马上用 break 结束循环。再用艾利福写两个条件,用来提示用户如果输入的小于正确值, secret 就 打印太小了,同样的大于就大于太大了, 这样用户就可以更快的猜到数值。写好了以后我们运行一下看看效果。这里让我们输入数值,我们先输入五,如果提示是太大了,那么就接着输入一到五的中间值,直到猜中对应的数字,反过来也是一样的。 作业来了,如果说你现在准备谈恋爱,如果给女孩子花的钱超过一万五就不谈了,并打印出第 n 次,一共花超过了一万五不谈了。用 while 循环加 break 怎么写, 记得发出来,下节课会接着讲 break 实操,教你如何实现编辑一个密码输入案例以及今天的作业。 在生活中我们会遇到非常多的 break 使用场景,如密码登录输入三次错误则禁止登录。 又或者是循环抢票,抢到了就终止循环以及股票卖出价位,这些需要一直做,直到达到某个条件就停止的动作,基本上都是用的否或者 while 加波瑞克语法。上一期我们详细讲解了波瑞克的语法使用, 并且给大家布置了作业。今天带大家继续我们的实操练习。上一期的作业是谈一个女朋友, 一共花到一万五,还没追到就不谈了。第二个题目是制作一个密码登录程序,我们先输入 input, 导入随机模块,后面用。首先我们命名一个总花费时间次数,然后我们写主程序,先定义好每次花费的金额,这里调用 random 随机取值一千到两千,每次花一千到两千是我们能接受的范围。接着写总花费,加上每次消费 花费次数也是一样。这个加号等号的意思就是将两边的变量相加得到的值再命名给左边的变量好用一幅进行条件判断,我们的条件当中加超过一万五就打印出次数,总共花销不贪了。最后结束循环运行。 写好了以后,我们来看一下运行的效果,就会打印第多少次花费超过一万五就不贪了,因为每次花费的金额是随机的,所以每次的次数都是不一样的,但是一旦超过一万五,就会停止程序并打印 好。接着我们做第二个制作密码登录程序。我们先设定一个正确的密码为幺二三,再设定最大尝试次数为三次,然后使用否循环,让尝试次数从一到三包含三依次进行。 在循环里,每一次都会提示用户输入密码,提示文字会显示当前是第几次尝试。接着用一判断用户输入的密码是否等于我们预设的幺二三四五六, 如果相等就打印密码正确登录成功,并用 break 跳出整个循环,不再继续尝试。如果不相等,就打印密码错误,然后继续下一次循环。如果循环正常结束,也就是三次机会都用完, 且一次都没输入正确,就会执行。 else。 分 支打印已超过最大尝试次数账户锁定,这样就能实现最多尝试三次,密码正确就登录,否则锁定账户 代码写好以后运行,先错误输入三次,看看是什么结果好三次错误,他就会打印出锁定账号,跟我们平时生活中遇到的支付程序是一样的。再次运行,我们输入正确密码,他就会显示登录成功。 那么恭喜你学会制作了一个密码登录程序。在编程中, continue 的 意思是继续, break 是 满足某个条件时就结束代码,而 continue 就是 满足某个条件时就跳过它继续运行。它们俩是一对经典的组合,经常能用到。比如我们有一个数字列表 number, 一 到十,想一个一个把它们打印出来, 只需要写 for i in number, 然后 print i, 点击运行就能看到所有数字依次出现。 但如果我们想跳过某个数字,比如三,该怎么办呢?这时候就用到了肯铁牛,他的意思是跳过本次循环,继续下一次 我们怎样写,在里面加上一附二等于三的时候,我们就使用肯铁牛跳过这个指令,继续执行后面的内容。运行后你会发现控制台输出了一二四五六七八九十,唯独没有三,是不是很神奇? 需要注意的地方, continue 必须写在循环内部,并且通常配合一幅条件使用。如果忘记写一幅条件,那 continue 会一直跳过,导致什么都不输出。学会了 four 和 continue, 你 还可以做更多有趣的事。 那如果说你只想打印前五个数呢?同样的,修改一幅条件,当一幅大于五时,那么就跳过,不执行运行,就会得到小于六的数字。 接下来我们来到派克姆实操一下。首先我们看一下题目,题目一,侧派选择,当有很多侧派选择时,不要有四的侧派。 题目二,女朋友选择只喜欢田西维,其他人都不选,先做第一个。平时生活中我们会遇到一些数字的选择,大部分人都喜欢带八,不喜欢带四的数字。我们先命名一个列表,里面放上数据,用 f 循环来辨别科二里面的数据,再用一副条件, 如果制服串四出现在选择中,就用 continue 跳过,再打印出内容。小代码以后,我们来看看这个 choice。 我 们在前面加上了数据类型转换,变成了制服串类型,就能够和我们的要求不要数字四能够对应上,点击运行,我们就会发现出现的数字都是没有带四的。接着做第二个命令, girlfriend 等于列表里面放上数据,也就是人名。接着我们写一个佛循环,从女朋友中取值,意思就是赵如斯,虞书欣,田曦薇。那么我们只喜欢田曦薇的话, 就用 f 写条件,当女朋友不是田曦薇时用看替牛全部跳过。感叹号加等于的意思就是不等于。最后我们再用 print 打印出选择的对象, 哎妈,写好了以后,我们来看看佛循环中 choice 一 回,一直从 girlfriend 的 里面取之,也就是赵露思,虞书欣,田熙薇,而我们只喜欢田熙薇,当选择不是她的时候,用 continue 全部跳过,最后运行打印出来的结果就是 continue。 那 如果说你女朋友和你妈掉水里,你会选择谁呢?用 continue 怎么表示?记得交作业。在编程中, continue 的 意思是继续 break 是 满足某个条件时就结束代码,而 kitten 就是 满足某个条件时就跳过它继续运行。它们俩是一对经典的组合,经常能用到。如果你是一家小卖部老板,你每天都需要卖东西,需要做一个入账系统。 我们先定义一个变量,偷偷用来纯综合,用 while 处无限循环命名一个 number, 每次让用户输入一个整数,再用 if 判断。如果输入的是零,就用 break 直接结束整个循环。当我们每日结束工作时,就可以输入零结束运行下班。 如果输入的是负数,就用 continue 挑拨本次累加,并提示负数不急入重新输入。只有输入正数时才把它加到头头里,并打印当前总和。 点击运行后,你会发现程序会一直让你输入数字,直到你输入零才结束,并且负数永远不会被加进去,这样你就制作了一个简单的记账系统。接下来 我们再做两个案例,第一个,在数字一件事中不打印偶述,且打印出的内容不大于起点。第二个,用 continue 和 break 制作一个密码登录程序。第一个,我们先创建一个列表,里面有一件事的数据 用负循环便利列表中的每个数字。第一个 if, 如果 i 是 偶数,就用 continue 跳过本次循环,不执行后面的 print, 直接进入下一个数字。第二个 if, 如果 i 大 于七,就用 break 直接终止整个循环。后面的数字包括九和十都不会再处理, 只有既不是偶数又不大于七的数字才会被打印出来。运行后你会发现空字台输出了一三五七,偶数二四六被 content 又挑过了,是不是很神奇? 接着来到第二个题目,平时我们登录系统时通常有次数限制,并且不允许输入空密码,用户如果输入空格就挑过空输入,输入正确时就退出循环。 我们先设定正确密码为幺二三四五六,最大尝试次数为三次重复循环,从三倒着数到一,每次让用户输入密码再用一次判断。 如果输入的是控制符串,就用 continue 跳过本轮剩余的验证,并提示密码不能违规重新输入。 如果输入的密码正确,就用 brick 直接结束循环,显示登录成功。如果密码错误,就提示剩余次数继续下一次循环。如果循环正常结束,即尝试次数用完,则执行 l c 语句,提示账户已锁定。点击运行后, 我们先输入空密码,输入空密码会被立即要求重输而不消耗次数。我们输入正确密码时,就会直接打印出登录成功,并且结束循环。如果错误超过三次,这程序结束并锁定账户下课。

为什么很多编程高手敲代码时几乎不用鼠标?其实不是炫技,而是因为他们把常用操作都记成了快捷键。今天就分享几个 p h m 里的神器快捷键,让你的编码效率直线上升。一、 control 加 d, 快 速复制当前行代码,省去先复制再粘贴的两步操作。 二、 control 加 y, 一 键删除整行,不用鼠标,选中光标,在哪删哪。三、 control 加斜杠,一键注视,取消注视。你可以选中多行代码,按一次就自动加上注视,再 按一次就能取消。四、 ctrl 加 w, 智能扩选代码,按一次选中当前光标所在位置的单词或代码块,再按一次会逐步扩大选择范围,非常适合快速调整代码。 五、 home 键 and 键 home 光标瞬间跳到当前行的最前面,方便在行首添加内容。 and 光标直接跳到当前行的末尾,继续编辑后续代码。六、配 h r page down 快 速上下翻页,浏览长文件时非常实用,不用再滚动鼠标,滚轮半天,把这些快捷键顺手用起来,你会发现写代码的速度明显提升。如果觉得有用,希望能得到你的推荐,让更多学 python 的 小伙伴看到!

逼自己两周学完拍反核心语法,你会发现你真的很牛逼,纯干货,不废话,赶紧存下警告,本视频耗时六个月,制作总时长七百八十分钟,陪你 系统的学习拍反核心语法,这应该是目前抖音最良心且全面的从入门到进阶的拍反全套教程了,哪怕你是零基础也能听懂。还给大家准备了一个小福利,有搭建开发环境资料包, 拍丧从零到一的学习计划表,几十上百记书籍、课件等等,只要你能想到的素材全部都包含了,相信我,这套拍丧系统课程将会是你从零到一学习拍丧的最佳选择。 咱们第四个,咱们来说一下,就是关于咱们的一个循环的一个终止条件,咱们给大家说一下吧。第一个,咱们其实已经说过了,在这个地方有个东西叫做 break, 它可以终止整个循环的执行嘛,而下面咱们其实还有一个东西叫做 continue, 这个 continue 是 什么?就是它是跳过当前的一个循环,就是后面的一个循环,它会继续执行, 就是后面的循环会执行它跳过当前的循环。比如一个循环执行十次,如果你给他判断下等于五,他就把五这一次跳过了,其他的循环会继续执行,是这个意思,好吧? 第一个,其实我给你们已经说过了,你们这个东西应该不陌生。第一个,咱们给大家说过的这个东西呢?你们不陌生就什么意思?比如说我来给你们通过简单的代码,咱们来看一下,在这个地方咱们来一个淋巴,咱们写一个什么,写个叫做循环怎么办? 中指怎么办?条件循环,中指条件,那比如说我这个地方其实咱们就用放去演示,都一样的,能懂我意思吗? 都一样的,那比如说咱们这个一到十一,一到十一在这个段,咱们你看正常情况下咱们是这样子的,咱们是这样的,就比如说我值一下是不是一到十,他这个地方显示绝对是一到十,那接下来咱们可以判断下,比如说如果 哎等于多少?等于五,等于五,我给他一个 break, 那 这个时候你会发现等于五,他等于 break, 那 他在这个他执行到四就完事了,能听得懂我意思吗?这个咱们就叫做这他的,因为这个东西咱们已经用过,所以说我不啰嗦了,好吧?下面还有一个叫做 content 纽, 这个 continue 它是怎么回事?它其实跟这个东西一样的用法,但是它效果上是不一样的,那比如说我这个地方我给你换成一个什么东西叫做 continue, 那 这个时候你来看我一刷新,那你会发现它是不是就相当于只有五不输出?在这个地方它的意思就是只有五怎么办? 我不执行吗?那其他的怎么办?会继续怎么办?会继续执行,我问下能不能听得懂你的回应?好,当然在这个地方可以给你们举个例子,就比如说咱们 求什么?求基数,比如说咱们这个地方求怎么办?求基数这个东西大家应该很熟悉了,那比如说我这个地方我就写一个什么应给他一个让值,那比如说咱们现在求基数,比如说一到十一嘛? 一到十一,那我求基数,那我以往要写条件,是不是这个就要不等于零?是不是要这么去写?其实咱们现在你可以继续写等于零, 因为这个是表示偶数,你给他写个康提扭,那剩下的其实就变成基数了,看到了吗?你为什么?因为等于偶数就相当于给你跳过了,这个就表示什么意思?咱们把偶数怎么办? 给怎么办?给跳过是不是给跳过?那以后你会发现我有抗题,有,有个好处。什么好处?我,我如果怎么办?我想要偶数或者奇数,我直接这么写就行,我不用换条件了。能不能听得懂给个回应?这个是循环的,在他的一个中指条件,我给大家把它介绍一下,好吧?

这一次咱们来聊一聊我们程序当中常见的 api request。 好, 那之前呢,我们的程序可以读取这些文件当中的内容,作为它操作的数据, 实际上呢,我们将要了解的这个 api, 它也是为我们的程序提供数据的。好,这是它的一个用处。呃,那这三个字母呢?实际上是 application, programming、 interface 这三个单词的缩写,那么前两个单词呢?就是应用程序,第三个单词 interface 是 接口的意思。 接口,那就肯定是说把两端连接一起,所以呢,实际上说我们使用数据是一个程序,那么提供数据的这个 api, 实际上它就是另外一个程序啊, 所以呢,在这啊,所谓 api 接口,它就是另外一个程序,这个是一个整体啊。好,那在这呢,我还要再介绍一个术语,那就是我们的程序向 api 接口,也就是向另外一个程序 去要数据,这个动作被称之为请求,然后 a p i 接口这另一个程序把数据返回给。呃,我们的这个程序这个动作叫做响应啊,两个单词分别是 request, response。 啊, 那到目前为止这些呢,都是知识点啊,那我们再继续。呃,那它什么样的一个形式呢?我们现在看到,那它就是一个网址的这样一个形式,那其中前边这部分我们把它称之为域名,实际上它代表着某一个网站的服务器, 你说我这个 api 接口向哪一个网站服务器去请求啊?哎,就是前边这段内容,那我们刚才还说另外一个程序,现在我怎么又跳到说网站服务器呢? 实际上我们所谓的另外一个程序是给其他程序,给其他浏览器提供数据的,所以呢,就是给其他程序 提供数据,这个就作为一个服务,所以我们把这个程序叫做服务器,而且通常情况下我们是以一个网站的形式,所以我们把这个所谓 api 接口啊,另外这一个程序称之为服务器,或者说网站服务器啊,好,可能会有一些细微的差别,暂时我们这样去理解没有问题。 那剩下的部分呢?这一部分看似呢,其实有规律,比如说问号,比如说这个按的符,但是呢,这一部分其实是完全由我们服务器端的这个程序,也就是 api 接口程序它去自定义的,那我们在这可能是 y y y, 那 比如说呢,我可能会写一个 user 哎,表示我 可以给你返回呃用户相关的数据,那比如说你可以是 course, 那 我给你返回课程相关的数据啊。问号后边呢?比如说我现在写的是 sex 等于一,然后 and age 等于十八,那可能是说我想查询,或者说我想获取性别是呃男的年龄是十八的这个信息。 但实际上呢,具体的这个接口肯定有具体的一个规范啊,他会有一个接口文档,我们使用接口的话,那肯定是要呃去阅读这个接口文档的啊,然后我们才能根据那个文档的要求去填写这些请求的参数啊。所以在这呢,我们就没有必要去纠结他 来过来,那为了去了解这个 a p i 接口儿,我们在这儿呢,不自己去写啊,我们以这个 github a p i 来去认识 api 接口儿啊。好,那在这儿呢,我们首先要说一下什么是 github? 呃,实际上我们在实际工作中有很多的代码开发者会将自己的这个代码以代码仓库的形式保存到 github 这个网站啊,也就是说它是一个网站,然后很多程序员把自己的代码存储到这个网站上边去存储的一个单位,比如说他写两个项目,那就是两个代码仓库, 那这个代码仓库呢?叫 repository 啊,这么一个单词啊。好,那最好也能够记住,记不住也没关系啊,来,那我们再继续。实际上那你比如说,呃,我们的代码放到这个 github 上边去啊?那为什么要放这个上边去啊?因为,呃,方便我们 这个部署啊,就是放到这个服务器上去运行,这个我不去细说。然后呢,实际上我们如果它这个代码仓库被设置为公有公开的,那就是别人可以看到, 那我们可以看到什么信息呢?比如说他这个代码仓库的名称,以及他这个代码仓库里边保存的这个项目代码主要是干什么的?哎,这个描述信息。然后呢?这个仓库是谁创建的?所有者是谁啊?这个这个代码是属于谁的?然后以及我们要想看这个代码仓库,我们得通过一个浏览器的地址,那这个地址 啊又是什么?以及说那他存储的这个代码是用 python 写的还是用 java 写的啊?或者用 go 写的啊?这个我们也可以看到他的这个编程语言, 以及说呢,当他公开他的代码的时候,因为,呃所有人都能看到,那如果说觉得他写的这个代码对我有用啊,对其他人有用,那我表示赞赏,所以我就可以给他一个小星星啊,我在这加了一个 s 啊,那如果说这个仓库 它具有很多 star, 那 就是说有很多人来对它表示支持啊,给它一朵小红花的那种感觉啊,只不过在这是给它一个小星星,那就代表这个代码仓库很优秀。 哈,是这么个意思啊,好,那回来我们简单说了一下这个 github, 那 么,呃,我们要以 github 它提供的这个 api 接口,我们来去做练习,那我们现在看到的这一长串的 u r l 或者说这个网址,这个就是 a p i 啊,好,那在这呢,呃,我不打算给大家去细解释这个东西啊,因为等我们以后自己去写的时候,呃,才更好地去理解它。就是在这,我们没有必要去呃,刻意的去记它。 好,过来,那刚才那个地址呢,我们可以把它复制一下,直接放到浏览器地址栏这一回车。哎,那我们就可以拿到啊,一些数据信息,那我们现在看到的大部分的这个 json 格式的这个信息就都是 github 这个 api 给我返回的数据啊,一大堆啊。好,那我们继续。刚才呢,我们只是手动地在浏览器地址那直接把这个 api 直接放在那,回车啊,我们就得到数据了。那实际上呢,我们大多数情况下是通过代码的形式使用这个 api 接口啊,或者说向 api 接口发出请求的啊。 好,那接下来呢,我们就演示这个代码的形式啊,要使用代码去请求,我们必须安装这个 requests 模块,注意是 request 后边再加一个 s 啊,这是我们这个 python 一个模块。好,那安装它的命令是 pip install requests, 这样呢就安装成了, 待安装成之后呢,呃,我们就可以接着来写我们的代码了啊,那在这呢,我们首先创建一个文件,它就叫 python 下划线 repost r e p u s 那 没有写全啊,就是刚才那个 repository, 呃,那么一个单词仓库的意思,好,文件名是它,然后呢,我们就直接导入这个 requests 模块儿啊,这个单词它本身就是请求的意思嘛,那我们要想获取数据,当然是要请求啦啊,那接着 我们在这呢写了一个 url 地址,其实就是 a p i 这个接口请求地址,因为它太长了啊,所以在这呢先写第一行,然后第二行呢用加,等于把两个长的字母串拼到一起了啊,是这个意思 啊,如果说你英文比较好的话,我们可以看一下,就是 h t t b s 然后 a p i 点 github 点 com, 然后呢,这部分是域名,后边 search 表示我要查询。然后呢,再后边单词 repository, 那就是仓库,还是一个复数形式啊,然后第二行的这个问号 q q, 一 般来说代表的是 query 啊,是查询的意思,然后等号 language 是 语言啊,再冒号 python, 那 就意思是说我要查询这个 github 上边的仓库,并且仓库里边的这个程序代码是由 python 语言编写的,这就是查询条件了。 加号 sort s o r t 是 排序的意思,冒号 stars, 那 就是按照这个星星数来排序啊,再写一个加号 stars, 冒号大于一万,那就是说这个仓库啊,我要找的是, 呃,首先是 python 语言的呃,代码仓库,并且呢按这个 star 数来排序啊,而且我要找所有 star 数 大于一万的啊,要不然的话,这这个代码仓库会特别多啊,可能会上百万个仓库,而呃,这个它的 star 数大于一万的,这个就少很多了啊,总之呢,这就是一个网址,我们这样去理解它啊。好, 那接下来,哎,我们要写这么一个信息,从数据类型上来说,它是一个字典啊,就是 dick 啊,或者呃 dictionary 啊, 呃,也就是说它是有键值座的,我特意指在这个冒号这个位置啊,那它的 key, 它的键是 accept, 不 管它什么意思啊,虽然它是什么接受的意思。后边呢,是说明啊,它要接收什么样类型的这个数据,我们也不管它啊,就 大致好像它意思是说啊,我要接收版本第三个版本的 jason 格式的这个数据啊,我们就这样去理解就行了啊,总之这是一个字典,实际上它是一个附加信息 headers 啊。好,那接下来这行代码比较关键,我们可以看到 request 点儿 get 啊,那么我们就通过这个 request 这个模块调用它的 get 方法。呃,为什么是 get 呢?其实 get 不 就是获取的意思吗?啊,所以在这是 get, 当然,呃,如果说随着我们深入学习, 也会有其他的这个动词啊,比如说 post, 比如说呃 put, 比如说 delete 啊, page 一 些啊,呃,当然我们在这儿呢,主要的呃,还是 get 和 post 的 比较多。在这儿我们就先认识这个点儿 get 这个方法啊,好,那就是说我用这个模块的 get 方法, 尝试去请求数据,获取数据,向哪儿去请求?把 url 地址作为第一个参数放在这儿了,那这个 url 参数呢?其实呢,说明了说我要向 github 那 个网站去请求数据,然后有一些请求的条件也在这个里边儿啊。这个, 呃,代码的语言是 python, 而且按照它的这个星星数去排序,要求星星数必须大于一万。哎,这个条件也有了啊,但是呢,后边第二个参数 hash 啊,叫请求的头部信息,其实呢就是一些附加的信息,那这个附加信息呢?就是跟这个,呃, api 接口,或者说这个服务器说,呃,我告诉你前面,我告诉你我要什么样的数据,然后呢?在这我还要补充说明,哎,你给我返回的这个数据啊,应该是 jason 格式啊,我才能够处理 好啊,那这个呢,就是一个完整的一个请求了,然后这这个 r 就是 请求之后返回的这个结果,它是响应对象, 首先它是一个对象啊,响应这个单词,那对应的是有请求才有响应嘛?请求 request, 响应 response, 这个是响应,就是我们拿到服务器给我们返回的这个信息了,这个数据了,它本身是一个对象啊。 好,那对象呢?它有一个属性,我们可以打印一下,叫状态码啊,我在这写的是 r 点 status 下划线 code, 这个叫响应状态码,通常情况下就是二百,二百就意味着我请求成功了。哎,我们就这样去理解它啊。 好,呃,那我们先不去看,然后接着往下走,我们说 r 是 一个对象,然后呢? r 啊,它有还有一个属性是 txt, 这个 txt 是 我们真正的想要查询的,想要获取的那个数据。哎,在这个里边,它是一个 jason 字母串,哎,它是 jason 格式,它是字母串,那么我们等号右边调用 r 点 jason, 这个方法是把这个 jason 字母串 转化成字典的形式啊,我们转化成字典的形式等号。左边 response 就是 响应的意思啊,下划线 ticked 啊,表明它是一个字典啊。 好,那我们再继续,我们把真正想要的那个信息拿到了,它是一个字典了啊,好,那在这儿呢。哎,我们先打印一下这个字典,那我们打印看它的结构上来说都有哪些 key。 哎,所以在这儿呢,呃,通过这个 response 下划线 ticked, 点 keys 啊,来获取它。这个键,我们打印一下。好,那在这呢,我们执行这个文件。前边呢,我们打印了一个响应状态码,我说了,一般情况下就是二百啊,二百就表示成功。那如果是四零四 啊,就说明你那个 url 地址写错了,就没找到啊。四零四是没找到的意思,多数情况下是因为你那个 a p i 地址写错了啊。好,那接着我们刚才打这个,说这个字典里边所有的 key, 第一层只有三个,第一个是 total count 啊, total 总数, count 的是计数。哎,总之呢,就是总数的意思啊。好,后边这个单词,呃,其实我们不知道也没有关系啊。这几个单词不知道没有关系,因为不同的接口肯定返回不同的数据啊,这个没必要去记死,只是说这个接口。哦,有这么一个 key, 那 当然,这个 key 呢?呃,前边 i n 是 取反的意思啊,就是反过来不怎么着,然后 complete 是 完成,那么 in complete 是 没有完成 啊,后边这个 results 是 结果的意思,那意思就是说我这个这次请求这个结果,呃,完没完是不是全部的这个结果啊?因为比如说你请求的多,他可能是分次给你的。 好,好,然后第三个 items。 好, 一般来说我们写接口的时候, item 就是 某一项啊,项目,那它加个 s 肯定就意思是说它里边还有一大坨数据,它本身还是一个列表啊,这个是我们真正要获取数据的,所有的核心的都在这个 items 在 这儿了。 啊,那这三项呢?哎,我们可以打印一下啊,比如说,那我再接着在这我直接打印了一个总的仓库数,那我用这个字典访问字典的那个 key 是 方括号里边,呃,用它这个字母串什么 total 下划线 count, 哎,我们就可以得到一个总的仓库数,然后呢,是否是全部啊?那 它如果是处的话,应该是不是全部啊?那不是全部在这呢?给它 not 一下,取个反啊,这个呢? 哎,怎,怎怎么解释呢?举个反就是意思。这个,呃,本来是,是不是不全呀?这么个意思,然后加个 not 呢?就是不是 全的呀?哈哈,有点绕啊,但是这个没关系,也不是太重要。好,总之呢,他反映一下,就说,那你这次查询结果是不是完整的,是不是全部的 这么这么一个真的不重要啊。好,然后再接下来。因为我刚才说了,呃,我们这个响应字典里边,它核心的数据在 items 这,如果我直接打印它的话,数据特别多,所以在这我们只是简单的看一下它到底有多少个,哎,所以呢,我用 l、 e、 n 这个函数把它包裹起来,就求一下它的长度啊。 好,那再继续我们看一下,那在这呢,我们打印出来,哎,根据这个字典的这个键,这个 key 我 们得到啊,总仓库数九百一十三个, 符合条件的啊,那这回是返回了全部的这个内容吗?啊?处啊,全部啊啊,但是呢我们 atms 这,呃有有多少个啊?实际上呢是这个三十个。好在这这个说实话我解释不好这个啊,按理说它处的话应该是九百一十三啊,它这个数据逻辑怎么去理解它? 呃,我没太搞懂,但是呢这个不重要,就是我们就主要知道说啊,接口是一个 url 地址,然后呢我们可以拿到它返回的这个数据啊,因为我写的接口怎么规定这个数据,别人写的接口怎么规定的数据?这个我们没有必要说每一个都去去 死到这个东西啊,我们知道感性上说接口是这么个意思,他给我返回数据,我通过这个 key 拿到相应的数据啊,就可以了。 好,然后呢我们再继续再继续呢,我们看看每一项啊,你刚才不是说有三十项吗?我把每一项拿出来看一下怎么去拿的。哎,你注意啊,我在这还是用这个响应字典 response 下划线摹制,然后呢返回号 items, 因为它有一个 key, 本身 items 就是 一个列表,它里边存了好多个仓库的信息,所以因为它是一个列表,那我在这加一个返回号零,就是拿第一个元素 啊,第一个仓库的信息,然后呢就给我们这个 response r e p u s 下回键 add 啊啊,一个简写形式,那我看一下每一个仓库它有有多少个 key 啊,有多少项啊,所以我在这呢, 呃,用 l e n 再看一下啊,那在这呢,我们可以看到哦,每个仓库有八十二个 key 啊,记记信息项啊信息项,那比如说这个仓库的名称,这个仓库的描述,仓库的所有者,创建时间,修改时间等等等等啊,有八十二个 key 啊,是,是这个样子啊,当然我们肯定,呃,不是说全要它,那我们对哪些感兴趣我们就要哪些呗。啊,那在这我们简单说一下,比如说它这个里边有仓库的名称,用的是啊 r e p u s 这个单个库的啊字典啊,然后方括号内幕,那就拿到了这个名称, 然后呢,我们还可以通过这个 owner, 那 这个 owner 呢?是所有者的意思,但是这个所有者肯定还是一个,呃,一个字典的一个姓氏啊,一个这个 owner, 比如说他的头像啊,他的登录名称啊,啊,他的邮箱啊等等等等,所以在这儿呢, owner 下边再加一个方括号, owner 本身就是一个字典,然后它的 log in 啊,这儿呢是它登录的那个账号名称哎,是是这么个意思啊,好,然后这个仓库有多少人给了小星星啊,是这个 key 啊,这个这个键, 这个呢,我是完全从书上摘抄下来的啊。呃,那这个这个单词我不会念,前面是 s t a r 星星的意思哈,后边 com 的是统计,但是加了一个 g a z e r s 我 就不知道了哈,总之它表示的是啊,这个仓库有多少人给了小星星, 然后接下来我要想看这个仓库,你得给我一个 url 地址啊,一个网址啊,好,那就在这个单个库字典里边啊,它那个 key 是 html 下划线 url 啊,这样呢,就拿到这个仓库的地址 啊,然后呢,这个仓库什么时候创建的,也是在这个字典里边啊?我们现在所有看到这都是一个单个库的信息,就是一个字典啊,好, 然后它这个字典里边的 key created, 下划线 at 啊,那就是创建时间啊,这个呢,其实我们看多了,这些单词应该是能够记记下来啊,然后这个呢? update 啊,下划线 at, 呃,这个是更新时间,你说我不知道啊,我没记下来,那是因为你才学多长时间啊, 对吧?你后边儿写项目的时候就这些单词就太常见了啊。呃,一些描述信息叫 description 啊, 好,也是这个字典里边了,那我们呢,可以打印看一下。哎,我们看啊,那从这到这啊,它的名称叫 public a b s 所有者啊,那它这个账号也叫 public a b s 啊,然后它的星星数, 呃,四十三万星星数,也就是说有四十三万,个人觉得它这个项目不错哈,给他点了星星啊,相当于给他点了赞,然后仓库地址,你看仓库地址就是一个。 呃,网址嘛,对吧?好,然后创建时间,更新时间,描述信息,哎,这一堆内容啊,好,那回来,实际上呢?呃,这是一个库的信息,那么如果说我们想把这个接口的数据,刚才不是查看它有三十个库呢吗?符合条件呢?哎,那我们可以 foring 去便利一下啊, 那 foring 的 时候我们是用这个 response 下回键 tick, 这是响应的信息字典,然后所有的信息在 items 里边儿啊,那每一个 就是一个这个单个?这个库代码库的字典叫 r e p u s 啊,简写啊,实际就是 repository 啊, 下划线 dick 啊,就是这个,然后下边我再逐个的去打印这个库的信息就可以了。好的,这个打印的结果我就没有给大家去准备啊,这个和无非是把刚才那第一个仓库的信息,然后其他的信息,这不就是一个模板的形式吗?就都显示一下,所以这个就没有必要去看了。 来,这个是我们通过 github api 接口,然后看了一下它返回的数据是什么样子的啊,可以拿到这些信息, 然后我们来第二个文件,我们第二个文件,呃,就是在原文呃,复制一下,然后呢改一下名字,后边加了一个 with you v i s u a l 啊,这这么一个文件啊,这个文件里边我们要拿到数据再给它画个图来,那前边呢?这两行首先导入 requests 模块,然后我们还导入了 plu 点儿 express 这么一个子模块儿啊,把它重命名为起个别名儿 p x, 我 们准备要画画儿哈。好,那接下来还是刚才那个 a b i 地址, a b i 请求地址啊,啊, 然后呢?这个还是一样的附加信息,头部信息啊, headers 啊,头部信息,然后呢,我们一样的是 requests 点 get, 我 要去获取数据哦,然后传的参数 url, 我 向哪儿去请求数据以及查询条件是什么,然后 headers 里边儿是一些附加信息, 在这儿我们只是有了这个附加信息,只是说要求你给我返回什么格式的,实际上,呃,还有一些时候,我们这个 header 里边会加一个叫做呃 令牌的东西啊,就是你有这个令牌你才能够请求数据,我才给你数据,你没有令牌,对不起,我不给你数据啊,还会,那也是常常见的信息啊。好,那紧接着呢,我们得到了这个 r r 响应对象,响应对象,把响应对象调用一下 json, 把真正的数据转化为我们 python 当中的字典形式 啊,然后再继续,这个时候呢,我们拿到了整体的数据,我们应该整理数据才画画啊,所以整理数据我们在这准备了啊,三个空格列表,第一个啊, r e p u s, 也就是 代码仓库的,这后边写的是 links 啊,实际是要保存这个仓库的名称,只不过我希望这个名称呢,能够一点击这个名称进行一个跳转,所以同时它又是一个超链接的形式啊,所以我们在这是给它起的名字叫 links 啊,这是第一个啊,主,其实里边保存的主要保存的是仓库的名称。 然后第二个,我们要收集的信息是这个仓库的星星数啊,都有多少人点赞了?第三个,呃,我们要收集一个信息,就是当我们画这个图,鼠标移上去的时候,一些提示信息,哎,我们就要这三类信息啊,所以是三个列表,然后我们就逐个地去便利响应字典里边的这个 items 啊。然后呢,那就是在这儿 e p o s 下行键,这个是每个仓库啊, 然后我们每个仓库是一个字典,把每个仓库里边的 name 拿出来,把每个仓库里边的呃 url 地址、网址拿出来。好,这两个拿出来干嘛?第三行代码用上边这两个数据啊, 你看在这啊,我用了它的名称,用了它的 url 地址,把它拼接成了一个特殊的这么一个字母串,以 小于号 a 开始啊,后边以 a 大 于号结束。这个实际上叫 html 代码啊,就是网页代码呃,它在网页上显示出来就是一个超链接形式,我们看到的那个名字是 r 下划线 name, 当我们点击这个名字的时候,会跳转到 r 下划线 u r l 这个地址去啊,这是它大体的意思啊。当然,这样拼接成一个字母串之后,我们由 r 下划线 link 来保存啊,就保存了这么一个特殊的字母串啊,然后接下来把这个仓库当中的星星数啊拿到, 再接下来把仓库当中的这个所有者的名称拿到,接下来这两个信息,我也给它拼接成一个特殊的字母串, 一个字母串 r 下划线 o owner 就是 这个仓库的所有者。然后后边这个监控号 b r 斜线大于号,这个实际上是网页里边的回车换行啊,出现这个标记啊,那它前后的内容会出现在两行,所以前边 owner 是 在一行, 然后后边那个 r e s r 下划线呃, description d e s c 在 列第二行啊,是这么个意思啊啊,总之呢,它呢就是拼接成这 r 下划线 harv 啊, 实际上上边儿这七行代码儿,我们主要的是要这三行啊,其他那两行是为了拼接成它的啊,更准确地说,我们就要拼接出这三个变量来,第一个是 link, r 下角线 link 里边儿包含着它的名称以及它的地址。第二个它的 stars, 它的星星数。第三个 r 下角线 hover, 那 就是鼠标放到这个图形上边的时候,它显示了这个信息,然后我们把这三个变量保存到或者说 append 追加到这三个列表里边去,那我们其实后边我们画图肯定是也以这三个列表为基础啊。好, 那画图呢?我们在这呢,首先,哎,先,呃,想这么一个标题啊, github 上边 star 数最多的 python 项目啊,因为我们查询条件里边 api 那 个地址里边有查询条件,我查的就是, 呃, python 项目,而且让它按这个 star 数排序了啊。接下来那横坐标,纵坐标 x 轴,外轴那个标签显示的文字分别是什么啊? x 轴是 repository, 那 就是准备显示一个一个的仓库名称 y 轴 stars, 那 就是说每一个仓库到底有多少个 star 啊? 那在这呢,我们用的是 p x 点 bar, 它的意思是说,呃,画那个条形图啊,或者说叫柱状图, 然后 x 轴 x 轴,我们在这儿给的是啊, r e p u s repose, 下回见 links, 我 说了 links, 本身它是一个超链接,它里边主要显示的内容是仓库的名称,也就是说在 x 轴会显示仓库的名称,但是呢,这个名称我可以用鼠标点击啊, 然后外轴,那它就是这个仓库的这个 star 数啊,到底有多少人点了赞啊,那这个外轴如果其实呢,就是它这个条形图的那个高度啊,你的这个点赞数高,你这条形条形图,这个条就高,是这么个意思。接下来是标题标签,然后这个 啊, hover 下角键 name 啊,等于 hover 下角键 text, 那 就是,呃,每一个条形我鼠标移上去的时候相应的提示信息,这个这个比较简单啊,好,再往下,再往下呢,这个我们整体来说一下啊,呃,这个呢,你知道能设置就可以了,也不需要记住, 我们现在很多代码不需要记住啊,你只需要知道有它,你想起来啊,这可以设置这个,可以设置那个,然后具体怎么代码问 ai 就 可以了啊,在这呢,那就是设置标题的字号, 设置 x 轴那个标签, y 轴那个标签的字号啊,这个代码就这个啊,然后下边呢,这个是设置,我们这个不是条形图吗?啊?或者说要柱状图,这个柱它的颜色是什么啊?第一个参数设设置颜色,第二个是设置这个柱的,呃,透明度 啊,我们之前可以用阿尔法,实际上它在这还有一个单词叫 o b a c i t y 啊,也是表示这个透明度的意思啊,零点六, 也就是说它也有点半透明的意思。最后一行那就是显示出来就可以了啊,那在这呢,我们执行一下,执行一下呢,就会打开浏览器看到这样的这个图了啊,我们可以看到 x 轴是每一个仓库的名称,然后呢,每一个仓库的星星数多,这个条就多啊, 以及我把树标放上去的时候会有相应的这个提示信息啊,那主要是这个作,呃,作者,然后这个描述信息,仓库数以及 star 数啊这些信息啊。好, 那接下来我们就小结一下,小结一下呢,那这节视频呢,我主要是说,首先明确 api 的 用处是什么?用处就是让我们的程序可以获取数据,处理数据。那紧接着呢,我们在这又说了术语两个,一个是请求,一个是响应,以及它们相应的这个单词 request report 啊, 然后再接着那这个 api 它的形式其实呢,就是一个网址的形式啊,我没有具体地去说,因为具体这个 api 的 形式,呃,我们后边有可能会去 学习框架什么的,自己去写这个 api 接口程序,那个时候再说啊。好,然后呢,紧接着我们又手动地去尝试一下,把这个 api 地址复制下来,扔到浏览器地址当中去,然后呢,浏览器也给我们显示出来它响应的这个数据。 不是所有的接口都可以啊,呃,因为,呃,有的接口是允许你 get, 有 的接口是允许你 post 的, 这个不一样,只能是说 get 的 时候可以。 然后,呃,我们又写了两个代码文件,第一个代码文件叫 python, 下行线 repost, 点 p y 在 这个文件当中,呃,我们是获取数据,然后打印了一下,看看这个数据里边到底有什么信息,主要就是了解这个它的接口返回数据的这个结构啊,它是这样一个嵌套结构啊, 当然我们核心的代码肯定是用 requests 这个模块点儿 get 啊,去请求得到的啊。然后呢,我们第二个代码文件叫 python request, 嗯,下划线 with you, 点儿 p y 这个文件里边儿呢,我们是获取数据,也是通过 requests 点儿 get 去获取的,然后整理出来我们想要的数据,把它画了一个图儿啊,这是我们干的事儿啊。好,除了以上的内容,然后在这儿呢,我还有一个补充啊。第七 就是我们的接口还存在一个请求权限和请求频率的问题啊,当然我们这个 github api 接口啊,我们这个练习没有,但大多数实际工作场景的 api 接口都存在这两个内容啊,请求权限和请求频率。 那请求权限,通常情况下是我们首先先登录啊,不管你以什么方式登录啊,你登录之后呢,会得到一个令牌,然后当你得到这个令牌之后,你需要向这个服务器的 api 接口请求的时候,你要带着这个令牌 啊,那服务器那个 api 接口一看,哎,你有这个令牌,令牌也是真的。好,那就把数据给你,是这么个意思啊,好,而且呢,呃,在这这个令牌通常也是 token 啊,这么一个单词,它和我们大模型里边说稍 token 那 个单词是一模一样的,就可以理解为这个 token 是 一个单词,两个意思啊。好,这个是请求权限上边,而我们实际会牵扯到一个令牌的问题啊,然后请求频率,那请求频率呢?通常情况下是说,嗯, 你不能说在一秒之内你,你请求了很多次,这样的服务器也忙,忙不过来啊,所以可能会要求你每个小时或每天最多请求多少次。会有这样的一个限制。你比如说我们现在呃,一些,呃, ai 大 模型的这个请求,尤其是免费的这 请求,他那也叫 api key 吗?那可能就会对你限制一下,比如说一个小时只能请求六十次啊,一天只能请求多少多少次啊, 当然还会有其他的这个限制啊。好,那主要来说请求的频率,请求的权限。好,以上就是我这节视频所分享的全部内容,因为透彻,所以简单,我是讲师井水。呃,这节视频完了呢,我们就已经把这本书的三百三十七页已经完成了。 如果说这个视频你有什么疑问啊,欢迎在评论区给我留言啊,当然我其中有一些表达,如果不准确,你也欢迎啊,可以在评论区留言,咱们讨论啊。那让我们下个视频再见。

好,给我们的家长还有我们的同学介绍一下我们的 python 编程,这是我们学 python 使用的软件,它叫做 python, 那 么在这个软件里面的话呢,呃,我们的底层是我们 python 的 库,那我们呃常规学习 python 的 话呢,用的是 python 内置的这个 idl 编辑器,那么我们用第三方的拍照呢,可以轻松的让我们的呃同学们轻松上手啊,比如说我们在使用里面方法的时候呢,它会有一些提示语啊,如果我们同同学们在学习这个呃 python 的 时候,有一些单单词不记得忘记的话呢,可以添加个提示语呃,快速的找到自己要找的这个方法,比如我们要导入一个库啊, import 导入一个 turtle 库, 它都是有提示语的啊,那这个呢是我们软件啊,接下来看一下我们在学习 python 中会学到哪些内容啊?首先最基础的话呢,就是我们 turtle 的 绘图库,我们可以绘制这个五环啊,还可以绘制我们的国旗啊,我们的五星红旗 啊,以及我们还可以使用我们的啊 python 来做一些小游戏啊,比如说我们网上火很火的那些小游戏 好,还有我们的经典的游戏,还有坦克大战, 还有我们很火的我们的飞飞翔的小鸟 好,那么除了做这个画图,绘图和这个游戏之外呢,我们在学完 python 之后呢,还会带领同学们去参加考级我们的一些白名单的比赛,对我们同学的这个呃升学也是有一定帮助的。 当然通过 python 的 学习呢,还可以学习一下我们同学在我们学科里面学习到的一些英语的单词啊,还有我们的数学里面的坐标以及我们的图形,那这些的话呢?在我们课程当中都会有体现,感兴趣的家长和同学可以来到我们校区进行我们的线下体验。

小伙伴们大家好,这节课呢,我们来看第四十七题, 题目呢是字母串儿变形,那怎么个变形呢?来看它的描述,它说,首先啊,这些字母串儿包含一些空格,比如我们可以看到 hello world 中间是不是有空格呀? 然后他要用这个空格闹事情,什么事情呢?我们要做的是把这些字母串中由空格隔开的单词进行反序啊,要反转,同时呢反转每一个字母的大小写, 比如我们可以看到他给了一个视力,呃,正常的 hello world 变形后呢,大写变成小写,并且呢两个单词反转,中间呢还是用空格进行隔开,就是既有反序啊,又有这个大小大小字母的一个改变啊,反转大小字母。好,那接下来呢,我们来实现一下这个这个效果啊, 回到我们的开发者工具当中,我们先定义一个函数,呃,就叫 transform stream 啊,对于字母串儿的一个呃变形,然后呢,我们传入一个字母串儿啊,到时候你把这个 hello world 传递进来就行了,返回呢,肯定也是返回一个 hello world, 对 吧? 我们先来做第一步,第一步呢就是先按照空格键拆分,先按照 空格拆分。好,那这里呢,我们就可以 words, 等于啊,就是通过呃 split 来对它进行拆分,这样的话我们就按空格拆分了,我们可以这样啊,下面呢,先把这个 每一步的咱们慢慢来走,好吧,每一步的流程呢,咱们都打印一下。 好,我们调用 transform 这个,然后给它传一个参数,叫什么呢?叫这个 hello world 吧, h e l o w o r l d ok, 然后在这里呢,我们去打印看一下它拆分有没有问题,右键运行, 稍等片刻啊,我们看一下运行结果怎么样?好,可以看到它已经把 hello world 拆分了,对不对啊?在列表中变成两个元素,一个 hello, 一个 word, 用空格来进行拆分。当然,我们的目标不止是拆分,我们同时呢还要做一个反序啊。反序 怎么进行反序呢?就是单词顺序的一个反转啊。那我们就可以呃 words, 然后利用这样的方式来进行一个反序,对吧?这不是我们第一次做这样的事了啊。 reverse reverse r e v e r s e d ok, 下面先来一个 was, 这是反虚之后的结果,我们来看一下此时是不是能反虚成功。右键,咱们再来重新运行, 可以看到原本的是 hello 在 前面, word 在 后面,现在变成了 word 在 前面, hell 在 后面。那反序完成之后,我们还要给它拼回原来的字母串,所以我们再将反序将 反序的字母串重新拼接。那如何重新拼接啊?这个就比较简单了,我们用空格来进行拼接,对吧?然后照映,把这个 reverse 反序之后的给扔进来,然后把它复制给一个变量, 嗯, str 吧。好,这个时候就是反序之后的结果了,我们再打印看一眼,是不是如此啊? 右键运行好,大家可以看到,此时已经成功地拼接成了一个呃, word, 呃, word hello, 是 不是我们将上面这个打印删掉啊?此时已经成功拼接成了 word hello, 不 再是一个列表的形式了。 然后接下来呢,我们对再对他进行大小写的处理。大小写的反序,那么大小写的反序怎么处理啊?好,那我们就可以。嗯,正常啊,我们这样啊,直接 return 吧, 咱们一步把它写完,然后通过字母串了这招印进行一个拼接,将反序之后的进行拼接。首先你要对每一个字母都进行反序的话,你就用它便利了,对不对?好印 reverse str, 是 不是如此啊?对它进行循环反序处理。然后呢,反序处理的时候,我们去做一个判断, if 如果 c h, 判断它是大写还是小写 is, 嗯, 我们用这个 apple 吧,对吧?如果我们判断它是大小写,就是,如果它是呃, apple 大 写,我们这面就给它变成一个小写 ch 点 l a ch 嗯, ok, 没问题。呃, l o w e r ok。 然后如果它是大写的话,我们就给它变成小写 ch 点 apple 啊,这变成小写,这变成大写,对吧?判断是不是大写,如果是大写,那我们就给它变成小写,否则呢,我们就给变成大写,对不对?好,那这样的话就完事了,我们再来 把这个结果打印出来,那这里的话,我们就来个 s 吧。嗯,这个内容呢,咱们别直接写死,用 input 来进行处理,好吧,所以这样吧, s 等于 input, 然后我们可以去掉这个 清啊啊,就这样就行了,然后把这 s 呢,我们再放在这里边,再把它呢给打印出来,就完事了,对吧? print 好, 这个时候我们清理一下右键运行 在这里,我们输入 hello o r l d o r l d 回车可以看到,首先反序没问题,对吧?然后大小写的反转也没有任何问题,对不对?因为我们是一步步走下来的嘛。 啊,这个我们没有做拆分啊,就一步把它完成了,你也可以一步步做拆分啊,我们这边就是先循环,循环之后去判断它是大写,如果是大写的话,我们就给它改成小写,否则呢?小写的话你就改改成大写,再把它拼成一个字母串,最终给它 return 回去,这边打印就出来了,是不是? ok, 那 这个字母串变形呢?我们就说到这里,感谢各位聆听,咱们下节再见。

hello, 大家好,我是心灵教少儿编程的何老师。那上一期我们带大家一起了解过了入门级的编程语言, 图形化编程 scratch, 那 这一期我们一起带大家了解一下必学编程语言 python。 你 以为孩子坐在电脑前只是在玩耍吗?其实他们可能正踏入一个超酷的领域,学习世界上最炫的魔法 python 编程。 拍手可不是那种爬行的蛇哦,它是一种能与电脑亲密交流的独特语言。想象一下,就如同用乐高积木搭建出各种奇妙造型一样,只需借助一些简单的英文单词,孩子们就能轻松的给电脑下达指令,操控电脑完成各种任务。有了拍手,孩子们能做的可多了。 孩子能够培养孩子的逻辑思维能力、专注力、抗挫折能力等,帮助孩子拓展思维,深入理解。如经典的数学题激动澎湃, 每举算法快速排序、对分查找等学科的问题,还能通过代码进行画画,编写猜数字的小游戏。那接下来我们一起看一下这一块程序吧! 这里涉及到了一个随机数的概念,程序的循环,数据类型之间的转换,以及如果那么的条件判断。简单的几行代码就涉及到了多个知识点, 那我们运行了程序之后,就可以轻轻松松的跟电脑进行沟通啦。电脑会生成一个一至一百的随机数,然后我们输入所猜测的数字,电脑会把我们所输入的数字和随机数进行比较, 直到我们猜对为止。怎么样学习拍审跟电脑沟通是不是简简单单?大家不要看到全是英文字母的代码就很头疼,其实拍审所用到的单词还是很简单的,非常适合三年级以上的孩子学 习,只要孩子接触了英语,其实都是没有问题的。在国内已经有很多省份把拍审作为信息课主要的学习内容,它是科技时代和未来职业通用的技能, 目前已经被广泛应用于人工智能、科学计算、大数据抓取、金融领域、图形处理、系统预维等多个领域。如果你想要孩子学习少儿编程,那 python 一定是必选项。

有了第一讲的技术,我们就可以绘这些简单的图形了。首先我们进入海龟,拨出一个海龟,然后再让它向前行走一段距离,向前向后都是可以自己选择的。把两块积木拼装到一起, 下一步我们可以再让它增加一个转向,这是一个新学的功能,既可以向左转,也可以向右转,现在默认是九十度,我们复制两块积木,把它拼装到一起,大家看右边,同时多两行代码, 然后把二十改成两百,这样它前进的步幅更大,走出来的效果更加明显。我们同时再复制四块积木,运行一下, 向前两百,再转九十度,重复四次,你就得到了一个正方形,你学会了吗?同样的道理,向前两百,左转一百,二十度,重复三次,你就得到了一个三角形,非常简单吧。 再做一个更复杂一点的图形,向前两百,左转一百四十四度,重复五次,你就得到了一个五角星。怎么样,开始佩服自己了吧!

今天再来看两个关于函数的关键字,函数我们之前已经讲过了,今天主要是借着这两个关键字进行一下复习,一个是 def, def 的 前三个字母,一个是锐特, 我们直接看一下代码,第一个函数的话是用 def, 也就是 def 这个单词的前三个字母,加函数的名字,加括号里边是函数的参数, 然后里边是缩进四个字母,里边是函数题。第一个函数的功能的话,就是 打印这个星号字副串加星号加 count, 就是 把前边的字副串内容重复多少次,我们函数给的默认值是十,所以说会把信号重复十次。 然后第二个函数的话是一个加法函数,实现两个数的相加,并且把它加的结果值返回,返回去,我们可以给第一个函数的返回值也打印一下, 它没有带 return, 但是它的返回值是 null, 然后我们用心的看一下, 我们可以看到第一个函数它的返回值是 null, 并且打印了十个字母,我们可以看一下,作为一个程序员肯定就不要挨个数了,我们可以看一下这一块, 这一块,然后它是十一对吧,我们可以鼠标往前移一下,它就变成十鼠标,如果要是移到第一个,它就是一对吧,鼠标放在这,它是二,所以说它十个字母, 然后四加三等于七是函数的返回值,所以说函数会涉及到两个关节子,一个是 df, 一个是锐特, 这是一个关于函数的题目,以下定义函数关系式,正确的是 def, 就是 这个 def 选项的一个缩写,所以就是 def 好 散会。