【前端】从JavaScript到Python:我的技能扩展之路

简介: 【前端】从JavaScript到Python:我的技能扩展之路,简单介绍一下自己吧\~我是一名应届生,专业是铁路方面的,自己从小就喜欢捣鼓计算机这些,导致自己一步步的走上了“不归路”。

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文档,从中提取出需要的数据。此外,我还使用了一些其他的库,如pandasnumpy,来处理和分析数据。

接下来就是把代码打包成一个PC端软件 也就是加上GUI视图,在使用Python GUI编写桌面端视图的软件需要注意以下几点:
1、选择合适的GUI框架:Python提供的很多GUI框架,例如 Tkinter、PyQt wxPython等,我个人比较倾向于使用PyQt,因为他的界面还算比较好看啊, 并且使用qss样式更改一下更漂亮。但是主要还是根据自己的项目经验着重选择一下。
示例GUI:

微信截图\_20230605112114.png

3、设计良好的用户界面:用户界面设计应考虑用户体验,包括布局、颜色搭配、字体大小等方面。应尽量将界面设计简洁易用,避免过于复杂或冗长。
4、编写清晰的代码:编写代码时应遵循良好的编码习惯,如命名规范、注释等,以便于后期维护和升级。
5、考虑跨平台性:如果需要在不同操作系统上运行软件,则应选择具有跨平台性的 GUI 框架,并进行相应的测试和调试。
6、安全性考虑:对于需要处理敏感数据或涉及网络安全的软件,应加强安全性措施,如加密传输、访问控制等。

代码方面需要注意的有:

  1. 传值:在不同的函数或方法之间传递参数时,应选择合适的方式,如通过函数参数、实例属性、全局变量等方式进行传值。
    2. 静态方法和类方法:如果需要在某个类中定义一些不需要访问实例属性的方法,则可以使用静态方法(@staticmethod);如果需要使用类属性或者调用类方法,可以使用类方法(@classmethod)。
  2. 异常处理:在程序运行过程中,可能会出现各种错误和异常,应该在合适的地方加入异常处理机制,防止程序崩溃或产生未知错误。
  3. 可读性:代码的可读性非常重要,良好的注释和命名规范,有助于提高代码的可读性和维护性。
  4. 封装性:在设计类的时候,应尽可能地遵循封装原则,将类的内部细节隐藏起来,仅暴露必要的方法和属性供外部访问。

对了,这里顺便提一嘴,关于静态方法,他是不能控制UI的。但是他与类相关,但不依赖于类的状态,因此可以在不同的上下文中重复使用。写法简洁。
静态方法和动态方法是 Python 中的两种不同类型的方法,它们有以下区别:

  1. 静态方法是类中的一种方法,与实例无关,不需要访问实例属性或者实例方法,可以直接通过类名调用。而动态方法则需要通过类实例来调用。
  2. 静态方法在定义时需要使用 @staticmethod 装饰器进行修饰,动态方法则不需要。
  3. 静态方法不能访问实例属性和实例方法,也不能被子类覆盖,因此适用于独立的任务;而动态方法可以访问实例属性和实例方法,并且可以被子类覆盖,因此适用于需要访问实例状态的任务。
  4. 静态方法通常用于实现工具函数或者辅助函数,动态方法则通常用于实现对象的行为。

总之,静态方法和动态方法都有其应用场景和优缺点。在编写代码时,需要根据实际需求选择合适的方法类型。如果一个方法不需要访问实例属性或者实例方法,则应该使用静态方法;如果一个方法需要访问实例属性或者实例方法,则应该使用动态方法。

#这就是一个静态方法。
class Calculator:
    @staticmethod
    def add(x, y):
        return x + y

result = Calculator.add(3, 4) 
print(result)

文章写的较为混乱,暂且当个个人笔记来看吧。感谢体谅。

本文同步 我的笔记

相关文章
|
6天前
|
缓存 监控 测试技术
Python中的装饰器:功能扩展与代码复用的利器###
本文深入探讨了Python中装饰器的概念、实现机制及其在实际开发中的应用价值。通过生动的实例和详尽的解释,文章展示了装饰器如何增强函数功能、提升代码可读性和维护性,并鼓励读者在项目中灵活运用这一强大的语言特性。 ###
|
6天前
|
资源调度 前端开发 JavaScript
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第10天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤,包括安装依赖、创建混淆脚本、修改 `package.json` 脚本命令、构建项目并执行混淆,以及在 HTML 文件中引用混淆后的文件。通过这些步骤,可以有效提高代码的安全性。
|
14天前
|
监控 前端开发 JavaScript
探索微前端架构:构建可扩展的现代Web应用
【10月更文挑战第29天】本文探讨了微前端架构的核心概念、优势及实施策略,通过将大型前端应用拆分为多个独立的微应用,提高开发效率、增强可维护性,并支持灵活的技术选型。实际案例包括Spotify和Zalando的成功应用。
|
14天前
|
设计模式 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用JavaScript,打造智能交互体验!
【10月更文挑战第30天】前端开发领域充满了无限可能与创意,JavaScript作为核心语言,凭借强大的功能和灵活性,成为打造智能交互体验的重要工具。本文介绍前端大牛如何利用JavaScript实现平滑滚动、复杂动画、实时数据更新和智能表单验证等效果,展示了JavaScript的多样性和强大能力。
31 4
|
1月前
|
XML JavaScript 前端开发
JavaScript控制台:提升Web开发技能的秘密武器
作为Web开发人员,掌握JavaScript控制台中的各种方法至关重要。本文介绍了22种实用的console方法,从基本的log()到高级的profile()和memory,每种方法都配有示例和说明,帮助开发者更高效地调试和记录信息。通过了解这些工具,您可以优化代码、提高开发速度,减少错误,使编码过程更加顺畅愉快。
37 1
JavaScript控制台:提升Web开发技能的秘密武器
|
9天前
|
前端开发 JavaScript 安全
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第7天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤。包括项目准备、安装 `javascript-obfuscator`、配置 Vite 构建以应用混淆,以及最终构建项目进行混淆。通过这些步骤,可以有效提升前端代码的安全性,防止被他人轻易分析和盗用。
|
1月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
358 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
1月前
|
存储 监控 前端开发
掌握微前端架构:构建可扩展的前端应用
【10月更文挑战第6天】随着前端应用复杂性的增加,传统单体架构已难以满足需求。微前端架构通过将应用拆分为独立模块,提升了灵活性与可维护性。本文介绍微前端的概念、优势及实施步骤,包括定义边界、创建共享UI库、设置通信机制等,并探讨其在SPA扩展、大型项目模块化及遗留系统现代化中的应用。通过实战技巧如版本控制、配置管理和监控日志,帮助团队高效协作,保持应用灵活性。微前端架构为构建大型前端应用提供有效解决方案,适合希望提升项目可扩展性的开发者参考。
|
1月前
|
前端开发 JavaScript API
JavaScript逆向爬取实战——使用Python实现列表页内容爬取(二)
JavaScript逆向爬取实战——使用Python实现列表页内容爬取(二)
|
1月前
|
数据采集 JavaScript 前端开发
JavaScript逆向爬虫——使用Python模拟执行JavaScript
JavaScript逆向爬虫——使用Python模拟执行JavaScript