【python 的各种模块】(10) 在python3使用turtle 模块画图

news2024/11/25 11:04:51

目录

 1 在anaconda里用python3安装turtle

1.1 因为turtle 本来是适应python2的,所以直接安装报错

1.2 准备好手动下载,官网下载安装包

1.2.1 去官方手册看了下,其实是支持python3的

1.2.2 官网下载,手动安装

1.3 解决办法,参考如下的几个文章可解决

1.3.1 核心注意点

1.3.2 手动安装

2 turtle 运行时会遇到的各种问题

2.1 问题1:第1次可以运行,第2次运行报错的问题 (未解决)

2.2 问题2:第1次可以运行,第2次运行失败时窗口卡死问题 (未解决)

2.3  导入的问题

2.3.1 from turtle import *

2.3.2 import turtle()

2.4 窗口关闭和不关闭的问题

​2.4.1 解决窗口会自动关闭的问题

2.4.2 在jupyternotebook等IDE里,出现不仅不自动关闭,且无法关闭的情况( 未解决)

3 从这次改变学习思路

3.1 新的学习思路尝试(主要是做一个对比)

3.2 官方文档:学习首要参考

3.3 这里可以罗列 turtle的一些方法,属性,等等(缺内容补充)

4  画一个n边形 polygon

4.1 目标

4.2 对应试验代码

4.2.1 代码1:下面的代码设计内容

注意:python的range() 相关

4.2.2 代码2:下面的代码设计内容

4.2.3 代码3: 写入 polygon这个整体block

4.3 动画刷新问题

4.3.1 turtle 自动动画效果,但允许用户自定义修改

4.3.2  屏蔽动画

4.3.3 强制刷新

4.3.4  修改延时

4.4 关于位置

4.4.1 移动

4.4.2 角度(注意这里用的是角度)

4.4.3 查看状态

4.4.4 显示信息

4.5 清除和关闭

5  使用多个turtle 一起画

5.1 使用 turtle.Turtle() 返回一个turtle 对象

5.2 容易犯错的地方

5.3 如何创建多个turtle 小乌龟呢?

5.4 试验多个乌龟的测试代码

5.4.1 测试代码1

5.4.2 测试代码2

6  多角形的画法 

6.1 多角形和多角形形状,其实有着相同的数学原理

6.2 总结 关于多角形和多边形的 形成原理

6.3 关于多角形的起点(也适用于多边形)

6.4 坐标向量的模长公式

6.5 关于浮点数的回到原点判断

6.6 测试代码:这个其实是,多角星的画法

后面这些未完成(建设ing)

7 黄金螺线是弧线

8 绘制弧线相关

9  绘制多角星,前面是绘制多边形-圆,其他呢?还有那种变大的图形,鹦鹉螺  黄金螺线

10 总结多类图

11 其他函数


 1 在anaconda里用python3安装turtle

1.1 因为turtle 本来是适应python2的,所以直接安装报错

  1. turtle 最初是适应python2的,但是后面也适配了python3
  2. anaconda里python3安装turtle,或者直接在python3 安装turtle 都会有问题,出现安装失败,无法找到包之类的问题。
  3. 比如你输入 pip install turtle 就会一堆报错

axError: invalid syntax   ----------------------------------------Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/nf/y2318q0x2dg78hz_nnrh4f5c0000gn/T/pip-install-fhotaoh3/turtle/

1.2 准备好手动下载,官网下载安装包

1.2.1 去官方手册看了下,其实是支持python3的

1.2.2 官网下载,手动安装

  • 既然无法自动安装,那就手动安装
  • 官网的下载地址如下
  • turtle · PyPITurtle is an HTTP proxy whose purpose is to throttle connections tospecific hostnames to avoid breaking terms of usage of those APIproviders (like del.icio.us, technorati and so on).icon-default.png?t=N7T8https://pypi.org/project/turtle/#files

1.3 解决办法,参考如下的几个文章可解决

网上搜很多人遇到同样的问题

