theme: orange
前言
简单介绍一下自己吧~我是一名应届生,专业是铁路方面的,自己从小就喜欢捣鼓计算机这些,导致自己一步步的走上了“不归路”。 哈哈,言归正传。我目前的技术栈是 小程序 Vue React Flutter Dart Python等。我会这么多全都要感谢第一家实习公司....当时为了拿到实习证明,月薪3k也在里面干了小一年,期间也往返学校。公司不大可以说是一个工作室吧。 每个月接的项目花里胡哨,“被迫”学习了这些知识,都不是太深入。停留在了解、会用阶段。
后来离开了公司,学校事情处理完后又出来找工作了,果不其然大环境真的不咋地,我找了一个多月,海投简历一千多家。就约到五六家面试的,面的都是八股文,然鹅我很少背这些,我特别期待他们问我的项目可是...一个都没有,最后通过了三家,包括我现在的这家非互联网公司。
公司
第一家公司
是个小公司,我是真不太喜欢这种的,同事老板直接处关系,朋友不像朋友,上级不像上级。按时下班都羞愧难当,面试的时候问了我几个Flutter底层渲染的问题以及和RN的对比,还有其他前端知识。我勉强回答上来了,后续告诉我ok 可以上班,但是薪资给的太低了 5k左右,我就拒绝了。
第二家公司
这家公司科技感满满,虽然也是小型公司。但是业务很广泛,做的是类似于体脂秤的产品。面试的岗位是Flutter开发 同时也开发点vue吧 薪资我要的是7k,实在不敢往高了要。跟老板聊的很来,薪资也痛快答应了。但是我为什么没去呢!!是因为第三家公司。
第三家公司
这家,也就是我入职的公司,非互联网公司,至于我为什么选择这家公司主要还是以后不想单纯干个写代码的。至于我的选择对不对,留给时间吧。反正我才21,社会经验就那么点,选择错了太正常不过了。一帆风顺才应该担心呢。
技能扩展
其实刚刚有点聊偏题了,本身也很少写文章,逻辑条理略有问题,请见谅。说到技能扩展,我一直抱着技多不压身
的想法来鼓励,安慰自己。当然我也不会傻傻的当卷王,啥粗活糙活我都干,不会的。我会以我目前认知的观点来决定我是否要学习某样东西。我们学习的速度肯定是跟不上知识更新的速度。所以选对方向很重要。
在这家公司主要做的是前端开发和python数据爬虫和处理方面。刚入手python的时候还是一脸懵...通过缩进
来决定代码块这个真的是对于我这样的初学者很不友好...
在职这段时间做了个爬虫系统,具体就是爬取浏览器的返回结果,提取某样东西。一开始我是选择做成exe文件,后来改成的Linux版本,方便持久化运行。下面我可以举个代码例子给各位看看,核心其实不难。
for in_page in range(68): #这里68代表的是页数
url = 'http://www.baidu.com/s?wd=' + keywords + '&pn=' + str(in_page * 10)
wait_seconds = random.uniform(1, 2) 这里是随机的等待时间
time.sleep(wait_seconds)
proxyUrl = "http://%(user)s:%(password)s@%(server)s" % {
#这里就是代理啦。按需即可。
"user": authKey,
"password": password,
"server": proxyAddr,
}
proxies = {
"http": proxyUrl,
"https": proxyUrl,
}
try:
response = requests.get(url, headers=run_getiCookie(), proxies=proxies)
# print('---------------------------*',response.headers)
response.raise_for_status()
soup = BeautifulSoup(response.content, 'html.parser')
except requests.exceptions.RequestException as e:
logging.error('百度:请求出错:%s', e)
continue
except Exception as e:
logging.error('百度:爬取词语/页数出错:%s %s', in_page, e)
continue
result_list_0=soup.find_all(class_='样式')
以上就简单的代码爬虫程序,至于如何反扒仁者见仁智者见智了。我使用的方法就是动态获取Cookie
但是效果不太好,只能勉强能跑。
在我的工作中,我主要使用Python的requests
库来发送HTTP请求,以获取网页内容。然后,我使用BeautifulSoup
库来解析HTML文档,从中提取出需要的数据。此外,我还使用了一些其他的库,如pandas
和numpy
,来处理和分析数据。
接下来就是把代码打包成一个PC端软件 也就是加上GUI
视图,在使用Python GUI编写桌面端视图的软件需要注意以下几点:
1、选择合适的GUI框架:Python提供的很多GUI框架,例如 Tkinter、PyQt wxPython等,我个人比较倾向于使用PyQt,因为他的界面还算比较好看啊, 并且使用qss样式更改一下更漂亮。但是主要还是根据自己的项目经验着重选择一下。
示例GUI:
3、设计良好的用户界面:用户界面设计应考虑用户体验,包括布局、颜色搭配、字体大小等方面。应尽量将界面设计简洁易用,避免过于复杂或冗长。
4、编写清晰的代码:编写代码时应遵循良好的编码习惯,如命名规范、注释等,以便于后期维护和升级。
5、考虑跨平台性:如果需要在不同操作系统上运行软件,则应选择具有跨平台性的 GUI 框架,并进行相应的测试和调试。
6、安全性考虑:对于需要处理敏感数据或涉及网络安全的软件,应加强安全性措施,如加密传输、访问控制等。
代码方面需要注意的有:
- 传值:在不同的函数或方法之间传递参数时,应选择合适的方式,如通过函数参数、实例属性、全局变量等方式进行传值。
2. 静态方法和类方法:如果需要在某个类中定义一些不需要访问实例属性的方法,则可以使用静态方法(@staticmethod
);如果需要使用类属性或者调用类方法,可以使用类方法(@classmethod
)。 - 异常处理:在程序运行过程中,可能会出现各种错误和异常,应该在合适的地方加入异常处理机制,防止程序崩溃或产生未知错误。
- 可读性:代码的可读性非常重要,良好的注释和命名规范,有助于提高代码的可读性和维护性。
- 封装性:在设计类的时候,应尽可能地遵循封装原则,将类的内部细节隐藏起来,仅暴露必要的方法和属性供外部访问。
对了,这里顺便提一嘴,关于静态方法,他是不能控制UI的。但是他与类相关,但不依赖于类的状态,因此可以在不同的上下文中重复使用。写法简洁。
静态方法和动态方法是 Python 中的两种不同类型的方法,它们有以下区别:
- 静态方法是类中的一种方法,与实例无关,不需要访问实例属性或者实例方法,可以直接通过类名调用。而动态方法则需要通过类实例来调用。
- 静态方法在定义时需要使用
@staticmethod
装饰器进行修饰,动态方法则不需要。 - 静态方法不能访问实例属性和实例方法,也不能被子类覆盖,因此适用于独立的任务;而动态方法可以访问实例属性和实例方法,并且可以被子类覆盖,因此适用于需要访问实例状态的任务。
- 静态方法通常用于实现工具函数或者辅助函数,动态方法则通常用于实现对象的行为。
总之,静态方法和动态方法都有其应用场景和优缺点。在编写代码时,需要根据实际需求选择合适的方法类型。如果一个方法不需要访问实例属性或者实例方法,则应该使用静态方法;如果一个方法需要访问实例属性或者实例方法,则应该使用动态方法。
#这就是一个静态方法。
class Calculator:
@staticmethod
def add(x, y):
return x + y
result = Calculator.add(3, 4)
print(result)
文章写的较为混乱,暂且当个个人笔记来看吧。感谢体谅。
本文同步 我的笔记