欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Quick_Python_0

程序员文章站 2022-05-04 18:17:43
...

Quick_Python_0

Markdown By 云天

所有程序注释是用英文撰写的,不过为了便于理解,我会在代码块间穿插中文的讲解。

首先,我们学习Python的两种注释方法。“#”可对单行进行注释。如果想同时为多行代码注释,则有两种方法:(1)使用一对三引号括住要注释的内容;(2)选中所有要注释的行,在Windows系统中用**“Ctrl + /”**完成。

# Basic Points of Python

'''
Today, I will use about 1-2 hours in total to teach you about some basic points of Python.
'''
# try 'Ctrl + /' in Windows

Act as an advanced calculator

因为是刚刚接触Python,我们先来敲几行代码感受下它的简洁风格。

print('Hello World')

Hello World

888 * 6

5328

关于import的用法,后面会详细讲解,它可以说是Python功能强大而富有活力的重要原因之一。

import math
print(math.sqrt(4))

2.0

True and False

False

0 and 666

0

想必在C中,我们没有体会过这般“粗暴”的写法,就像是可执行的伪代码一样!

# different from C, just like executable pseudocode
2 < 3 < 2

False

一个功能强大,应用广泛的Python库Numpy。作为大学生,很容易想到它像是线性代数领域的高级计算器。

阅读以下代码示例。我们先导入Numpy库,并赋予它一个公认的别名np(有些的库的名字如BeautifulSoup会很长,使用别名会使代码简洁易写)。接下来的两行,原理是一致的,即我们调用Numpy中的array函数,构造两个矩阵。shape函数会返回矩阵的维度,帮助我们分析,如矩阵matrix_1便是一个3*1的矩阵,也称列向量。最后一行,我们调用dot函数进行矩阵的相乘运算,传入的参数便是两个要相乘的矩阵。

# numpy menas 'Numerical Python', allowing python act as an advanced calculator
import numpy as np

matrix_1 = np.array([[1], [2], [3]])
matrix_2 = np.array([[1, 2, 3]])
print(matrix_1.shape)

np.dot(matrix_1,matrix_2)

(3, 1)

array( [ [1, 2, 3],
[2, 4, 6],
[3, 6, 9] ] )

Tuple, list and dict

结合个人的学习体会,我个人觉得相比于C这样底层的编程语言,我们学习Python时,很有必要尽早对它的一些数据组织形式有了解,因为这将贯穿我们学习的始终。Python封装好了许多便利的数据容器,其中最重要的便是列表字典元组。鉴于元组是特殊的列表,我们先详细讲解好列表和字典。

# list and dict are both important data structrues in Python, many datasets are organized by them
# tuple can be seen as a special case of list

An intuitive impression

首先,我们直观地感受一下列表,字典和元组。

构造一个列表并打印,很像C里的数组对吧,不过有些操作列表比数组便捷得多!

# list is similar to array in C
my_list = [1, 2, 3, 4]
print(my_list)

[1, 2, 3, 4]

构造一个元组并打印:

my_tuple = (1, 2, 3, 4)
print(my_tuple)

(1, 2, 3, 4)

构造一个字典并打印。字典的形式可能比较独特,它最外侧是一对花括号,里面以逗号分隔出三个键值对。每个键值对组成。键和值之间以冒号连接。

# dict is somehow new to us
my_dict = {'Chinese':80, 'Math':90, 'English':95}
print(my_dict)

{‘Chinese’: 80, ‘Math’: 90, ‘English’: 95}

Basic operation on LIST and DICT

有了对三者的直观认识后,我们就需要学习它们的一些基本操作了。不过在此之前,我觉得很有必要编写两个简短的示例,引导各位理解好列表与字典一个十分重要的区别。

创建两个列表,scorescore_copy。可以发现,它们最后两个元素调换了一下位置。score == score_copy的结果会以布尔值的形式返回,并被打印出来。

# list must be organized in order

score = [88, 90, 78, 60, 77]
score_copy = [88, 90, 78, 77, 60]
print(score == score_copy)

False

创建两个字典,grade和grade_copy。可以发现,它们前面两个键值对调换了一下位置。grade == grade_copy的结果会以布尔值的形式返回,并被打印出来。

# Let us make a comparison now, dict can be out of order
# KEY and VALUE act as basic structure

grade = {'Chinese':90, 'Math':86, 'English':99}
grade_copy = {'Math':86, 'Chinese':90, 'English':99}
print(grade == grade_copy)

True

Order ? List : ✔ Dict : ❌

想必各位也有所体会:

当列表中元素顺序调换后,两个列表便不再相等。我们可以说,列表中的元素是有序的,只有这样,我们后面讲的列表索引才可以正常工作。

当字典中的键值对顺序调换后,两个字典依然相等。我们可以说,字典中的键值对是无序的。原因也很简单:字典的核心是键值对,键映射值,它们“捆绑”在一起。如果我们想获取相应的值,只需搜索对应的键就可以,与顺序完全无关系!

另外多提一句,字典也是Python中散列表实现的重要组成部分,也是大有用处呢!

好啦,这就是我们的第一课,Quick_Python_0 !

我们学会了Python中注释的写法,对Python语言的简洁有了直观的体会。同时我们了解到Python重要的三种数据组织形式:列表,字典与元组。另外,我们理解了列表与字典一个很大的区别,在其中进一步加深对于二者的理解。

接下来的一课,我们将深入学习列表与字典的索引、切片、添加、删除、拼接等操作,并引入元组。希望各位学得开心,有所收获!

相关标签: Python 教程

推荐阅读