首页 > 编程知识 正文

程序员需要掌握哪些知识(程序员新手)

时间:2023-05-04 12:47:41 阅读:89672 作者:1661

资料来源: pgddch编程

作者: pgddch

本文以Python为例,方法也适用于其他编程语言。

都说“学会变老,变老”,这句话最适合程序员。 因为软件开发技术每年都在更新。 在过去的三年里,Python从3.7更新到了3.9,更不用说层出不穷的第三方软件包及其更新了。

所以作为程序员最重要的能力是学习能力。 但是,没有必要过分担心。 因为基础知识变化很慢。 例如,我们使用的网络知识几十年来没有变化。 即使是最受欢迎的人工智能,现在大家学习的技术大部分也是十几年,甚至几十年前的技术。 变化很快的是上面的花架子。 巩固底层基础,学习如何尽快学习上层的花架子吧。 其实,做程序员没那么累。

Python强大的理由之一是因为它有丰富有力的包。 不管是处理Excel,还是制作人工智能,都能找到合适的包,直接拿来使用。 我们在掌握了Python编程的基础知识后,接下来就是迅速学习使用这些软件包解决自己的问题。

这篇文章分享了我学习新知识和模块的一些技巧。 如果初学者能掌握这些技术,你很快就会告别白对阶段了。 虽然还是白色,但也是专业的白色。

文中的模块和包有时交替使用,但它们意思相同。

一、必须的掌握的核心知识

为了有效地学习和应用以下技巧,首先必须掌握Python和编程的中心概念。

如上图所示,下面绿色方块中的编程语言基础是我们必须先学好的部分,剩下的就是根据需要学习每一个模块。 的黄色通用技术和高级知识必要时可以学习。

让我们先来看看必须掌握的知识:

程序的基本结构:表达式、语句、循环、分支、代码块。 程序是由每一个句子组成的。 有些语句只有一行代码,如赋值语句。 有些语句是一个或多个代码块,如循环语句或分支语句。 语句包含公式。 表示式表示算术运算、逻辑运算、函数呼叫等运算的过程。 总之,给你一个程序,你就会清楚它的结构。 如果其结构有问题的话,可以简单地指出问题点。 用文字、变量和变量类型代码操作的数据要么以文字的形式出现,要么以变量的形式出现,但变量必须在定义之后使用。 如果不定义就使用,一定会报告错误。 要看变量,必须意识到他是否已经被定义,在哪里被定义,其作用范围是什么。 同名的变量可能在多个位置定义。 你需要清楚地知道现在是那个变量。 另外,请始终注意每个变量都有类型。 整数、小数、字符串和列表是第三方包定义的类。 类型决定了有什么方法。 函数和范围可以清楚地了解函数的名称、参数、返回值等元素以及变量的范围。 我知道常用的Python带有len ()等函数。 有些函数来自某个模块,有些属于某个类,有些函数是我们自己定义的。 变量和函数都有使用范围,并有它们所属的名称空间。 面向对象的Python是一种面向对象的编程语言,我们使用的各种Python附带的软件包和第三方软件包大多是面向对象编写的。 了解类和实例的区别,以及相应的实例变量和类变量、实例方法和类方法等。 模块和包是Python组织代码的方法。 熟悉import的几种使用方法。 能够熟练使用pip安装、更新和卸载。 如果是中国程序员,配置pip的中国镜像网站。 我的私教课程总结了Python必须掌握的技能为Python36技。 掌握的只有36招。 剩下的就是用这些技能解决问题,学习花架子。 想系统地快点学习的话,需要有人手把手指导。 可以参加。 如果有专业的指导,学起来会更快。

二、有问题,先问Python

如果在写代码的过程中遇到了做不到的问题,最好的方法不是问别人也不是搜索,而是问Python。 如果直接在交互式Python上运行试试,Python会告诉你是否行得通,哪里有错。

请记住。 Python解释器才是你最好的老师,24小时陪着你。

假设你想知道字符串是否可以相加。 “你好”“pgddch”可以吗?

这样的问题,没有必要问别人或在网上搜索。 打开交互式的Python,试着做一下实验就知道了:

