一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
text = ‘#’ + ‘’.join([hex(i)[-2:].replace(‘x’,‘0’) for i in list(map(int, [r, g, b]))])
return text
#16进制转RGB
def hextorgb(text: str):
r = int(‘0x’ + text[1:3], 16)
g = int(‘0x’ + text[3:5], 16)
b = int(‘0x’ + text[5:7], 16)
return r, g, b
#GUI界面
class gui:
def init(self):
#gui界面
self.root = Tk(className = ‘颜色转换器’)
self.root.attributes(‘-topmost’, True)
self.root.resizable(0, 0)
self.root.iconbitmap(‘colours_icon.ico’)
#RGB、HSV框
self.frm_rgbhev = Frame(self.root)
self.frm_rgbhev.grid(column=0, row=0, padx=5, pady=5)
#RGB部分
self.rvar = StringVar() #实例化StringVar
self.gvar = StringVar()
self.bvar = StringVar()
rgbargs = {‘command’: lambda value: self.show(‘rgb’), ‘from_’: 0, ‘to’: 255, ‘resolution’: 5, ‘sliderlength’: 20, ‘showvalue’: False, ‘orient’: ‘horizontal’} #一些滑块参数
#R
Label(self.frm_rgbhev, text=‘红0~255®:’, anchor=‘w’).grid(column=0, row=0, sticky=‘we’)
self.entry_r = Entry(self.frm_rgbhev, textvariable=self.rvar, width=10)
self.entry_r.grid(column=1, row=0, sticky=‘we’)
self.scale_r = Scale(self.frm_rgbhev, variable=self.rvar, **rgbargs)
self.scale_r.grid(column=2, row=0, sticky=‘we’)
#G
Label(self.frm_rgbhev, text=‘绿0~255(g):’, anchor=‘w’).grid(column=0, row=1, sticky=‘we’)
self.entry_g = Entry(self.frm_rgbhev, textvariable=self.gvar, width=10)
self.entry_g.grid(column=1, row=1, sticky=‘we’)
self.scale_g = Scale(self.frm_rgbhev, variable=self.gvar, **rgbargs)
self.scale_g.grid(column=2, row=1, sticky=‘we’)
#B
Label(self.frm_rgbhev, text=‘蓝0~255(b):’, anchor=‘w’).grid(column=0, row=2, sticky=‘we’)
self.entry_b = Entry(self.frm_rgbhev, textvariable=self.bvar, width=10)
self.entry_b.grid(column=1, row=2, sticky=‘we’)
self.scale_b = Scale(self.frm_rgbhev, variable=self.bvar, **rgbargs)
self.scale_b.grid(column=2, row=2, sticky=‘we’)
#为了得到最新值,我们等10毫秒再获取输入框的值。后面的也和这里一样:
self.entry_r.bind(‘’, lambda event: self.root.after(10, lambda:self.show(‘rgb’)))
self.entry_g.bind(‘’, lambda event: self.root.after(10, lambda:self.show(‘rgb’)))
self.entry_b.bind(‘’, lambda event: self.root.after(10, lambda:self.show(‘rgb’)))
#分界线
Separator(self.frm_rgbhev, orient=‘horizontal’).grid(column=0, row=3, columnspan=3, pady=5, sticky=‘we’)
#HSV部分
self.hvar = StringVar() #实例化StringVar
self.svar = StringVar()
self.vvar = StringVar()
hsvargs = {‘command’: lambda value: self.show(‘hsv’), ‘sliderlength’: 20, ‘showvalue’: False, ‘orient’: ‘horizontal’} #一些滑块参数
#H
Label(self.frm_rgbhev, text=‘色调0~360(h):’, anchor=‘w’).grid(column=0, row=4, sticky=‘we’)
self.entry_h = Entry(self.frm_rgbhev, textvariable=self.hvar, width=10)
self.entry_h.grid(column=1, row=4, sticky=‘we’)
self.scale_h = Scale(self.frm_rgbhev, variable=self.hvar, from_=0, to=360, resolution=10, **hsvargs)
self.scale_h.grid(column=2, row=4, sticky=‘we’)
#S
Label(self.frm_rgbhev, text=‘纯度0~1(s):’, anchor=‘w’).grid(column=0, row=5, sticky=‘we’)
self.entry_s = Entry(self.frm_rgbhev, textvariable=self.svar, width=10)
self.entry_s.grid(column=1, row=5, sticky=‘we’)
self.scale_s = Scale(self.frm_rgbhev, variable=self.svar, from_=0, to=1, resolution=0.1, **hsvargs)
self.scale_s.grid(column=2, row=5, sticky=‘we’)
#V
Label(self.frm_rgbhev, text=‘明度0~1(v):’, anchor=‘w’).grid(column=0, row=6, sticky=‘we’)
self.entry_v = Entry(self.frm_rgbhev, textvariable=self.vvar, width=10)
self.entry_v.grid(column=1, row=6, sticky=‘we’)
self.scale_v = Scale(self.frm_rgbhev, variable=self.vvar, from_=0, to=1, resolution=0.1, **hsvargs)
self.scale_v.grid(column=2, row=6, sticky=‘we’)
self.entry_h.bind(‘’, lambda event: self.root.after(10, lambda:self.show(‘hsv’)))
self.entry_s.bind(‘’, lambda event: self.root.after(10, lambda:self.show(‘hsv’)))
self.entry_v.bind(‘’, lambda event: self.root.after(10, lambda:self.show(‘hsv’)))
#HEX输入框、显示框
self.hexvar = StringVar()
#Frame
self.showfrm = Frame(self.root)
self.showfrm.grid(column=2, row=0, rowspan=2, sticky=‘wens’)
#HEX
Label(self.showfrm, text=‘16进制(hex):’, anchor=‘w’).grid(column=0, row=0, sticky=‘ns’)
self.entry_hex = Entry(self.showfrm, textvariable=self.hexvar, width=15)
self.entry_hex.grid(column=1, row=0, sticky=‘ns’, padx=(0,5), pady=(5,0))
#显示颜色
self.lab_show = Label(self.showfrm, bg=‘black’)
self.lab_show.grid(column=0, row=1, columnspan=2, sticky=‘wens’, padx=(0,5), pady=(0,5))
self.showfrm.grid_rowconfigure(1, weight=1)
self.entry_hex.bind(‘’, lambda event: self.root.after(10, lambda:self.show(‘hex’)))
self.root.mainloop()
#在标签内显示颜色,并同步颜色值
def show(self, form):
if form == ‘rgb’:
self.list_rgb = list()
for i in [self.rvar, self.gvar, self.bvar]:
self.list_rgb.append(int(i.get()) if i.get() else 0)
self.list_hsv = [*rgbtohsv(*self.list_rgb)]
self.hvar.set(self.list_hsv[0])
self.svar.set(self.list_hsv[1])
self.vvar.set(self.list_hsv[2])
self.hexvar.set(rgbtohex(*self.list_rgb))
self.lab_show.configure(bg=rgbtohex(*self.list_rgb))
elif form == ‘hsv’:
self.list_hsv = list()
for i in [self.hvar, self.svar, self.vvar]:
self.list_hsv.append(float(i.get()) if i.get() else 0)
self.list_rgb = [*hsvtorgb(*self.list_hsv)]
self.rvar.set(self.list_rgb[0])
self.gvar.set(self.list_rgb[1])
self.bvar.set(self.list_rgb[2])
self.hexvar.set(rgbtohex(*self.list_rgb))
self.lab_show.configure(bg=rgbtohex(*self.list_rgb))
else:
if len(self.hexvar.get()) == 7:
self.list_rgb = [*hextorgb(self.hexvar.get())]
self.list_hsv = [*rgbtohsv(*self.list_rgb)]
self.rvar.set(self.list_rgb[0])
self.gvar.set(self.list_rgb[1])
self.bvar.set(self.list_rgb[2])
self.hvar.set(self.list_hsv[0])
self.svar.set(self.list_hsv[1])
self.vvar.set(self.list_hsv[2])
try: self.lab_show.configure(bg=self.hexvar.get())
except: pass
if name == ‘main’:
gui()
Cresyeal
2021/7/15
(1)Python所有方向的学习路线(新版)
这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
最近我才对这些路线做了一下新的更新,知识体系更全面了。
(2)Python学习视频
包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。
(3)100多个练手项目
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!