编程初学者完整指南

2025-05-24

编程初学者完整指南

这篇文章放在程序员网站上可能不太合适,但我想从零开始写点东西。编程到底是什么?编程的基石又是什么?

这篇文章将首先从概念层面讨论计算机是什么,然后讨论编程基础知识。我们将在本文中使用 Python,但其中许多基本模块可以跨编程语言运行,因此即使您最初想学习其他语言,本文仍然会对您有所帮助。

什么是编程?

你可能每天都会和计算机打交道,但让我们具体定义一下,当我们谈论与编程相关的计算机时,我们指的是什么。计算机是一种处理和存储信息的机器。

编程就是告诉计算机如何获取、处理并存储数据。当有人编写程序时,该人实际上是在向计算机提供一组必须遵循的命令。

当我们编写程序时,我们编写的是计算机需要遵循的指令。计算机非常注重文字——它们会接受我们的指令并严格执行,但我们必须以非常详细的方式阐述这些指令,以便它们能够理解我们的意思。

编程的核心是将一个大问题分解成越来越小的问题,直到它们小到我们可以告诉计算机解决该问题。

在哪里可以看到正在使用的程序?

无处不在!从电脑上的操作系统到复杂的网站,一切都是用代码编写的!老款(以及新款!)手机、高端咖啡机、自动驾驶汽车、Facebook、亚马逊、ATM、Lyft App、地铁卡充值机、超市扫描仪,以及大多数电视,除了台式机或笔记本电脑外,都使用代码运行。

什么是编程语言?

计算机默认无法理解自然语言,但它们正在越来越接近实现这一目标!

计算机的运行源于一系列微小的开关,我们编写代码时,实际上是在控制这些开关的开关——就像电灯开关一样!计算机使用一种称为二进制的数字系统来控制这些开关。二进制是由 1 和 0 组成的数字系统,与十进制(使用 0-9)不同。

值得庆幸的是,在我们之前,许多真正聪明的人已经想到了一种无需使用“0”和“1”就能与计算机对话的方法。取而代之的是,我们使用计算机可以解释的编程语言,就像语言解释器可以将西班牙语翻译成英语,甚至将英语翻译成手语一样。这些编程语言看起来更像英语而不是二进制,但它们仍然比自然语言包含更多的符号,表达方式也更少。

编程语言种类繁多,就像世界上有很多种语言一样。有些语言,比如汇编语言或 C 语言,非常底层,与我们的说话方式不太相似。而另一些语言,比如 Python 和 Ruby,则与人类语言非常相似。这些语言用于不同的任务,例如 HTML、CSS 和 JavaScript 用于编写网站,而 C 语言则用于编写操作系统。随着时间的推移,这些语言已经发生了巨大的变化——以前的程序员不得不使用穿孔卡片并将其输入计算机,而不是在计算机上输入代码!性能和易用性之间存在权衡,但当你学习编程时,我强烈推荐一种更接近普通语言的编程语言!

编程的关键基础

有些基本概念会随着编程语言的演变而变化。我们将使用 Python,但几乎所有已知的编程语言都包含这些基本概念,尽管它们的写法可能有所不同(除了 HTML 和 CSS,它们的区别很大)。

简单来说,您可以使用Repl.it在 Web 浏览器中运行 Python 。您可以通过按下按钮并选择“Python”来创建一个 Python 项目new repl。然后,在下方的区域中输入内容main.py。之后,您可以使用绿色按钮运行代码run

您也可以通过下载Python 并将其安装到计算机上,然后使用文本编辑器(我最喜欢的是VS Code) 。然后,您可以通过命令行运行代码。您需要创建一个带有扩展名的文件.py,然后在编辑器中编写代码,最后,通过运行 来运行该文件python your_file_name.py

你好世界

学习一门新的编程语言时,编写一个 Hello World 程序是惯例。那就用 Python 写一个吧!

Python 中有一个功能function,允许我们在运行代码的任何地方写入文本——因此,如果您使用命令行,它将在那里打印出来;如果您使用Repl.it,它将在屏幕的右侧打印出来。

我们稍后会讨论一下有哪些功能!

print("Hello, World!")
Enter fullscreen mode Exit fullscreen mode

所有代码示例也可在 repl.its 中找到,但采用链接形式,而非嵌入形式

变量

变量是编程中非常重要的一部分。变量存储着一些可以反复使用的信息。如果你还记得代数课上学到的变量,那么它们在概念上是相同的!

