Myarr = [1,2,3,4,5,6,7,8,9]
#这里的-2下标就是取出Myarr中倒数第二个元素即8, 并把8赋给t
t = Myarr[-2]
for循环
以我自己浅显的想法来看,我觉得py里面的for循环方式是很丰富和好玩的
#意思是i作为迭代器,就是用来干活循环多次去获取range(21)的,
#range(21)会生成一个从0到20的整数序列,总共是21个数字
for i in range(21):
还有就是循环列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
可以在迭代器那里进行一些操作
t = [1, 2, 3]
t^2 for t in fruits:
print(t^2)
map和list函数的应用
这两个是python的内置函数,在对数据进行处理的时候,经常被用到,出场率非常高
map(函数,待处理数据)这个函数处理后,把待处理数据转换成想要的数据形式,返回的是一个迭代器对象,用list函数可以把这个迭代器所指向的东西以列表的形式展现出来
# 将列表中的每个元素转换为字符串
numbers = [1, 2, 3, 4, 5]
result = list(map(str, numbers))
# 输出结果为 ['1', '2', '3', '4', '5']
# 计算列表中每个元素的平方
numbers = [1, 2, 3, 4, 5]
result = list(map(lambda x: x**2, numbers))
# 输出结果为 [1, 4, 9, 16, 25]
# 将两个列表对应位置的元素相加
list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(lambda x, y: x + y, list1, list2))
# 输出结果为 [5, 7, 9]
迭代器
什么是迭代器呢?我浅薄的认为,这是一个可以逐个访问元素,具有自动跳转到下一个要指向对象的东西,非常好用
python里面的数组切片操作
切片操作的语法为[start:stop:step],其中:
start:起始位置(包含该位置的元素)stop:结束位置(不包含该位置的元素)step:步长(默认为1);start和stop可以省略,默认是整个数组,step省略默认为1
下面是几个常见的例子
1.获取列表中的部分元素
my_list = [1, 2, 3, 4, 5]
print(my_list[1:4]) # 输出:[2, 3, 4]
2.使用负数索引来从列表末尾开始切片
print(my_list[-3:]) # 输出:[3, 4, 5]
3.指定步长来获取间隔元素
print(my_list[::2]) # 输出:[1, 3, 5]
4.切片操作也适用于字符串
my_string = "Hello, World!"
print(my_string[7:]) # 输出:World!
切片操作的好处不言而喻,通过灵活运用切片操作,可以方便地从序列中获取需要的子序列,提高代码的简洁性和可读性
turtle库
这里单独的想说一下turtle库,这是python语言内嵌的一个函数,用来画图使用,很好玩
我一向认为例子才是学习新知识的最好方法这里举出一个例子
首先要先import turtle来引入turtle函数
import turtle
import random#这个引用是后面需要
既然画图,当然要明确在哪里画
# 创建画布
screen = turtle.Screen()
screen.bgcolor("black")
画布是准备好了,现在就准备画笔了,turtle如其名,创建海龟来做画笔
# 创建海龟
t = turtle.Turtle()
t.speed(0)
t.width(2)
一幅好看的美术作品,少不了丰富的色彩(当然你要是抬杠说素描,那我没话说),turtle里面默认是使用红蓝等固定颜色名称来表示颜色,色彩不够丰富,但是可以通过设置颜色模式为RGB(红绿蓝色彩模式),可以使用RGB值来表示颜色,即以红绿蓝为三原色混合生成任意颜色
# 设置颜色模式为RGB
turtle.colormode(255)
那海龟该怎么进行移动以及该怎么改变海龟的痕迹粗细和速度呢?
# 定义海龟移动函数 全都是以当前海龟朝向为基准
def move_forward():
t.forward(10) #前进 直线
def move_backward():
t.backward(10) #后退
def turn_left():
t.left(10) #向左
def turn_right():
t.right(10) #向右
def change_color():
#随机颜色
r = random.randint(0, 255)
g = random.randint(0, 255)
b = random.randint(0, 255)
t.pencolor(r, g, b)
def increase_width():
width = t.width() #痕迹变粗
t.width(width + 1)
def decrease_width():
width = t.width() #痕迹变细
if width > 1:
t.width(width - 1)
def change_speed():
speed = t.speed() #取值0(最快)到10(最慢)
def ciecle_draw():
circle(radius,extent=None,steps=None)
#radius圆的半径,正值表示圆心在海龟左侧,为负值表示圆心在海龟右侧
#extent:可选参数,表示绘制的角度范围,默认为360度(完整圆形)
#steps:可选参数,表示绘制图形时的线段数,用于控制圆形的平滑度,默认为None.
def dot_draw():
dot(size=None,color=None)
#size:可选参数,表示点的大小 默认为1。
#color:可选参数,表示点的颜色,默认为当前画笔颜色
设置一下快捷调整小乌龟姿态的方法
# 绑定按键事件 按下按键可以实现相对应的效果
screen.listen()
screen.onkey(move_forward, "w")
screen.onkey(move_backward, "s")
screen.onkey(turn_left, "a")
screen.onkey(turn_right, "d")
screen.onkey(change_color, "c")
screen.onkey(increase_width, "Up")
screen.onkey(decrease_width, "Down")
来画个彩色螺旋线吧
# 绘制彩色螺旋线
for i in range(360):
r = random.randint(0, 255)
g = random.randint(0, 255)
b = random.randint(0, 255)
t.pencolor(r, g, b)
t.forward(i * 2)
t.left(89)
海龟一直在屏幕里面也影响视线,可以隐藏掉
# 隐藏海龟
t.hideturtle()
结束绘制,关掉画布
# 点击关闭窗口
screen.exitonclick()
效果如下
屏幕录制 2024-03-29 213649
另外还有一些
改变海龟的位置
#海龟的初始位置即画布中心为坐标原点(0,0),形成四象限的二维坐标
import turtle as tt
tt.goto(100,100)移动到(100,100)
#其中特殊点tt.goto(0,0)等效于tt.home()
改变海龟的朝向
turtle.seth(angle)
#改变海龟游走的方向,只改变方向,不行进 顺时针为正角度
python里面一些很有用的流程控制结构
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)
mg_convert/6c361282296f86381401c05e862fe4e9.png)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)