Python基础知识:初学者的一般指南
#初学者 #python #softwareengineering #fundamentals

shimibeePixabay上摄于Canva中的Pixabay,适合!


Python IDE:参考

print("Hello, World!")

终端:

>> Hello, World!

readme.md

欢迎Python Newmers,初学者或重新学习者(学习了旧版Python?)。本文将概述Python的基础知识,例如词汇,基本示例和学习道路,您可以遵循以建立自己的技能! [词汇在底部]

为什么要学习python?

Python是在写作时学习的领先编码语言之一。由于您可以使用该语言的自由,因此由于许多不同的原因而有用。一些例子是:

  • 编写自动化日常过程的脚本
  • 创建精美的后端数据库,由于其服务器端逻辑<2流行框架为:Blask&django>
  • 构建前端不受欢迎,因为JavaScript是一种奇妙而更轻松的构建前端的方式。 ---(此处的Python框架:PywebviewEel
  • 位置数据分析和可视化(我个人最喜欢的用途!)(我最喜欢的库:熊猫,numpy,matplotlib,seaborn,seaborn,scikit-learn,3D数据分析:Open3D)
  • 工艺机器学习和人工智能(我在大学中使用的ML-Libraries:LightGBM,StatsModels)&(我也使用的是pycaret)和(我使用过的深度学习librarie:pytorch)
  • 工程师桌面应用程序开发(这些创建GUI(图形用户界面)允许构建工具和生产力应用程序(框架:TKINTER))
  • 使用Pygame等图书馆进行2D游戏的图书馆开发。
  • 启动网络刮擦(我使用了美丽的汤,但另一个受欢迎的汤是砂纸)
  • 物联网(物联网)这有助于与您的Roomba(机器人真空)等设备进行通信
  • 网络编程(库:套接字)这可以帮助您合并或使用网络协议
  • DevOps&System Admin(由于其自动化效率)

python是一种如此庞大的语言。上面的列表只是刮擦Python的表面。当您从这些字段之一中使用Python开始时,肯定会查看上面的流行框架!

首先要下载什么?

在Python中,很高兴知道您可以仅编码“开箱即用”,但是库很强大,因为它有助于提高效率。我将进一步显示一个示例。

步骤:

  1. 第一次下载vscode。 (一个IDE(集成开发环境 - 它是具有使用工具的代码的地方),它是当前最受欢迎的代码代码。VsCode Link
  2. Python下载到您的计算机上。下载后,请按照弹出窗口中的步骤进行操作。
  3. 下一个打开Vscode并在左侧栏上,单击“扩展名”,或单击看起来像一个正方形的图标,左上方正方形略微旋转。
  4. 到达那里后,输入“ Python”并下载列表的顶部。 (在链接的here官方网站上有更好的文档)
  5. 在键盘上按按钮“ Ctrl + N”(Mac:CMD + N),这将创建一个新文件。在顶部的小单词片段中,它将说“选择一种语言或填充模板,或打开其他编辑器以开始。开始键入以解散或不再显示此内容。”在此片段中,单击“选择语言”。下拉菜单将打开并输入“ Python”。如果选择了Enter。
  6. 现在,您的文件将是一个Python文件。在这里,我们可以在Python中进行编码。

哇,您的第一个项目的时间只是为了证明您可以做到!

如果您遵循上述步骤,则应在VSCODE中打开Python文件!

在这里,我们将在第1行上输入以下内容。

print("Hello, World!")

它应该看起来像下面的图:

Image description

下一个点击“ CTRL + S”(Mac:CMD + S)看起来像下图。在说“名称”的空间中,将其更改为'Hello.py'。继续并单击键盘上的“输入”。

Image description

哇!您创建并保存了第一个Python文件! (它们应该以“ .py”结尾。还有其他变化,但我们将在另一个博客中谈论那些)

所以我们现在怎么办?

好吧,什么都没有发生吧?我们如何真正使它做某事?我们只是对此大喊,“咆哮了”“咆哮吗?

答案是,不,我们不仅告诉它要咆哮。我们要做的是在终端中运行脚本(您刚刚制作的)!

在键盘上,点击按钮“ Ctrl + J”(Mac:CMD + J)。终端将神奇地弹出在您的Vscode的下半部分!

在终端类型中,如下所示:

python hello.py

在键盘上单击“ Enter”后的下一行中应与以下显示的相同:

Hello, World!

恭喜!您刚刚写并运行了第一个Python程序!容易,对吗?


怎么办?

好吧,我们需要学习基础知识!
Python有许多基础知识,应该知道该语言的整体。一旦学习了这些基本原理,您就可以开始专门研究上面标有“为什么要学习python”的部分中提到的领域。

基本面的概述

  1. 语法和凹痕:Python使用凹痕为编译器来知道代码要做什么。有必要注意它。学习代码正在学习一种新语言,因此也需要一些时间来学习语法!不要对自己太努力!我们所有人都挣扎着混淆了编码语言。 (即使您还没有学过其他语言,除非您仅专门研究一个语言,否则所有编码语言的语法都很难保持直截了当!)下面是缩进和使用正确的语法的示例!它将通过终端运行。如果您在终端中键入“ python filename.py”,您可以这样做):
for i in range(1, 5):
    print(i)
>> 1, 2, 3, 4

注意:在Python中评论代码使用#符号!您可以通过突出显示一块代码并按下键盘上的“ CRTL + /”(Mac:CMD + /)< /p>来评论很多代码。

2。变量和数据类型:变量存储不同类型的数据,例如数字,字符串和布尔值。示例:

name = "Max" #quotation's content in python are called strings!
age = 25 # defining a number variable! (SEE NOTE BELOW)
is_student = True #boolen truth or false

注意:python中的数字:在Python中有3种类型的数字 - 普通整数只是正数或负数,浮点数为实数:小数点:小数点,复数数:IDK,它们很复杂(大声笑)不要问我!这是一篇很好的文章,Geeksforgeeks Website

3。操作员和表达式:操作员对价值和变量执行动作,表达式结合了变量,操作员和值。示例:

x = 4
y = 5
result = x + y
print(result)  # Output: 9

上面是代码的示例。操作员是“+”加号。以下是一个表达示例。该表达式是“将数学的完整句子放在一起 - 这里是z = 2 *(x + y) - 1部分”

x = 6
y = 5
z = 2 * (x + y) - 1
print(z)  # Output: 21

4。控制流语句(循环和条件):循环将重复代码,直到条件不正确。有条件的是(如果,elif,否则)。他们根据您可以放置​​的条件决定了代码执行的流程。循环的示例:

foods = ["Sushi", "Pizza", "Crepe"]

for food in foods:
    print(food)

终端将打印

Sushi
Pizza
Crepe

上面的代码中发生了什么?我们正在定义使用称为列表的数据结构的食物。这是由方括号表示的[]。 注意:如果您来自其他语言,请确保不要混合卷曲括号和方括号!

我们定义了食物列表(其中包含寿司,披萨和可丽饼),我们将循环浏览列表。在Python中,这意味着它读取了我们列表中的第一个项目,然后将其打印出来,然后再次通过,读取下一件并打印出来,最后读取“ crepe”并打印它。理解句子的含义是一件好事。 “对于食物中的食物:“这意味着每个“食物”项目都被分配并计算在“食物”列表中

一个单独的例子可能是:“对于i在范围内(1,5):“
这里发生的事情是“ i”定义了地点持有人,范围(1,5)意味着循环将经过每个数字1 x 1,从数字1开始,然后转到数字4。(这很奇怪,我知道。为什么说5,循环只会打印4? >

Image description
以下是终端结果:

Image description

条件的示例:

age = 16

if age >= 18:
    print("You are an adult.")
else:
    print("You are not yet an adult.")

在上面的示例中,这是一个条件。该计划中定义的年龄为16。“如果”语句将打印“您是成年人”。如果年龄高于或等于18岁。如果您的年龄小于18岁,则代码的“其他”部分将发生。

Image description
以下是它在终端中执行的方式:

Image description

5。功能和模块化编程:函数是可重复使用的代码块。他们可以执行任务。模块化编程有助于组织和可重复使用。示例:

def greet(name):
    print("Hello, " + name + "!")

greet("John Doe")

如果我们愿意,如果我们做以下操作,我们可以打招呼:

greet("Max Smith")

第一个代码块的结果将是“ Hello John Doe”,现在随着更改,如果跑步将是“ Hello Max Smith”。

这种编码的美感是,它的冗余不那么多,更容易,更“动态”。 (这是Python当前最佳实践的一部分)


ph!那很多!

我建议您起床并休息一下!让这些信息沉入,并尝试做其他一些基本示例!我将首先将变量分配给数字并进行数学,以熟悉Python的工作方式。我建议这个网站尝试只是看到Python做一些事情。网站:https://codingexplained.com/coding/python/basic-math-operators-in-python


如果您休息一下并准备好学习,那就走吧!

我们现在学到什么?好吧,Python还有其他方面,例如数据结构和算法。如果您想在Big Maang(Meta,Apple,Amazon,Netflix和Alphabet [Google])公司工作,那么知道这些会很有帮助!

那他们是什么?

数据结构:具有不同类型数据的特殊盒子。每个数据结构都有其独特的存储和访问数据的方式。类型:列表,元组,词典和集合。 注意:数据结构从0开始!因此,如果您正在寻找“第一名”的东西,通常是零点!在下面,您将看到诸如[0]之类的示例。这将查看您认为是“第一名”的地方!另外,请注意语法的差异! IE。卷曲括号或方括号以及其中的内容!

列表示例:
什么时候使用? :使用何时需要存储和访问有序的物品集合。

# Creating a list
foods = ["sushi", "pizza", "crepe"]

# Accessing elements in a list
print(foods[0])  # Output: "sushi"

# Modifying elements in a list
foods[1] = "pizza"
print(foods)  # Output: ["sushi", "pizza", "crepe"]

# Adding elements to the end of a list
foods.append("steak")
print(foods)  # Output: ["sushi", "pizza", "crepe", "steak"]

# Removing elements from a list
foods.remove("sushi")
print(foods)  # Output: ["sushi", "pizza", "crepe"]

元组示例:
什么时候使用? :当您要存储一个不会更改的相关值集合时使用。

# Creating a tuple
point = (1, 4)

# Accessing elements in a tuple
print(point[0])  # Output: 1

# Tuples cannot be altered, so modifying is not possible
# point[0] = 4  # This will result in an error

字典示例:
什么时候使用? :当您需要将数据存储为键值对时,请使用。这有助于有效查找和检索。 (有趣的事实:学习SQL是一件好事!)

# Creating a dictionary to represent a college student
student = {
    "name": "Max",
    "age": 22,
    "major": "Marketing",
    "year": 3
}

# Accessing values in the dictionary using keys
print("Name:", student["name"])  # Output: "Name: Max"
print("Age:", student["age"])  # Output: "Age: 22"
print("Major:", student["major"])  # Output: "Major: Marketing"
print("Year:", student["year"])  # Output: "Year: 3"

# Modifying values in the dictionary
student["age"] = 22
student["year"] = 4
print("Updated Age:", student["age"])  # Output: "Updated Age: 21"
print("Updated Year:", student["year"])  # Output: "Updated Year: 4"

# Adding new key-value pairs to the dictionary
student["university"] = "XYZ University"
print("University:", student["university"])  # Output: "University: XYZ University"

# Removing a key-value pair from the dictionary
del student["major"]
print(student)  # Output: {'name': 'Max', 'age': 23, 'year': 4, 'university': 'XYZ University'}

设置示例:
什么时候使用? :当您要存储一个唯一元素的集合时,请使用集合。这将没有特别的顺序。

# Creating a set of food items
foods = {"sushi", "pizza", "crepe"}

# Adding elements to the set
foods.add("burger")
print(foods)  # Output: {"sushi", "pizza", "crepe", "burger"}

# Removing elements from the set
foods.remove("pizza")
print(foods)  # Output: {"sushi", "crepe", "burger"}

# Sets automatically remove duplicate elements
foods.add("sushi")
print(foods)  # Output: {"sushi", "crepe", "burger"}

简单吧?在学习数据结构中的基础知识方面做得很好!软件工程师应该了解数据结构,因为它们决定了获取数据的速度!在宏伟的计划中,很高兴知道您是否正在尝试在应用程序中建立效率和速度。 (这是您应该努力做的!)

算法!

他们是什么? :它们是分步说明,可帮助您解决难题或问题!成为编码领域的人应该能够在其流程中逐步进行逻辑! (计算机本质上从开始到结束)最常见的例子是建造花生酱和果冻三明治的说明!

代码中有特殊的算法!他们通过将您的问题分解为较小,更可管理的步骤来帮助!

了解所有这些算法有点中间,因此不必担心将所有这些都用于记忆!他们很高兴知道您进行的任何编码访谈!

算法的类型:

  1. 排序算法: - 合并排序:有效地对大列表或数组进行排序。 - 快速排序:有效地对大型列表或数组进行排序,在实践中广泛使用。 - 气泡排序:简单但效率低下的大列表。 - 选择排序:对于小列表或部分排序的数据有效。 - 插入排序:小型或部分排序的列表有效。

2。搜索算法:
- 二进制搜索:对排序列表有效,将搜索空间分为一半。
- 深度优先搜索(DFS):用于在树或图形结构中进行遍历或搜索。
- 广度优先的搜索(BFS):用于在树或图形结构中进行遍历或搜索,首先探索邻居。

  • 线性搜索:简单但对大列表的效率不高。

3。图算法:
- Prim的算法:在加权图中找到最小跨越树。
- 克鲁斯卡尔的算法:在加权图中找到最小跨越树。
- Dijkstra的算法:在具有非负重的图表中找到最短的路径。

4。递归:
- 河内塔:使用递归解决河内难题的塔。
- 阶乘:使用递归计算数字的阶乘。

5。哈希:
- 哈希算法:了解MD5,SHA-1和SHA-256等不同的哈希技术。这是用于密码!

6。字符串算法:
- 匹配算法的字符串:了解诸如蛮力,knuth-morris-pratt(KMP)和Rabin-karp之类的算法。

7。树遍历:
- 秩序,预订和后阶段遍历:在树中以不同订单访问节点。

8。动态编程:
- 斐波那契序列:使用记忆或自下而上的方法有效地解决斐波那契序列。
- 背包问题:使用动态编程解决背包问题。

这么多学习!!!

我不会包括这些,但您也应该研究以下内容!

  1. 错误处理:这是调试或查找编码逻辑没有意义的一种方式。它有助于分解您的代码,并使其“更容易”(编码很容易)找到问题。
  2. 输入/输出和文件处理:让用户或测试人员将信息输入您的代码(与之交互)及其输出的一种方法。这最常见于命令行 - 接口应用以及后端数据库操作中。文件处理只是“读取”和“写”文件的方法!

前进 - 我该怎么办?

继续练习,练习和练习!学习任何语言的最佳方法是搬到一个大多说并被沉浸的国家。 (人们试图学习西班牙语,可能住在西班牙并与之保持联系!就我们而言,就开始编码。我知道这可能很可怕,但是互联网上有很多例子和资源可以提供帮助!((( YouTube对于编码器来说是惊人的!)

以下是我用于了解更多信息的一些资源:

现在该在哪里?

查看这个出色的路线图,以成为Python开发人员!(https://roadmap.sh/python
我建议您开始构建基本应用程序。然后,一旦您对本文中提到的所有内容感到满意,请继续寻找要学习的python的专业!

如果您在旅途中有任何疑问或需要帮助,请发表评论!

祝你好运,玩得开心!
-jai