在 Python 中,为了设置一个变量,我们将写一个变量名(在本例中name为 和age),然后使用等号将该变量设置为一个值——在本例中为“Ali”和 24。

如果使用字母,则需要将其放在引号中。如果使用数字,则无需使用引号。

name = "Ali"
age = 24

print(name)
print(age)
Enter fullscreen mode Exit fullscreen mode

现在,我们可以在代码中的任何地方使用name或!age

复制

记住,编程语言是为人类服务的,而不仅仅是为计算机服务的。如果我们只是在和计算机对话,那么我们只会使用 0 和 1,并编写二进制代码!所以,记住要使用对未来的你——或者将来阅读你代码的其他程序员——有意义的变量名。

变量的经验法则:如果您要反复使用一个值,请为其创建一个变量!

数据类型

编程时我们可以使用不同类型的数据。常见的有整数、浮点数、布尔值和字符串。

整数

整数是数学课上的另一个术语——它们本质上是没有小数的数字。例如 1、0、-100、200 等等。

我们只需输入数字即可在 Python 中使用整数!

5
10
-20
30
Enter fullscreen mode Exit fullscreen mode

我们可以将它们存储在变量中,就像我们上面看到的那样,以便我们可以反复使用它们。

my_favorite_number = 22
Enter fullscreen mode Exit fullscreen mode

我们还可以用它们做数学!四个基本符号分别是*乘法、+加法、-减法和/除法。

print(22 + 10)

pieces_of_candy = 20 - 5
print(pieces_of_candy)
Enter fullscreen mode Exit fullscreen mode

复制

浮点数

浮点数是带有小数的数字——例如 4.0、4.5、-19.6 等等。除此之外,它们的作用与数字一样!

布尔值

在 Python 中,布尔值是True“和False”——它们主要用于表示“是”或“否”——还记得计算机就像一堆开关吗?布尔值也类似!

我们可以将变量设置为布尔值,但通常比较值并以布尔值形式查看结果更有用。一个常见的用途是检查相等性。某个变量是否等于某个值?我们使用双等号来检查相等性,因为我们使用一个等号来设置变量。

age = 22
print(age == 22) # True
Enter fullscreen mode Exit fullscreen mode

我们还可以检查大于或小于——或者所有这些数学检查。我们用>“大于”、<“小于”、>=“大于等于”和<=“小于等于”来表示!

print(5 > 10) # False
print(10 >= 10) # True
Enter fullscreen mode Exit fullscreen mode

我们还可以将布尔值存储到变量中!

is_greater = 5 > 10
print(is_greater) # False
Enter fullscreen mode Exit fullscreen mode

Python 中标签后面的内容是注释——它们会被计算机忽略,并作为您自己或其他开发人员的注释!

字符串

字符串在 Python 中是文本。我们用引号将它们括起来!

my_string = "This is a string!"
print(my_string)
Enter fullscreen mode Exit fullscreen mode

列表

有时,我们希望在一个变量中存储多个值——比如一组数字、房间里的人的名字、推特上最新的推文,或者我们商店里商品的价格。

我们可以将这些值存储在 Python 中的列表中!

items_in_store = [5, 10, 15, 8]
dev_employees = ["Ali", "Jess", "Ben", "Peter", "Andy", "Mac", "Liana", "Michael", "Anna", "Mario"]
Enter fullscreen mode Exit fullscreen mode

列表的经验法则:如果你有一组类似的东西,就把它们放在一个列表中

条件语句

编程的另一个关键部分是条件语句。条件语句允许我们有时运行一段代码,有时运行另一段代码。

因此,如果某个条件成立True,则运行一个代码块。如果其他条件成立,则运行另一个代码块。最后,如果所有其他条件都不成立True,则运行另一个代码块。

在 Python 中,代码块是缩进的,因此“如果这个是 True,则运行其后的缩进代码”

name = "Ali"

if name == "Ali":
    print("Hi, Ali!")
Enter fullscreen mode Exit fullscreen mode

复制

现在让我们添加一个条件,当第一个条件为 时,该条件将运行False。我们将使用else关键字 !

password = "hello!"
correct_password = "hi"

if password == correct_password:
    print("Welcome to the website!")
else:
    print("Permission denied")
Enter fullscreen mode Exit fullscreen mode

复制

我们还可以使用以下方法检查多个条件elif

age = 50

if age > 100:
    print("you are old")
elif age < 20 and age >= 13:
    print("You are a teenager")
elif age < 13:
    print("You are a child")