win10,Python3安装turtle报错_windows安装turtle-CSDN博客文章浏览阅读678次。win10,Python3安装turtle报错_windows安装turtlehttps://blog.csdn.net/zhuan_long/article/details/127713918

python3.7安装turtle,解决Command errored out with exit status 1: python setup.py egg_info Check the logs_command errored out with exit status 1: /usr/local-CSDN博客文章浏览阅读4.2k次,点赞3次,收藏6次。介绍Turtle package(海龟库)是python中使用较为广泛的绘制图像的函数库。导入海龟库之后,我们可以引用海归库中的函数绘制出各种各样的图案,比如哆啦A梦、皮卡丘等。Turtle package的核心思想就是把当前点想象成一个小海龟,然后给小海龟指令,让它沿着指令爬行,沿途留下轨迹就是我们绘制的图形,是不是很有意思呀,听到这估计很多朋友都想尝试一下了。Python3.7 Turtle安装问题要想使用Turtle,必须先在自己的计算机上安装Turtle package。由于当时Turtle _command errored out with exit status 1: /usr/local/python3.7.5/bin/python3.7https://blog.csdn.net/Just_do_myself/article/details/108144801

1.3.1 核心注意点

  • 下载文件是一个压缩包
  • 把setup.py文件里的一句py2语法的改成适合py3语法的语句(第40行)
  •  except (ValueError, ve):
  • 修改后保存下来,记住这个解压包地址

1.3.2 手动安装

  •  另外,一定要注意安装时路径改成自己电脑下载的安装包的的路径
  • 不要无脑写出 pip install turtle 这样的安装命令
  • 而要 “ pip install 安装包所在地址文件夹  ” 这样安装

2 turtle 运行时会遇到的各种问题

  • turtle号称很简单
  • 但是我没想到 turtle的包用起来问题很多

2.1 问题1:第1次可以运行,第2次运行报错的问题 (未解决)

  • 第1次可以运行,第2次运行失败的问题
  • 举例下面这个
  • 第1次运行正常,
  • 第2次运行报错

【完美解决】用python自带IDLE 进行turtle画图时,老是报错 AttributeError: module 'turtle' has no attribute 'fd'等问题-CSDN博客文章浏览阅读8.5k次,点赞33次,收藏13次。困扰我许久的一个问题,完美解决! 最近用python自带的IDLE,每当编写turtle画图的代码时,总是会报错,各种AttributeError: module ‘turtle’ has no attribute ‘fd’,连个直线都画不了……以下是问题样式:各种AttributeError: module ‘turtle’ has no attribute ‘fd’问题出现的原因相信..._attributeerror: module 'turtle' has no attribute 'percolorhttps://blog.csdn.net/SJM1996_fighting/article/details/103745286icon-default.png?t=N7T8https://blog.csdn.net/SJM1996_fighting/article/details/103745286

Python Turtle 窗口每第二次运行就会崩溃 - IT工具网icon-default.png?t=N7T8https://www.coder.work/article/4942823关于python:在jupyter笔记本中,Turtle不会运行超过一次 | 码农家园Turtle does not run more than once in jupyter notebook我正在尝试在jupyter笔记本中运行一些海龟代码。 当我运行一次代码时,代码运行良好。 但是,如果我...icon-default.png?t=N7T8https://www.codenong.com/56581957/

2.2 问题2:第1次可以运行,第2次运行失败时窗口卡死问题 (未解决)

  • 第一次运行正常
  • 经常遇到第2次运行时,turtle窗口卡死

2.3  导入的问题

2.3.1 from turtle import *

  • 官方文档里,明确写了,最好不要这样导入。
  • 导入内容多,且存在和其他包冲突的可能性。

如果是导入模式1

  • from turtle import *
  • 这是把turtle全部导入了,可以直接使用方法
  • 比如直接这样写:forward(100) 

2.3.2 import turtle()

如果是导入模式2

  • import turtle
  • 那就是需要这样 turtle.Turtle().forward(100)
  • 这里turtle.Turtle() 其实返回的就是一个海龟对象
  • 但是要注意 turtle 和 turtle.Turtle() 实际是2个不同的海龟对象!