“你好”“pgddch”

“你好,pgddch”

“你好”-'pgddch”

跟踪回溯:

文件' stdin ',行1,输入模块

typeerror :非支援型

e(s) for -: 'str' and 'str' >>> '你好' * 3 '你好你好你好' >>> '你好' / 2 Traceback (most recent call last):   File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for /: 'str' and 'int' >>> '你好' * 'pgddch' Traceback (most recent call last):   File "<stdin>", line 1, in <module> TypeError: can't multiply sequence by non-int of type 'str'

很快就可以实验出来,字符串加法是可以的,也可以乘以数字,但是减法和除法是不行的。

复杂点的代码可以写到文件中,总之用代码去测试,有问题,先Python。

自己没有试验过,没有问过Python,最好不要去问别人,尊重别人的时间。这是程序员应该具备的素养之一。

当然,这个技巧需要你对Python基础知识有一定的掌握,否则你都不知道怎么问Python。

三、问Python的3个命令

有3个python的命令(函数),一旦掌握,就打开了非常广阔的世界,基本具备了快速学习的能力。

1. type - 了解类型

在森林中,你看到一个动物,你的第一反应应该是:这是什么动物?因为知道了是什么动物,你就知道了它的特性,你就知道了应该赶快跑开,还是可以去亲近它。

在写代码中,在学习新包的过程中,我们也要知道这个包中主要有哪些类,当前处理的这个变量是什么类型,否则程序报了错你都不知道怎么回事。

使用type()函数可以了解变量的类型。比如下面的代码:

>>> import requests >>> res = requests.get('https://www.baidu.com') >>> type(res) <class 'requests.models.Response'>

使用requests.get()方法抓取百度的首页,返回的不是字符串,而是一个Response对象。知道了它的类型,我们可以深入研究Response对象包含哪些属性和方法。不管在搜索相关资料,还是讨论相关问题中,都会更加有效。

requests是什么呢?请记住,所有的变量和字面量都属于某个类型。

>>> type(requests) <class 'module'>

requests是一个模块,说的简单点就是一个python文件,里面定义了一些全局变量和函数。有哪些变量和函数呢?它的源代码在哪里呢?请继续阅读。

2. dir - 查看有哪些变量和函数

dir可以查看一个模块或者一个类中有哪些变量和函数,以requests为例:

>>> dir(requests) ['ConnectTimeout', 'HTTPError',..., 'warnings']

dir返回一个list,里面包含当前类或者模块中的:全局变量,函数,类,子模块等。

假设你在学习用turtle包画图,不知道如何设置背景颜色,不知道如何移动。

import turtle t = turtle.Turtle() #如何设置背景颜色?如何移动t变量的位置?

可以用dir看看turtle模块有哪些函数:

虽然内容有点多,但仔细看一下可以发现:bgcolor就是用来设置背景颜色的;Turtle是turtle模块中的一个类,所以我们用turtle.Turtle()创建一个Turtle对象。接下来看一下Turtle对象有哪些函数:

仔细过一遍这些函数,就可以大概猜测到forward是向前移动,back是向后,而speed代表速度。这时候也可以写代码尝试一下。

这么多函数,看起来有点困难。可以使用pprint.pprint打印的好看一点:

