一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
工具都帮大家整理好了,安装就可直接上手!
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试宝典
简历模板
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
- 将直播间弹幕念出来(TTS)
功能是不是还挺丰富的,从写第一行代码到完成也就花了两天不到的时间,这也证明了使用 python 开发的高效率,下面来说说这些功能开发中我遇到了哪些问题,我又是如何解决的。
pygame框架
========
pygame官网: https://www. pygame.org/
pygame 是python环境下最流行的游戏开发框架,当我不需要那些常见的UI组件时,使用游戏框架来开发反而更简单。
安装pygame
pip install pygame
框架基础使用示例
引入pygame和sys
import pygame,sys
定义一个run_game函数,把初始化的逻辑都放里面
def run_game():
初始化pygame引擎
pygame.init()
设置pygame窗口大小,如果设置为0,0则自动识别分辨率,相当于窗口最大化
screen = pygame.display.set_mode((600,400))
无限循环,游戏的主循环
while True:
监听消息
for event in pygame.event.get():
当监听到pygame的退出时,触发sys.exit退出应用
if event.type == pygame.QUIT:
sys.exit()
清空屏幕
screen.fill(BG_COLOR)
游戏绘制的主逻辑放这里
刷新屏幕
pygame.display.update()
执行run_game函数
run_game()
python对于新程序员可能挺友好的,不会对代码的编写有过多先入为主的观念。但对于已经有其他语言开发经验的我来说,也花了好一阵子才适应它的语法。
pygame加载字体显示文字
==============
220是字号
my_font = pygame.font.Font(“./路径/字体.ttf”, 220)
my_font.render(文字内容,是否抗锯齿,文字颜色,文字背景色)
text_element = my_font.render(“文字内容”, 1, (255,255,255))
计算文本渲染后的宽度高度
text_width, text_height = my_font.size(“文字内容”)
将文本元素绘制到屏幕指定坐标(元素左上角为原点)
screen.blit(text_element, (100,100)
python获取日期时间
============
import time
def getTime():
获取系统本地时间
localtime = time.localtime()
将本地时间格式化为年月日
date_str = time.strftime(“%Y 年 %m 月 %d 日”, localtime)
将本地时间格式化为24小时制
hm_str = time.strftime(“%H:%M”, localtime)
将本地时间格式化获取秒
second_str = time.strftime(“%S”, localtime)
在pygame的主循环中调用getTime,并将时间文本绘制到屏幕上,一个小时钟就做好了。
显示树莓派当前局域网IP
============
为什么要显示当前IP呢,因为大部分时候我不会给树莓派连接鼠标键盘,那显示IP后就可以直接通过VNC或者SSH来连接树莓派了。
网上有Python获取局域网IP的方案。这个是我用下来的最佳方案:p
import socket
def get_host_ip():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect((‘8.8.8.8’, 80))
ip = s.getsockname()[0]
finally:
s.close()
return ip
显示B站各类数据
========
这里最主要就是去抓取B站的各种API接口,这里也有热心网友整理好的一份野生API文档,大家可以自行查看使用自己需要的。
https:// github.com/SocialSister Yi/bilibili-API-collect
这些B站的API中有一些是需要身份认证的,这就需要我们自己去chrome浏览器中提取,主要会用到两个cookie字段
-
SESSDATA
-
CSRF Token(bili_jct)
import requests
请求直播间弹幕列表
res = requests.get(‘https://api.live.bilibili.com/xlive/web-room/v1/dM/gethistory?roomid=’+BILI_LIVEID)
data = res.json()
但是requests是同步执行的,会阻塞主线程的执行。比如在本例中,如果我直接使用requests发起请求,那么在请求时pygame的主逻辑循环就被卡住,这肯定不是我所希望的。网上有很多改异步的教程,我就不赘述了,这里我改用了另一个支持异步的库叫 httpx ,用法和普通requests无比接近
import httpx
async with httpx.AsyncClient() as client:
(1)Python所有方向的学习路线(新版)
这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
最近我才对这些路线做了一下新的更新,知识体系更全面了。
(2)Python学习视频
包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。
(3)100多个练手项目
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!