也可以

  • import turtle as t
  • t.Turtle().forward(100)

或者也可以

  • import turtle
  • t=turtle.Turtle()
  • t.forward(100)
     

2.4 窗口关闭和不关闭的问题

​2.4.1 解决窗口会自动关闭的问题

这个问题很常见,用Python turtle画图时,画完图形窗口一下子退出消失,自动退出窗口的几个解决方法

  • 1.第一种方法:在程序的最后面加上:turtle.exitonclick()
  • 该语句让程序等待用户点击界面后才能够退出。
  • 2.第二种方法:在程序的最后面加上:turtle.mainloop()
  • 该语句必须放到最后一句,该句子后面的所有代码都无法执行,该语句的功能是事件循环。
  • 3.第三种方法:在程序的最后面加上:turtle.done()

2.4.2 在jupyternotebook等IDE里,出现不仅不自动关闭,且无法关闭的情况( 未解决)

  • 用turtle.bye()也不管用

3 从这次改变学习思路

3.1 新的学习思路尝试(主要是做一个对比)

  • 不想那么一步步学了
  • 我先看了一遍官方文档,然后自己根据印象,写一个综合其特点的各种例子,实际运用下

总结我之前的2种学习过程

  • 第1种:机器学习,线性代数等,先看书,然后根据书学了,再学笔记
  • 第2种:学用python的包,随便网上搜了,按网上搜到的看看了,直接跟着学一遍
  • 现在第3种是对第2种的改进,不想按部就班的这样学了,看重点文档官方文档,然后按自己的想法,写一些优点意思的代码。中间过程用到的新方法等顺便学下。

3.2 官方文档:学习首要参考

  • 先看了官方文档一遍
  • 这个turtle 文档我觉得写的一般,但是还是需要看的