>>> import pprint >>> pprint.pprint(dir(turtle.Turtle)) ['DEFAULT_ANGLEOFFSET',  'DEFAULT_ANGLEORIENT',  'DEFAULT_MODE',  'START_ORIENTATION'  ....

dir返回的列表中包含了变量,函数,类等等。以算术模块math为例,我们可以通过下面的代码查看他们各自的类型:

>>> import math >>> pprint.pprint([(name,type(getattr(math,name))) for name in dir(math)]) [('__doc__', <class 'str'>),  ('__file__', <class 'str'>),  ('__loader__', <class '_frozen_importlib_external.ExtensionFileLoader'>),  ('__name__', <class 'str'>),  ('__package__', <class 'str'>),  ('__spec__', <class '_frozen_importlib.ModuleSpec'>),

通过type函数和getattr函数,可以知道dir返回的名字具体是什么类型,然后使用推导式生成一个新的列表。

这个过程也许看起来有点复杂,但一旦掌握了,你的自学能力就上了一个不小的台阶。建议多看几遍本节的内容。

3. help - 查看详细文档

通过help,可以查看函数或者类的详细文档:

>>> import turtle >>> help(turtle)

命令行会显示详细的turtle文档:

可惜这是英文的,建议大家尽量去阅读和学习吧。在命令行下按q就可以退出文档。

也可以查看一个具体函数的文档,下面来查看turtle包中的Turtle类的fd函数的说明:help(turtle.Turtle.fd)

这里就容易懂多了,不仅说明了函数的功能,还给了代码例子。

四、学会看文档

官方文档通常是最好的学习资料之一,下面讲解如何下载和设置官方文档。Python有中文文档,这可以解决前面英文看不懂的问题。

去Python的官方文档站:https://docs.python.org/3/在网页的左上角,选择简体中文和Python版本就可以看到各种文档了,初学者可以先看入门教程,有明确目的可以看语言参考或者标准库参考。也可以在右上角搜索关键词:如果网速慢,可以把文档下载到本地:点左边的下载链接:选择HTML格式下载:下载到本地后,解压文件夹,在里面找到index.html打开index.html就和在线使用一样了。你也可以把这个地址加到浏览器的收藏夹:

这样你就有了一个本地的Python文档网站,有问题先在这里搜索一下。

五、学习新的包

程序员之间有一句话叫做“不要重复造轮子”,意思是说你要解决的问题很可能有人已经帮你做好了,你只要拿来用就行了。在Python的世界里,就是找到合适的包。

1. 确定用什么包

以处理Excel为例,有很多处理Excel的包,有的可能是给老版本Python使用的。我们要花点时间确定那个包是最适合的。

最简单的方式是直接搜索一下,看看大家怎么说。搜索的格式建议为:Python 关键词 包

不要着急下结论,认真读完前面几个文章,看看大家推荐什么,这些不同的包之间有什么区别,适用于什么场合。耐心一点,这里花1个小时找对包,后面可以节省你几个小时,甚至几天的时间。假设我们确定要使用openpyxl,就可以继续下一步了。

2. 找到包的主页

确定了包的名字就可以去找到包的官方主页了。https://pypi.org是Python的包的大本营。上这个网站,搜索你确定的包的名字:

点击进入包的介绍页面:

可以看到除了基本介绍,还有一些代码参考,以及官方文档的地址。

3. 找到包的文档

查看官方文档是很重要的。有时候官方文档的链接可能在网页的左边栏。总之认真在页面上找到官方文档的地址,然后进入官方文档:

进入官方文档后,剩下的就是认真看文档的内容了。大部分包的文档质量都很好,包含了常见的用法和要解决的各种问题。有的甚至有中文的文档,认真在网页上找一下,看看有没有中文文档的链接。

也可以搜索一下,用谷歌搜索“openpyxl 官方文档 中文”第一条就是中文的官方文档。用百度搜质量就很差了,慢慢找也可以找到这个网站。

4. 运行文档中给的参考代码

接下来,尝试运行文档中给的参考代码,至少是前面几段最重要的参考代码,一步步走下去。走完以后,你就对这个包就有不错的理解了,可能已经知道如何解决你自己的问题了。

文档可能会很长,先大致浏览文档的主要内容。遇到具体的问题再回来看相应的章节也可以。比如openpyxl的文档就提到了关于性能的,关于numpy的话题。这些你可以等到有了相关问题再回来看。

六、看源代码

学习一个模块,更高点的境界是直接看它的源代码,你甚至可以为了去修改它的源代码。

使用__file__属性可以找到源代码的所在地:

>>> turtle.__file__ '/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/turtle.py' >>> import openpyxl >>> openpyxl.__file__ '/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/openpyxl/__init__.py'

Python自带的函数和部分模块是用C语言写的,无法看到Python的源代码。

七、点赞是美德

我是pgddch,你动动手就是对我最大的鼓励:

如果很喜欢,请收藏,转发,谢谢!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。