文章目录
想说的话
本篇博客分享了,如何安装Python集成开发环境IDE,简单介绍了如何设置简体中文版Pycharm,从学习兴趣方向向Python编程小白们系统的介绍了海龟绘图(turtle)的基本知识和学习Python绘图视频课程推荐,向大家展示了学习完海龟绘图之后小编制作BDD的效果图及源码的分享,结合实际案例引导小白们动手实操,最后,对要想系统的学习Python的小伙伴分享了图灵图书出版的《Python从入门到实践》教材,推荐了b站上的优质学习课程,分享了小编积累的Python网盘学习资料。
小编博客制作不易,希望喜欢的大佬们可以点赞互粉,你们的支持是小编一直创作的动力
一、集成开发环境
1.Pycharm下载安装教程
想学习一门编程语言,选择顺手的IDE是非常重要的,下面简单的介绍一下pycharm
先来介绍一下pycharm官网,和视频安装教程吧
最好用的文本编辑器:Pycharm(←下载地址)
安装搭建教程:B站 程序猿在思考(一个视频搞定)
对于刚学习Python的小白们来说,学会使用pycharm是学习Python路上的一个利器
2.设置简体中文
很多小伙伴懊恼的是pycharm界面为全英文
看到这的小伙伴想必是已近搭建好Python集成开发环境了
那么下面这篇博客↓将教会你如何把程序环境设置为简体中文
无需汉化包设置中文:CSDN 小旺不正经(一遍就懂)
二、Python绘图
1.turtle 绘图基础知识
你是否为学习一门编程语言而感到枯燥乏味呢,你是否常常看着黑白简陋的Windows运行框而提不起兴趣呢
我们知道兴趣是最好的老师,在学习编程语言上也不例外!
借助Python turtle海龟绘图可以很好规避枯燥无味的编程,给学者最直观的视觉享受,画出图形之后满满的成就感
先说明一下turtle绘图的基础知识:
python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图turtle库是python的内部库,使用导入即可 import turtle
1. 1画布(canvas)
画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置
1.1 设置画布大小
turtle.screensize(canvwidth=None, canvheight=None, bg=None)
参数分别为画布的宽(单位像素), 高, 背景颜色
如:
turtle.screensize(800, 600, "green")
turtle.screensize() #返回默认大小(400, 300)
turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
参数:
width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例
(startx, starty): 这一坐标表示 矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心
如:
turtle.setup(width=0.6, height=0.6)
turtle.setup(width=800, height=800, startx=100, starty=100)
1.2. 画笔
2.1 画笔的状态
在画布上,默认有一个坐标原点为画布中心的坐标轴, 坐标原点上有一只面朝x轴正方向小乌龟. 这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中, 就是使用位置方向描述小乌龟(画笔)的状态
2.2 画笔的属性
画笔(画笔的属性,颜色、画线的宽度)
turtle.pensize():设置画笔的宽度;
turtle.pencolor(); 没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", “red”,也可以是RGB 3元组,
>>> pencolor('brown')
>>> tup = (0.2, 0.8, 0.55)
>>> pencolor(tup)
>>> pencolor()
'#33cc8c'
turtle.speed(speed): 设置画笔移动速度,画笔绘制的速度范围[0,10]整数, 数字越大越快
1.3.指令操作
(1)画笔运动命令:
(2)画笔控制命令:
(3) 全局控制命令
1.4. 绘图举例
4.1 太阳花
import turtle
import time
turtle.color("red", "yellow")
turtle.speed(10)
turtle.begin_fill()
for _ in range(50):
turtle.forward(200)
turtle.left(170)
turtle.end_fill()
time.sleep(1)
4.2 绘制小蟒蛇
import turtle
def drawSnake(rad, angle, len, neckrad):
for _ in range(len):
turtle.circle(rad, angle)
turtle.circle(-rad, angle)
turtle.circle(rad, angle/2)
turtle.forward(rad/2) # 直线前进
turtle.circle(neckrad, 180)
turtle.forward(rad/4)
if __name__ == "__main__":
turtle.setup(1500, 1400, 0, 0)
turtle.pensize(30) # 画笔尺寸
turtle.pencolor("green")
turtle.seth(-40) # 前进的方向
drawSnake(70, 80, 2, 15)
4.3 绘制五角星
import turtle
import time
turtle.pensize(5)
turtle.pencolor("yellow")
turtle.fillcolor("red")
turtle.begin_fill()
for _ in range(5):
turtle.forward(200)
turtle.right(144)
turtle.end_fill()
time.sleep(2)
turtle.penup()
turtle.goto(-150,-120)
turtle.color("violet")
turtle.write("Done", font=('Arial', 40, 'normal'))
time.sleep(1)
当然要想实现上述简单图形的绘制当然先得进行学习啦,光看概念性的东西是很难理解的
2.视频课程
学习一门语言当然不能是枯燥无味的,需要对编程语言本身感兴趣并且看到回应
接下来当然是要好好修炼一下才能绘出各种各样精美的图案啦
学完下面介绍的turtle绘图课程我相信你一定可以随便画出上面介绍的四个简单图形
最基础的绘图课程:b站 小王老师教编程(这也是我最开始学习的地方)
学会这五个基本的图形之后就能在turtle上画自己想要的图案啦
4.代码分享
其实要想实现出复杂的曲线还是有一定的难度的,但是学到这我相信你已经对Python功能的强大性感到惊讶了吧,接下来复制这段代码去试试吧
代码如下:
import turtle
turtle.title('BDD')
turtle.speed(100) # 速度
# 左手
turtle.penup()
turtle.goto(177, 112)
turtle.pencolor("darkcyan")
turtle.pensize(3)
turtle.fillcolor("lightcyan")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(80)
turtle.circle(-45, 200)
turtle.circle(-300, 23)
turtle.end_fill()
# 左手内
turtle.penup()
turtle.goto(182, 95)
turtle.pencolor("black")
turtle.pensize(1)
turtle.fillcolor("black")
turtle.begin_fill()
turtle.setheading(95)
turtle.pendown()
turtle.circle(-37, 160)
turtle.circle(-20, 50)
turtle.circle(-200, 30)
turtle.end_fill()
# 轮廓
# 头顶
turtle.penup()
turtle.goto(-73, 230)
turtle.pencolor("darkcyan")
turtle.pensize(3)
turtle.fillcolor("lightcyan")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(20)
turtle.circle(-250, 35)
# 左耳
turtle.setheading(50)
turtle.circle(-42, 180)
# 左侧
turtle.setheading(-50)
turtle.circle(-190, 30)
turtle.circle(-320, 45)
# 左腿
turtle.circle(120, 30)
turtle.circle(200, 12)
turtle.circle(-18, 85)
turtle.circle(-180, 23)
turtle.circle(-20, 110)
turtle.circle(15, 115)
turtle.circle(100, 12)
# 右腿
turtle.circle(15, 120)
turtle.circle(-15, 110)
turtle.circle(-150, 30)
turtle.circle(-15, 70)
turtle.circle(-150, 10)
turtle.circle(200, 35)
turtle.circle(-150, 20)
# 右手
turtle.setheading(-120)
turtle.circle(50, 30)
turtle.circle(-35, 200)
turtle.circle(-300, 23)
# 右侧
turtle.setheading(86)
turtle.circle(-300, 26)
# 右耳
turtle.setheading(122)
turtle.circle(-53, 160)
turtle.end_fill()
# 右耳内
turtle.penup()
turtle.goto(-130, 180)
turtle.pencolor("black")
turtle.pensize(1)
turtle.fillcolor("black")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(120)
turtle.circle(-28, 160)
turtle.setheading(210)
turtle.circle(150, 20)
turtle.end_fill()
# 左耳内
turtle.penup()
turtle.goto(90, 230)
turtle.setheading(40)
turtle.begin_fill()
turtle.pendown()
turtle.circle(-30, 170)
turtle.setheading(125)
turtle.circle(150, 23)
turtle.end_fill()
# 右手内
turtle.penup()
turtle.goto(-180, -55)
turtle.fillcolor("black")
turtle.begin_fill()
turtle.setheading(-120)
turtle.pendown()
turtle.circle(50, 30)
turtle.circle(-27, 200)
turtle.circle(-300, 20)
turtle.setheading(-90)
turtle.circle(300, 14)
turtle.end_fill()
# 左腿内
turtle.penup()
turtle.goto(108, -168)
turtle.fillcolor("black")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(-115)
turtle.circle(110, 15)
turtle.circle(200, 10)
turtle.circle(-18, 80)
turtle.circle(-180, 13)
turtle.circle(-20, 90)
turtle.circle(15, 60)
turtle.setheading(42)
turtle.circle(-200, 29)
turtle.end_fill()
# 右腿内
turtle.penup()
turtle.goto(-38, -210)
turtle.fillcolor("black")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(-155)
turtle.circle(15, 100)
turtle.circle(-10, 110)
turtle.circle(-100, 30)
turtle.circle(-15, 65)
turtle.circle(-100, 10)
turtle.circle(200, 15)
turtle.setheading(-14)
turtle.circle(-200, 27)
turtle.end_fill()
# 彩虹圈
turtle.penup()
turtle.goto(-135, 120)
turtle.pensize(5)
turtle.pencolor("cyan")
turtle.pendown()
turtle.setheading(60)
turtle.circle(-165, 150)
turtle.circle(-130, 78)
turtle.circle(-250, 30)
turtle.circle(-138, 105)
turtle.penup()
turtle.goto(-131, 116)
turtle.pencolor("slateblue")
turtle.pendown()
turtle.setheading(60)
turtle.circle(-160, 144)
turtle.circle(-120, 78)
turtle.circle(-242, 30)
turtle.circle(-135, 105)
turtle.penup()
turtle.goto(-127, 112)
turtle.pencolor("darkcyan") # 改颜色、、、、、、
turtle.pendown()
turtle.setheading(60)
turtle.circle(-155, 136)
turtle.circle(-116, 86)
turtle.circle(-220, 30)
turtle.circle(-134, 103)
turtle.penup()
turtle.goto(-123, 108)
turtle.pencolor("gold")
turtle.pendown()
turtle.setheading(60)
turtle.circle(-150, 136)
turtle.circle(-104, 86)
turtle.circle(-220, 30)
turtle.circle(-126, 102)
turtle.penup()
turtle.goto(-120, 104)
turtle.pencolor("greenyellow")
turtle.pendown()
turtle.setheading(60)
turtle.circle(-145, 136)
turtle.circle(-90, 83)
turtle.circle(-220, 30)
turtle.circle(-120, 100)
turtle.penup()
# 面部
turtle.penup()
turtle.goto(-120, 104)
turtle.fillcolor("white")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(60)
turtle.circle(-145, 136)
turtle.circle(-90, 83)
turtle.circle(-220, 30)
turtle.circle(-120, 100)
turtle.end_fill()
# 右眼
# 眼圈
turtle.penup()
turtle.pencolor("black")
turtle.goto(-64, 120)
turtle.fillcolor("black")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(40)
turtle.circle(-35, 152)
turtle.circle(-100, 50)
turtle.circle(-35, 130)
turtle.circle(-100, 50)
turtle.end_fill()
# 眼珠
turtle.penup()
turtle.goto(-47, 55)
turtle.fillcolor("white") # 改颜色、、、、、、、、、、、、、、、、、、、、、、
turtle.begin_fill()
turtle.pendown()
turtle.setheading(0)
turtle.circle(25, 360)
turtle.end_fill()
turtle.penup()
turtle.goto(-45, 62)
turtle.pencolor("darkslategray")
turtle.fillcolor("darkslategray")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(0)
turtle.circle(19, 360)
turtle.end_fill()
turtle.penup()
turtle.goto(-45, 68)
turtle.fillcolor("black")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(0)
turtle.circle(10, 360)
turtle.end_fill()
turtle.penup()
turtle.goto(-47, 86)
turtle.pencolor("white")
turtle.fillcolor("white")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(0)
turtle.circle(5, 360)
turtle.end_fill()
# 左眼
# 眼圈
turtle.penup()
turtle.goto(51, 82)
turtle.fillcolor("black")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(120)
turtle.circle(-32, 152)
turtle.circle(-100, 55)
turtle.circle(-25, 120)
turtle.circle(-120, 45)
turtle.end_fill()
# 眼珠
turtle.penup()
turtle.goto(79, 60)
turtle.fillcolor("black")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(0)
turtle.circle(24, 360)
turtle.end_fill()
turtle.penup()
turtle.goto(79, 64)
turtle.pencolor("darkslategray")
turtle.fillcolor("darkslategray")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(0)
turtle.circle(19, 360)
turtle.end_fill()
turtle.penup()
turtle.goto(79, 70)
turtle.fillcolor("black")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(0)
turtle.circle(10, 360)
turtle.end_fill()
turtle.penup()
turtle.goto(79, 88)
turtle.pencolor("white")
turtle.fillcolor("white")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(0)
turtle.circle(5, 360)
turtle.end_fill()
# 鼻子
turtle.penup()
turtle.goto(37, 80)
turtle.fillcolor("black")
turtle.begin_fill()
turtle.pendown()
turtle.circle(-8, 130)
turtle.circle(-22, 100)
turtle.circle(-8, 130)
turtle.end_fill()
# 嘴
turtle.penup()
turtle.goto(-15, 48)
turtle.pencolor("black")
turtle.pendown()
turtle.setheading(-36)
turtle.begin_fill()
turtle.pendown()
turtle.circle(60, 70)
turtle.setheading(-132)
turtle.circle(-45, 100)
turtle.end_fill()
# 爱心
turtle.penup()
turtle.goto(220, 115)
turtle.pencolor("brown")
turtle.pensize(1)
turtle.fillcolor("brown")
turtle.begin_fill()
turtle.pendown()
turtle.setheading(36)
turtle.circle(-8, 180)
turtle.circle(-60, 24)
turtle.setheading(110)
turtle.circle(-60, 24)
turtle.circle(-8, 180)
turtle.end_fill()
# 五环
turtle.penup()
turtle.goto(-5, -170)
turtle.pendown()
turtle.pencolor("blue")
turtle.circle(6)
turtle.penup()
turtle.goto(10, -170)
turtle.pendown()
turtle.pencolor("black")
turtle.circle(6)
turtle.penup()
turtle.goto(25, -170)
turtle.pendown()
turtle.pencolor("brown")
turtle.circle(6)
turtle.penup()
turtle.goto(2, -175)
turtle.pendown()
turtle.pencolor("darkcyan")
turtle.circle(6)
turtle.penup()
turtle.goto(16, -175)
turtle.pendown()
turtle.pencolor("green")
turtle.circle(6)
turtle.penup()
turtle.pencolor("black")
turtle.goto(-16, -160)
turtle.write("BEIJING 2022", font=('Arial', 10, 'bold italic'))
turtle.hideturtle()
# 署名Ahual
turtle.pencolor("red")
turtle.goto(-100, -320)
turtle.write("中国加油!", font=('Arial', 28, 'bold italic'))
turtle.pencolor("lightcoral") # 改颜色、、、、、、、、、、、、、、、、、、、、、、、、、、
turtle.goto(113, -220)
turtle.write("---BDD ", font=('STKaiti', 30, 'bold italic'))
turtle.pencolor("black")
turtle.goto(120, -270)
turtle.write("2022年2月8日", font=('Arial', 28, 'bold italic'))
turtle.done()
不要忘记去向你的小伙伴显摆显摆你的学习成果哦
5.动手实操
试过了小编的代码你是不是也想自己DIY一个自己的呢
如果你还想自己深入的研究一下这段代码,不放试试自己修改颜色吧
这是Python颜色代码表哦↓
Python 的颜色代码表:CSDN 啧啧啧biubiu(超级全)
- [ ] 试着在小编注释的地方修改颜色代码吧
三、系统学习Python
上面介绍的集成开发环境的搭建、海龟绘图都是引入门哦
要想全面的学习Python当然不止绘图一个功能啦,还有很多语法、模块、算法等着你学习呢
下面将从三个方面来介绍如何系统的学习Python
1.学习教材
学习一门编程语言当然离不开一本教材的指导
图灵图书出版的《Python编程从入门到实际》
这也是小编最近在看的书
2.视频课程
要想系统的学习Python还得看着视频教程学习,光靠书本知识可不够哦
众所周知b站是一个学习网站↓
最基础的绘图课程:bilibili Python—子木(超级全面)
课程简介:Python小白教程,从0开始,针对0基础小白和基础薄弱的伙伴学习,全程干货细讲。全部课程分成【169集】从第一个程序到项目实战一步一步从Python萌新成长为大牛。
3.网盘资源
小编自己收集整理了一系列的Python学习资料,包括免费视频课程,电子PDF资料放在下面了↓
百度网盘链接: https://pan.baidu.com/s/1VG7VwGfhiXsyO84nRxGKYg
提取码: qeqp
总结
hhh感谢各位大佬能耐心看到这,学习完本篇博客呢,你从一个不懂编程的Python小白已经自己搭建好了集成开发环境,学会使用turtle模块绘图啦,掌握了如何系统的学习Python的方法,收获到小编分享的优质学习Python课程和学习资源。
小生呢现在是一名在校大一生,内容创作不易,希望各位大佬们喜欢支持,我会继续更新优质的创作内容的,你们的支持就是对我最大的鼓舞,加油!