发布时间:2024-01-21
浏览次数:0
大家好,我叫唐亮。
很多读者给我私信说,公众号迁移后,文章的分类已经没有了,看起来很不方便。 唐亮也注意到了这个问题,目前正在对之前的文章做一些整理和修正。
我打算先从这个话题开始。 毕竟我不是专业的开发者,所以这篇文章主要是针对初学者的。 帮助大家打下比较扎实的基础,进而具备向各个方向发展的能力。
我们为什么要学习
想学的人很多,现在讲课的广告也很多,我的朋友圈里也有很多。 这些广告中使用的噱头有很多,常见的有以下几种:
它是一种多功能语言,可以做任何事情。 与现在几乎没有工作的C++不同,Java只能作为后端。 一旦学会了,你就可以做人工智能、爬虫、后端、图像、文本等。
语法简单,小学生即可学会。 不像Java和C++语法困难,上手并不容易。 开始只需要几个月的时间。
你是否贪图人工智能黑科技? 你必须学会玩。
销售焦虑现在不仅是小学生都知道,身边的同事也都知道。 你是唯一一个还不知道的人,所以为什么不尽快学习呢!
很多人因为这几点被骗去买课程或者书籍来入门,却从来没有思考过为什么要从自己的实际角度去学习。 学习后你能实现什么目标,对你未来的发展有什么帮助。
我个人强烈建议大家学习这门语言,无论你是哪个方向,从事什么领域。不需要很深入,只要有基本的概念,懂基本的语法,能够使用它。
原因并不复杂。 最主要的是它非常方便,甚至是我见过的最方便的语言之一。 您可以快速实现您的想法或编写脚本或工具。 只要有环境,没有IDE也没关系。 vim 和记事本等文本编辑器可以编写代码。 读取文件、发起请求、处理图像、调用系统函数等诸多操作都非常方便。
如果是其他语言,需要构建项目、安装打包环境、编译、运行、调试,整个过程的效率会低很多。 而且读取文件、发送请求、处理数据等一系列操作确实没有那么方便,代码也比较复杂。
所以即使你不搞算法,学一学也没有坏处。
前期准备
安装非常简单。 网上有很多教程,我就不赘述了。 你自己百度一下就可以了。 安装时请注意。 官方已停止维护和更新。 您必须安装它。 最好选择.6版本。
如何确保已安装? 这很简单。 在命令行中输入它。 如果可以输入并运行该程序,则说明该程序已安装。
这里的第一行将输出版本。 注意这里的版本。 有时计算机上存在多个版本并存。 此时,您可以配置环境变量并将命令映射到其中。
安装完之后还需要一个包管理工具pip。 通过pip,我们可以方便的下载安装各种第三方库来实现我们想要的各种功能。 安装pip的方法有很多,大家自行百度即可。 安装完成后,输入pip -V。 如果您看到 pip 版本,则表明它已安装。
如果你想从事机器学习、人工智能等领域的研究,也可以安装。 它也是一个包管理工具,但是比pip更重量级。 它还具有UI界面sublime text 3 函数追踪,操作更方便。 你可以根据自己的需要选择这个,可以安装也可以不安装。
最后说一下IDE,基本上只有两种选择,一种是Jet-的,另一种是微软的。 少数人喜欢使用其他文本编辑器,比如atom等,这个就看大家的喜好了。 我个人的建议是,如果你要开发一个大的项目,那么选择只写脚本和一些简单的工具就足够了。
当然,如果你不觉得不舒服,也可以在命令行的黑框里写。 只是缩进比较麻烦,一般人都不会这么做。
我们来谈谈原则
环境配置好之后,先不用管编码。 我们先了解一些基本原理,这样可以避免后续开发过程中出现很多问题。
解释性语言
很多教科书都会说它是一种解释性语言。 我们先不说这个结论正确与否。 我们先解决一个问题。 什么是解释性语言?
这个问题说来话长。 简单来说,我们现在的主流编程语言都是高级语言。 所谓高级语言,就是计算机无法直接识别我们写的代码,中间需要有一个连接。 另一方面,汇编语言并不是高级语言,因为计算机的CPU可以直接执行汇编语言代码。
中间连接方式一般有两种。 第一个是编译,就是将代码翻译成计算机可以直接执行的机器语言。 比如C、C++。 第二个是解释,就是有一个解释器,逐行解释代码,然后运行。
它属于哪一个? 事实上,事实并非如此。 Java这两种语言有些特殊。 它们是编译+解释语言。 它首先会被编译成虚拟机可以识别的字节码,然后交给虚拟机解释执行。 我们都知道Java代码编译后会生成.class文件,运行后也会生成pyc文件。 只是这些pyc文件并不是很显眼,很多人都没有注意到。
但与 Java 不同的是,Java 是全局编译的,但是是按顺序编译的。 所以这样写是错误的:
test()
def test():
print('yyyyy')
因为解释器在执行测试函数时还没有读取它的定义,找不到这个函数,自然会报错。
弱类型语言
第二要说的是它是一种弱类型语言。 并不是说语言中没有类型,而是类型是隐藏的,正常情况下是不显示的。 相反的是强类型语言。
弱类型语言最大的优点就是编写简单,函数调用灵活。
首先我们来说说灵活写作。 因为类型隐藏,变量完全摆脱了类型的约束,你可以随心所欲地赋值。 让我举一个例子。 你可以看下面的代码:
a = 3
b = "hello"
a = b
print(a)
我们直接a = 3,b="hello"声明了两个变量a和b,a和b的类型会根据赋值的结果自动标记。 而且,虽然a是int类型,b是类型,但是完全可以将b赋值给a。 在其他语言中,这样的操作是绝对不可能的。 只有相同类型的变量才能互相赋值。
不仅如此,我们还可以使用变量来接收任何值,例如函数甚至类。 例如,以下代码:
def test():
print('hello')
a = test
a()
class Test:
def __init__(self):
self.text = "hello"
a = Test
print(a().text)
我们首先让a接收测试函数,然后让它接收一个类。 没有问题,可以直接运行。 变量完全摆脱了类型的限制,带来了极大的灵活性,可以随意传递和接收。
接下来我们来说说函数调用。 因为没有类型限制,所以我们在调用函数时可以任意传递它们。 例如,我们有一个这样的函数:
def test(a):
print(a)
它接收一个参数a。 由于这里没有限制,所以外界可以传入任何内容。
test(3)
test('str')
test(Test())
test([3, 4, 5])
我们可以传入一个数字、一个字符串、一个类实例、一个数字、一个函数……在了解了函数参数之后,我们甚至可以传入任意数量的参数。
这种灵活性也是前所未有的,极大的方便了开发者。
但有利有弊。 除了简化编码、解除限制之外,如此巨大的灵活性也带来了很多问题。 例如,参数验证变得很麻烦,因为我们不知道调用者将传递给我什么样的值。 类型可能根本不是我想要的。 因此需要额外的参数验证,调试变得复杂。 由于弱类型,刚才一个变量是A类型sublime text 3 函数追踪,一转眼赋值就变成了B类型。 追踪调查非常不便。
以上仅是部分特点和原理。 这些内容可能看起来无关紧要,如果你不知道它们也不会影响编码。 但了解它们可以帮助我们避免和锁定很多问题,也是一个工程师素质和能力的体现。 所以,大家千万不能忽视原理的理解和学习,不能仅仅停留在使用上。
好了,我就简单的说一下背景,具体的语法和用法我会从下一期给大家分享。
最后祝大家周末愉快。
如果喜欢这篇文章,别忘了关注哦~
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码