else:
    print("You are an adult")
Enter fullscreen mode Exit fullscreen mode

输入不同的值age并查看有什么变化!

你可以用它and来同时检查多个条件!或者or检查一个条件是否为真,或者另一个条件是否为真。

复制

条件的经验法则:如果您希望某些代码有时运行,而其他代码在其他时间运行:请使用条件!

循环

循环允许我们针对不同的值反复运行相同的代码块。最常见的情况是循环遍历列表。

列表主要有两种类型——第一种是for循环。它们遵循公式For item in list: do something。列表项可以是任何内容——它是一个变量名,每次循环都会改变。

例如:

dev_employees = ["Ali", "Jess", "Ben", "Peter", "Andy", "Mac", "Liana", "Michael", "Anna", "Mario"]

for employee in dev_employees:
    print("Hi" + employee + "!") # We can join multiple strings together with `+` signs!
Enter fullscreen mode Exit fullscreen mode

首先employee是阿里,然后是杰西,然后是本,等等。

虽然循环也存在,但它们比较少见并且有一些技巧,所以我们现在就跳过它们!

复制

循环的经验法则:如果您希望相同的代码一遍又一遍地运行,请使用循环!

功能

在我开始解释功能之前,先快速分析一下术语:

参数——每次调用(又称调用)函数时传递到函数中。

参数——函数定义中的变量。

在 中def myFunction(x, y),x 和 y 是参数。当我们通过 运行该函数时myFunction(1, 3),1 和 3 是实参。

当我教授函数时,我尝试用两种方式来解释,以便让两种不同类型的思考者理解。第一种是一段可重用的代码,你可以将值插入其中,从而使代码更加灵活,并减少重复代码。在这种情况下,参数是插入到代码段中的“动态”信息。因此,当你调用函数时,该值可能会发生变化。实际上,每次运行函数时,该值都会发生变化。

我还喜欢把函数解释成一系列的输入和输出——有点像一台小机器。你把一些东西放进机器里,机器就会根据输入输出一些东西。参数是你输入给机器的东西,返回值是输出的结果。这更符合函数的代数定义——如果你还记得f(x) = 2x + 1学校数学课上讲的,那些函数只是写在纸上,而不是用程序写成的。

在 Python 中,传递给函数的参数顺序与函数声明中形参的顺序相对应。因此,如果我的函数声明如下所示,def add(x, y)然后我使用 调用该函数add(1, 2),则函数中的 1 将是x, 2 将是y。如果我改为运行add(100, 50)x将是 100 ,y将是 50。由于x是第一个形参,因此我传递给函数的第一个参数将是x,由于y是第二个形参,因此我传递的第二个值将是y。有时,用图表来说明这一点会很有帮助。

关键字之后的任何内容return都是函数的输出。

def subtract(x, y):
  return x - y

print(subtract(5, 2)) # 3, 5 is x, 2 is y
print(subtract(200, 50)) # 150, 200 is x, 50 is y
print(subtract(20, 70)) # -50, 20 is x, 70 is y

five = subtract(10, 5)
print(five)
Enter fullscreen mode Exit fullscreen mode
x y 减法(x,y)
5 2 3
200 50 150
20 70 -50

复制

另一个例子:

def say_hi(person):
    print("Hi " + person)
    return person

ali = say_hi("Ali")
print(ali)
Enter fullscreen mode Exit fullscreen mode

复制

此函数输出 person(与输入相同),但它还执行另一个操作——使用 打印出该人的名字hi。第一个操作不会影响输出——或者说return函数的输出。如果打印出来,ali结果就是“Ali”!

函数的经验法则:如果您想重用一段代码(可能包含不同的数据),请使用函数!

学习编程的后续步骤

这些是编程中一些非常重要的基本概念,但还有很多!其中两个重要的概念是调试和问题解决。

当你编写代码时,计算机非常智能,它会完全按照你的指令执行。但是,如果你输入了拼写错误或任何错误的代码,你的代码就会抛出错误!学会处理这些错误,并喜欢它们告诉你发生了什么,而不是害怕它们!它们真的很有用!

当我们尝试将各个部分拼凑在一起,编写不同的程序时,问题就迎刃而解了。我现在正在写一个关于这个问题的系列!

此外,如果您想要更多免费资源来学习编程,这里有一些很棒的资源!

文章来源:https://dev.to/aspittel/a-complete-beginner-s-guide-to-programming-2ni4
PREV
React 初学者完整指南
NEXT
Dev.to 初学者指南