导图社区 Python
Python基础语法和turtle部分,汇总内容有基础语法、嵌套语句、数据类型、turtle专项,有兴趣的可以看看哟。
编辑于2023-04-03 18:09:08 陕西Python
基础语法
一、输入输出语句
(一)print输出语句
1.print函数
作用:输出显示
用法:将需要输出的内容,按照固定格式放在print()函数的括号中
注意:(1)使用print()函数输出不同的数据类型的数据时要注意各个数据的标识。(2)print函数默认占用一行,若不想换行,则需要修改print函数的end参数[print("输出数据",end=" ")](3)一个print函数也可以输出多个数据,使用英文逗号做分割。(4)print可以使用格式化输出,%d表示整数、%s表示字符串、%2f表示保留两位浮点型数据。
(二)input输入语句
1.input函数
作用:接收任意输入(默认为字符串,并返回字符串类型)
用法:input([prompt])
prompt是提示信息。
返回值:字符类型
(三)数据类型查询
type()可以查询变量所指的数据类型。
二、变量
(一)变量的创建
python中的变量不需要声明。每个变量使用前必须赋值,赋值后变量才会被创建。在python中变量就是变量没有类型。类型是之内存中的对象类型。
(二)变量的赋值
使用等于号= 赋值
(三)变量的命名
python中变量的命名:(1)首字母不是数字。(2)变量不能是空格、连字符、标点符号、引号、下划线。(3)保留字不能作为变量名。(4)中文可以作为变量名,但不推荐使用。(5)变量名大小写敏感。
(四)多个变量的赋值
同时为多个变量赋相同值:a=b=c=1
为多个变量赋多个值:a,b,c=1,"a","啊"
(五)保留字
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
(六)数据类型
1.数字(Number)类型
int整形 衍生出bool(布尔)类型
float浮点型:类似于小数
complex复数型:如1+2j
2.字符串(String)类型
1.当你用单引号' '定义字符串的时候,它就会认为你字符串里面的双引号" "是普通字符,从而不需要转义。反之当你用双引号定义字符串的时候,就会认为你字符串里面的单引号是普通字符无需转义。
实际上3个单引号和3个双引号不经常用,但是在某些特殊格式的字符串下却有大用处。通常情况下我们用单引号或者双引号定义一个字符串的时候只能把字符串连在一起写成一行,如果非要写成多行,就可以使用多个引号。
多个字符串可以用+号连接到一起,可以用*号实现重复输出
(七)类型间的转换
1.int函数
返回值:整型数据
语法:int(x)
2.str()函数
返回值:字符串型数据
语法:str(x)
3.float()函数
返回值:浮点型数据
语法:float()
三、运算符
(一)算术运算符
1.+ 两对象相加
2.- 两对象相减
3.* 两对象相乘
4./ 两对象相除
5.% 取余数
6.** 幂运算
7.// 整除(下取整【int也可以做到】) [ceil()]上取整,[round()]四舍五入
(二)赋值运算符
= 简单赋值运算
+= 加法赋值运算 c+=a等效于c=c+a
-= 减法赋值运算 c-=a等效于c=c-a
*= 乘法赋值运算 c*=a等效于c=c*a
/=除法赋值运算 c/=a等效于c=c/a
%=取模赋值运算 c%=a等效于c=c%a
**=幂赋值运算 c**=a等效于c=c**a
//=整除取余赋值运算 c//=a等效于c=c//a
(三)比较运算符【返回true为真;返回false为假】
== 比较是否相等
!= 比较是否不相等
>大于
<小于
>=大于等于
<=小于等于
(四)逻辑运算符
and 同真为真
or 同假才假
not 真就是假,假就是真
四、条件语句
(一)if语句(单分支语句)
true执行if条件下的语句,false跳过,判断结束
(二)if...else语句(双分支语句)
true执行if条件下的语句,false执行else下的语句,判断结束
(三)if...elif...else语句(多分支语句)
是由一个if、一个或多个elif、一个else组成,else子块可以省略【但不建议】。只要有一个表达式的值为true,就执行对应的语句块,后面的表达式不再执行,判断此刻结束。
五、循环语句
(一)for循环
for变量in序列:【序列可以为任何序列项目,如:字符串、元组、字典等】
循环体
(二)range()函数
range(start,end,step)【start指定起始值(可以为空,默认是0);end指定结束值(不包含该值,不可省略);step指定步长(两数间隔,可以省略,默认是1)
循环体
(三)while循环
while 条件表达式【只要为真将一直执行循环体】
循环体【添加break语句跳出循环】
else【当while不满足的时候执行下面的】
嵌套语句
一、随机数
(一)随机数的生成
randint(a,b)
定义:生成一个[a,b]之间的随机数,包含a,b(a<b)
使用方法:导入random库后,使用randon.randint(a,b)进行调用,生成的随机数可以赋给变量
randrange(a,b,c)
定义:指定递增基数集合中的一个随机数。a和b定义了生成随机数的范围,c定义了序列
使用方法:可以理解成rand+range。range函数生成从a开始,到b结束,步长为c的序列,rand函数用来从序列中取随机数
二、条件语句嵌套使用
(一)if语句的嵌套
定义:判断语句里又有其它判断语句,在满足一个条件的前提下,看另一个条件是否满足
三、循环语句嵌套使用
(一)break和continue和pass保留字
循环一旦执行break,循环立即结束,没执行的代码不再执行,后续循环也不再执行
循环一旦执行continue语句,立刻跳出本次循环,本次没执行到的语句不再执行,直接进入下一次循环。
pass语句:空语句,没有任何效果,只是用来占位置用的。如果分支语句或者循环语句没有执行语句会报错,可以写pass
(二)for循环语句使用实例
(三)while循环语句使用实例
数据类型
一、列表
(一)列表的概念和创建
创建列表:把用逗号分隔的不同的数据项使用方括号括起来即可 变量名=[值1,值2,值3,...,值n]
使用list()方法直接创建,但list()方法只能接收一个序列值作为参数,如字符串 变量名=list('asdf')
(二)列表的索引和元素访问
Python可对切片独享的索引方式包括正索引和负索引 使用变量名[索引值]访问元素
(三)列表的更新和遍历
使用列表的下标确定列表的具体位置,然后给他赋值。通过len()命令可以读取列表中的元素有多少,既列表长度
(四)列表的截取和切片
一个完整的切片:(start_index:end_index:step)
start_index 起始值(包含)参数省略时表示对象从两端开始(若step为正数则从头开始,若step为负数则从尾开始)
end_index 重点值(不包含)该参数省略时表示到对象的两端(若step为正数则到尾结束,若step为负数则到头结束)
step:正负数均可,其绝对值大小决定了切取数据时的步长,正负号决定了切取方向,省略默认为1
(五)列表的统计和查找
1.判断列表中是否含有特定的值使用in命令,in前面为特定的值,后面为列表名称
格式: 元素名in列表名
返回值: True或False,其中True代表有,False代表没有。
2.列表中元素的查找
列表名.index():输出元素在列表中的下标
格式:列表名.index(查找的元素)
返回值:该元素在列表中的下标的位置,如果没有则会返回异常
3.列表中某个元素出现的次数统计
格式:列表名.count(查找的元素)
返回值:该元素在列表中的数量,若列表中不含该元素,则返回0
(六)列表的追加和删除
1.列表的追加
列表名.append(追加的元素)
2.列表元素的删除
列表名.pop(元素下标)
二、字符串
(一)字符串的创建和运算
字符串不支持修改
str()方法可以将任意一个数据转化为字符串返回
(二)字符串的分割
split(参数) 参数中指定的字符串可以将字符串分割成列表,默认值为空格
(三)字符串的索引和截取切片
与列表同理
三、元组
(一)元组的创建
在小括号中添加元素使用逗号隔开即可,若只有一个元素也需要在后面添加括号,若元素都是字符串则可以省略括号
四、字典
(一)字典的创建
有键和对应值组成,注意字典的键不能重复,必须为不可变数据类型,所以可以使用数字、字符串、元组;不能使用列表
turtle专项
一、turtle简介
(一)turtle概述
专门用来绘制图像的
(二)turtle模块的导入
improt turtle
二、画布设置
(一)画布
方法一:setup()设置船体大小及格式位置
turtle.setup(宽,高,x坐标,y坐标)
(1)最小单位是像素,左上角是(0,0)
(2)宽,高:输入为整数时,表示像素;为小数时表示占据屏幕的比例
(3)x坐标,y坐标:矩形窗口左上角顶点的位置,如果为空,则默认窗口在屏幕中心
方法二:screensize()设置画布大小及背景颜色
turtle.screensize(宽,高,'背景颜色')
(1)单位是像素
(2)宽,高:表示画布的宽度、高度,设置绘图区域大小。【若绘图区域大雨默认窗体大小则画布会以滚动条的形式呈现,但是窗体大小不变】
(3)turtle.screensize()表示设置画布的默认大小是宽400,高300
(二)窗口控制
1.trutle.reset()清空窗口,重置turtle状态为起始状态
2.turtle.clear()清空屏幕,但是海龟的位置和形状不会变化
3.turtle.done() 绘制完图案后窗口不关闭,用于turtle程序最后
三、画笔设置
(一)画笔运动
1.画笔前进和后退
(1)turtle.forward(像素长度) 向右移动像素长度
(2)turtle.backward(像素长度) 向左移动像素长度
2.画笔左转与右转
(1)绝对方向
turtle.seth(角度) 只改变方向不行进
注意这里是绝对方向,与改变前方向无关
(2)相对方向
turtle.left(angle) 在当前方向的基础上左转angle
turtle.right(angle) 在当前方向的基础上右转angle
3.画笔移动
(1)turtle.goto(x,y):将画笔移动到坐标为x,y的位置
(2)turtle.setx(x):将画笔移动到坐标为x的位置
(3)turtle.sety(y):将画笔移动到坐标为y的位置
(4)turtle.home():设置当前画笔位置为原点,头向右
4.填充颜色
(1)turtle.fillcolor(colorstring) 绘制图形的填充颜色,传入参数为颜色的单词
(2)turtle.begin_fill() 准备开始填充图形
(3)turtle.end_fill()填充完成
(二)画笔状态
1.画笔颜色
(1)turtle.pencolor('颜色1') 将画笔颜色设置为颜色1;颜色可以是表示颜色的单词,也可以是#开头的16进制颜色编号
(2)turtle.color('颜色1','颜色2') 将画笔设置为颜色1,将填充填色设置为颜色2,如果只传入一种颜色则画笔和填充颜色相同
2.画笔线宽和速度
(1)turtle.pensize(10) 设置画笔的宽度,数字越大宽度越粗
(2)turtle.speed(7) 设置画笔移动速度,速度范围是0~10 的整数。0 的速度最快,1~10 的速度递增
3.抬笔和落笔状态
(1)turtle.penup():提笔移动,不绘制图形
(2)turtle.pendown():落笔操作,移动时绘制图形
4.画笔的隐藏和显示
(1)turtle.hideturtle()隐藏画笔,不在画布上显示
(2)turtle.showturtle()显示画笔形状
(三)创建画笔对象
画笔名=turtle.Trutle()的方法来创建一只画笔对象,在使用画笔对象时,可以使用画笔名.方法()来执行
四、绘制圆弧和点
(一)绘制圆弧和内接多边形
1.turtle.circle(r) 绘制一个半径为r的空心圆
2.turtle.circle(r,n)绘制一个半径为r,角度为n的圆【90°就是四分之一个圆】
半径为正数,角度为正数,逆时针画半径为r(头朝向绘制方向),角度为n的圆
半径为负数,角度为正数,顺时针画半径为r(头朝向绘制方向),角度为n的圆
半径为正数,角度为负数,顺时针画半径为r(头背对绘制方向),角度为n的圆
半径为负数,角度为负数,逆时针画半径为r(头背对绘制方向),角度为n的圆
3.turtle.circle(radius,angle,steps)绘制内接多边形。radius:半径;angle:形成元的角度【90°就是四分之一个圆】;step:多边形边数
(二)绘制实心点
turtle.dot(直径,'背景颜色')