turtle --- 海龟绘图 — Python 3.12.1 文档源码: Lib/turtle.py 概述: 海龟绘图是对 最早在 Logo 中引入的受欢迎的几何绘图工具 的实现,它由 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 在 1967 年开发。 Turtle star: 使用海龟绘图可以编写重复执行简单动作的程序画出精细复杂的形状。 在 Python 中,海龟绘图提供了一个实体“海龟”形象(带有...icon-default.png?t=N7T8https://docs.python.org/zh-cn/3/library/turtle.html#turtle.color

3.3 这里可以罗列 turtle的一些方法,属性,等等(缺内容补充)

但是要简单,主要在使用中感受,学习吧

turtle 这样的用法很多

begin_poly()   和 end_poly()

begin_fill()  和 end_fill()

pendown() 和  penup()

4  画一个n边形 polygon

4.1 目标

  • 1>带参数,可以画任意边形状.(实际上边数较多时,就接近圆形了)
  • 2>试验,延迟动画效果
  • 3>试验,无动画效果y
  • 4>试验 polygon

4.2 对应试验代码

4.2.1 代码1:下面的代码设计内容

  • 屏蔽动画过程,直接画出图形结果
  • 使用了 tracer(False) 和  tracer(True) 控制刷新
  • 接受用户输入,自动生成对应的多边形

注意:python的range() 相关
  • range( start,end,step)
  • 要注意每个数都必须是int,否则会报错,这里我用 range(1,int(n),1) 也是未了避免整个
  • 否则报错TypeError: 'float' object cannot be interpreted as an integer
from turtle import *

tracer(False)
home()
print(position())

n=numinput("请输入数字","只能是数字,且3~100以内",3,3,100)
for i in range(1,int(n)+1,1):
    forward(30)
    left(360/(int(n)))
tracer(True)
mainloop()

 

4.2.2 代码2:下面的代码设计内容

  • 和代码1的差别是
  • 没用屏蔽动画,反而是放慢的动画播放速度
  • 用delay(int) 来实现
from turtle import *

delay(60)
home()
print(position())

n=numinput("请输入数字","只能是数字,且3~100以内",3,3,100)
for i in range(1,int(n)+1,1):
    forward(30)
    left(360/(int(n)))

mainloop()

4.2.3 代码3: 写入 polygon这个整体block

  • 目的是什么呢?
  • 把这段代码 用 begin_poly()   和 end_poly() 这样包围起来,是为了让turtle.write(turtle.get_poly()) # 方便整体调用?
  • 暂时没发现有什么用处?
  • begin_poly() 
  • end_poly()
  • turtle.get_poly()
from turtle import *

pencolor('black')
pensize(1)
fillcolor('orange')

delay(60)
begin_poly()
begin_fill()

n=numinput("请输入数字","只能是数字,且3~100以内",3,3,100)
for i in range(1,int(n)+1,1):
    forward(30)
    left(360/(int(n)))

end_fill()
end_poly()

p = turtle.get_poly()
turtle.write(p)   #可以把polygon画画时,显示每次的点坐标pos,但是起点终点会写2次
print(p)          #返回信息,图片上不显示

mainloop()

((0.00,0.00), (30.00,0.00), (57.41,12.20), (77.48,34.50), (86.75,63.03), (83.61,92.86), (68.61,118.84), (44.34,136.48), (15.00,142.72), (-14.34,136.48), (-38.61,118.84), (-53.61,92.86), (-56.75,63.03), (-47.48,34.50), (-27.41,12.20), (0.00,0.00))

4.3 动画刷新问题

4.3.1 turtle 自动动画效果,但允许用户自定义修改

  • turtle默认就是自带动画效果的,这是一个很大的特点
  • 但是同时turtle也允许
  1. 用户取消动画过程
  2. 控制动画速度

4.3.2  屏蔽动画

使用 tracer(False) 和  tracer(True) 控制刷新

  • 一般成对使用,关闭刷新,打开刷新
  • tracer(False)
  • tracer(True)

4.3.3 强制刷新

  • update()
  • 在刷新被关闭时,强行刷新1次?

4.3.4  修改延时

  • delay( time毫秒数)
  • time : 一个正整数,以毫秒为单位表示延迟时间,是可选的。
  • 1秒=10分秒=100厘秒=1000毫秒
  • 1毫秒=1000微秒

4.4 关于位置

4.4.1 移动

  • turtle.forward()
  • turtle.backward()
  • setx()
  • sety()
  • goto
  • teleport  瞬间移动

4.4.2 角度(注意这里用的是角度)

turtle.left()

turtle.right()

角度和弧度换算

弧度公式

费360度角度公式

4.4.3 查看状态

  • home()                   #回到原点
  • position()   pos()    #移动/显示位置
  • heading()               #移动/显示方向

4.4.4 显示信息

  • 多边形polygon显示的是坐标信息
  • turtle.write(p)   #可以把polygon画画时,显示每次的点坐标pos,但是起点终点会写2次
  • print(p)          #返回信息,图片上不显示

4.5 清除和关闭

  • clear()
  • reset()        #关掉
  • turtle.bye()   #好像不生效


 

5  使用多个turtle 一起画

5.1 使用 turtle.Turtle() 返回一个turtle 对象

  • turtle.Turtle()     #产生一个新的turtle对象
  • turtle.Turtle()     #再产生一个新的turtle对象

5.2 容易犯错的地方

下面这种写法,实际伤定义了3个不同的turtle,默认的1个, turtle.Turtle()又新建了2个,并且,后面 turtle.Turtle()创建的2个完全是独立的。一定注意

        turtle.color(c)
        turtle.Turtle().forward(steps)

        turtle.Turtle().right(30)

        #上面这种写法,实际伤定义了3个不同的turtle

5.3 如何创建多个turtle 小乌龟呢?

t1=turtle.Turtle()
t2=turtle.Turtle()

5.4 试验多个乌龟的测试代码

5.4.1 测试代码1

import turtle

t1=turtle.Turtle()
t2=turtle.Turtle()

for step1 in range(100):
    t1.color("green")
    t1.forward(step1)
    t1.right(30)
    
    t2.color("red")
    t2.forward(step1*1.2)
    t2.right(30)

turtle.done()

5.4.2 测试代码2

import turtle

t1=turtle.Turtle()
t1.pencolor('black')
t1.pensize(1)
t1.fillcolor('green')

t2=turtle.Turtle()
t2.pencolor('black')
t2.pensize(1)
t2.fillcolor('red')

t1.setheading(0)
t2.setheading(180)


t1.begin_fill()
t2.begin_fill()
for step1 in range(50):
    #t1.goto(-step1-50,0)
    t1.color("green")
    t1.forward(step1*10)
    t1.left(170)

    t2.color("red")
    t2.forward(step1)
    t2.left(30)

t1.end_fill()
t2.end_fill()
    
turtle.done()

6  多角形的画法 

6.1 多角形和多角形形状,其实有着相同的数学原理

统一的算法原理

其实,如果是一个点这样持续转动

  • 转动180度那就直接到了对面
  • 转动360度那就直接到了自己这边
  • 转动540度那就直接到了对面

如果不是180呢

其实,如果是一个点这样持续转动

  • 如果         90 < 转动角度 <180
  • 转动170度那就直接到了对面,但是偏差10度,后面一直偏差下去,理论需要 360/10=36 才能刚好转一圈,那就会形成36个角
  • 转动150度那就直接到了对面,但是偏差30度,后面一直偏差下去,理论需要 360/30=12 才能刚好转一圈,那就会形成12个角

6.2 总结 关于多角形和多边形的 形成原理

  • 上面我说清楚了,
  • 多边形其实就是连续旋转多次而成了
  • 而如果连续选择相同的角度,就会形成正多边形
  • 如果旋转的角度     0<x<90,形成多边形,第2象限
  • 如果旋转的角度     90<x<180,就会形成多角星,至少都比四边形复杂
  • 如果,如果旋转的角度    180<x<270,就会形成多角星,
  • 如果,如果旋转的角度    270<x<360,形成多边形,第4象限

6.3 关于多角形的起点(也适用于多边形)

  • 用 stamp() 和dot() 是为了强调原点
  • 这样方便看清楚,运动的原点。
  • 是为了在图上显示原点,这样也能明白最后为什么会收敛于原点

6.4 坐标向量的模长公式

  • abs(pos())

6.5 关于浮点数的回到原点判断

  • 浮点数的判断条件无 ==
  • 只能用 <1足够小来判断

6.6 测试代码:这个其实是,多角星的画法

搞清楚这个的动画后,自己手动画的原理也了解了,直观的经验狠重要啊

from turtle import *
# 绘制多角星,前面是绘制多边形-圆,其他呢?还有那种变大的图形,鹦鹉螺

pencolor('black')
pensize(1)
fillcolor('red')
dot(10,"red")
stamp()


begin_fill()
delay(10)
while True:
    forward(200)
    left(150)
    print("pos()=",pos(),"abs(pos())=",abs(pos()))
    if abs(pos()) < 1:    #abs()取模长方法,float没用 ==0这种判断,只能<1像素
        break
end_fill()

done()

pos()= (200.00,0.00) abs(pos())= 200.0
pos()= (26.79,100.00) abs(pos())= 103.52761804100828
pos()= (126.79,-73.21) abs(pos())= 146.41016151377548
pos()= (126.79,126.79) abs(pos())= 179.31509443361068
pos()= (26.79,-46.41) abs(pos())= 53.58983848622458
pos()= (200.00,53.59) abs(pos())= 207.05523608201662
pos()= (0.00,53.59) abs(pos())= 53.58983848622448
pos()= (173.21,-46.41) abs(pos())= 179.31509443361074
pos()= (73.21,126.79) abs(pos())= 146.4101615137754
pos()= (73.21,-73.21) abs(pos())= 103.5276180410084
pos()= (173.21,100.00) abs(pos())= 199.99999999999997
pos()= (0.00,-0.00) abs(pos())= 1.0345658394727079e-13

后面这些未完成(建设ing)

7 黄金螺线是弧线

但原理和之前的线段逐渐变长的原理是想通的

8 绘制弧线相关

9  绘制多角星,前面是绘制多边形-圆,其他呢?还有那种变大的图形,鹦鹉螺  黄金螺线

10 总结多类图

11 其他函数

delay()

speed()

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

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

相关文章

【Spring】IoC容器 控制反转 与 DI依赖注入 配置类实现版本 第四期

文章目录 基于 配置类 方式管理 Bean一、 配置类和扫描注解二、Bean定义组件三、高级特性&#xff1a;Bean注解细节四、高级特性&#xff1a;Import扩展五、基于注解配置类方式整合三层架构组件总结 基于 配置类 方式管理 Bean Spring 完全注解配置&#xff08;Fully Annotatio…

MATLAB环境下基于短时傅里叶变换和Rényi熵的脑电信号和语音信号分析

傅里叶变换是不能很好的反映信号在时域的某一个局部范围的频谱特点的&#xff0c;这一点很可惜。因为在许多实际工程中&#xff0c;人们对信号在局部区域的特征是比较关心的&#xff0c;这些特征包含着十分有用的信息。这类信号因为在时域(或者是空间域)上具有突变的非稳定性和…

切比雪夫(最小区域法)圆拟合算法

欢迎关注更多精彩 关注我&#xff0c;学习常用算法与数据结构&#xff0c;一题多解&#xff0c;降维打击。 本期话题&#xff1a;切比雪夫&#xff08;最小区域法&#xff09;直线拟合算法 相关背景和理论 点击前往 主要介绍了应用背景和如何转化成线性规划问题 圆拟合输入和…

WordPress使用

WordPress功能菜单 仪表盘 可以查看网站基本信息和内容。 文章 用来管理文章内容&#xff0c;分类以及标签。编辑文章以及设置分类标签&#xff0c;分类和标签可以被添加到 外观-菜单 中。 分类名称自定义&#xff1b;别名为网页url链接中的一部分&#xff0c;最好别设置为中文…

Uniapp + VUE3.0 实现双向滑块视频裁剪效果

效果图 <template><view v-if"info" class"all"><video:src"info.videoUrl"class"video" id"video" :controls"true" object-fit"fill" :show-fullscreen-btn"false"play-btn…

极电电子WMS项目顺利验收,盘古信息助推新能源车企数字化转型

近年来&#xff0c;中国新能源汽车产销持续保持着较高增速&#xff0c;产销总量连续9年位居全球第一。 在产销高涨的背后&#xff0c;新能源汽车行业“内卷”现象也日益加剧&#xff0c;“配置战”、“价格战”等愈发激烈&#xff0c;驱动车企提高自身竞争力&#xff0c;以抢占…

基于AdaBoost算法的情感分析研究-微博情感分析-文本分类

基于AdaBoost算法的情感分析研究 摘 要 随着互联网的快速发展&#xff0c;各类社交媒体平台如微信、QQ等也与日俱增&#xff0c;而微博更是集成了传统网站、论坛、博客等的优点&#xff0c;并加上了人与人之间的互动性、关系亲密程度等多种智能算法&#xff0c;并以简练的形式…

华清远见嵌入式学习——驱动开发——day9

目录 作业要求&#xff1a; 作业答案&#xff1a; 代码效果&#xff1a; ​编辑 Platform总线驱动代码&#xff1a; 应用程序代码&#xff1a; 设备树配置&#xff1a; 作业要求&#xff1a; 通过platform总线驱动框架编写LED灯的驱动&#xff0c;编写应用程序测试&…

Docker容器故障排查与解决方案

Docker是一种相对使用较简单的容器&#xff0c;我们可以通过以下几种方式获取信息&#xff1a; 1、通过docker run执行命令&#xff0c;或许返回信息 2、通过docker logs 去获取日志&#xff0c;做有针对性的筛选 3、通过systemctl status docker查看docker服务状态 4、通过…

React学习——快速上手

文章目录 初步模块思维 初步 https://php.cn/faq/400956.html 1、可以手动使用npm来安装各种插件&#xff0c;来从头到尾自己搭建环境。 如&#xff1a; npm install react react-dom --save npm install babel babel-loader babel-core babel-preset-es2015 babel-preset-rea…

一休哥助手网页版如何使用

一休哥助手网页版可以使用GPT4提问了&#xff0c;具体操作流程如下&#xff1a; 1.登录网页版一休哥助手&#xff08;首次打开页面时&#xff0c;初始化久一点&#xff0c;请耐心等一下&#xff09; https://www.fudai.fun 2.登录后就可以使用GPT4了 3.你还可以自定义系统角色…

备战蓝桥杯---基础算法刷题1

最近在忙学校官网上的题&#xff0c;就借此记录分享一下有价值的题&#xff1a; 1.注意枚举角度 如果我们就对于不同的k常规的枚举&#xff0c;复杂度直接炸了。 于是我们考虑换一个角度&#xff0c;我们不妨从1开始枚举因子&#xff0c;我们记录下他的倍数的个数sum个&#…

c++笔记理解

1.封装 &#xff08;1&#xff09;构造函数不是必须在的 可以通过行为修改属性 &#xff08;2&#xff09;private和protected区别在于继承那里要学 &#xff08;3&#xff09;类默认是私有&#xff0c;struct是共有 私有的好处&#xff1a;控制数据的有效性&#xff0c;意…

如何快速提升Lazada和Shopee店铺订单量:自养号测评补单策略详解

Lazada和Shopee&#xff0c;作为东南亚地区领先的电商平台&#xff0c;汇聚了无数卖家和消费者。然而&#xff0c;随着市场竞争的日益激烈&#xff0c;如何有效地推广自己的店铺&#xff0c;成为卖家们亟待解决的问题。本文将深入探讨店铺推广的策略&#xff0c;并分享如何迅速…

百度百科词条在网络推广中的六大作用

也许很多网友都发现了&#xff0c;在网上查资料&#xff0c;百科词条往往是优先展示的。一方面因为百科是搜索引擎自身的平台&#xff0c;另一方面就是因为百科信息权威&#xff0c;网友认可度高。所以企业开展网络营销&#xff0c;百科营销是一块重要阵地。 也有的企业认为百科…

Feign远程调用(学习笔记)

先来看我们以前利用RestTemplate发起远程调用的代码&#xff1a; 存在下面的问题&#xff1a; ●代码可读性差&#xff0c;编程体验不统一 ●参数复杂URL难以维护 Feign是一个声明式的http客户端&#xff0c;官方地址&#xff1a;https://github.com/OpenFeign/feign 其作用…

代理IP为什么会有延迟?

在当今信息高速发展的时代&#xff0c;随着代理IP在数据采集、网络安全和匿名浏览等领域的应用&#xff0c;已成为网络技术中不可或缺的一环。然而&#xff0c;用户在使用代理IP时经常会遇到一个问题——延迟。 那我们要如何解决这个问题呢&#xff1f; 这需要从代理IP的原理说…

【MATLAB源码-第143期】基于matlab的蝴蝶优化算法(BOA)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 蝴蝶优化算法&#xff08;Butterfly Optimization Algorithm, BOA&#xff09;是基于蝴蝶觅食行为的一种新颖的群体智能算法。它通过模拟蝴蝶个体在寻找食物过程中的嗅觉导向行为以及随机飞行行为&#xff0c;来探索解空间&a…

R语言数据分析(五)

R语言数据分析&#xff08;五&#xff09; 文章目录 R语言数据分析&#xff08;五&#xff09;前言一、什么是整洁的数据二、延长数据2.1 列名中的数据值2.2 pivot_longer()的处理原理2.3 列名中包含许多变量的情况2.4 列名同时包含数据和变量 三、扩宽数据3.1 pivot_wider的处…

uniapp微信小程序解决上方刘海屏遮挡

问题 在有刘海屏的手机上&#xff0c;我们的文字和按钮等可能会被遮挡 应该避免这种情况 解决 const SYSTEM_INFO uni.getSystemInfoSync();export const getStatusBarHeight ()> SYSTEM_INFO.statusBarHeight || 15;export const getTitleBarHeight ()>{if(uni.get…