Python基础知识点总结:数据分析从0到大师必Mark的一篇!(上)

挖数网精选
挖数网精选
挖数网精选
446
文章
0
评论
2020-07-3113:07:00 评论 882 4955字
摘要

它是一门高级编程语言, 它的核心设计理念是让所有代码变得更易阅读,并给开发者们提供一种”仅仅几行代码就能编写编程逻辑”的语法。

首先, 什么是Python? 用python作者Guido van Rossum自己的话来说,Python是这样的一门语言:

它是一门高级编程语言, 它的核心设计理念是让所有代码变得更易阅读,并给开发者们提供一种"仅仅几行代码就能编写编程逻辑"的语法。

那么,对我来说,让我学习Python的第一个理由,就是它漂亮而优雅,能够顺畅自然地实现我的想法。另一个理由,就是Python支持多种编程领域,如:

数据科学

web开发

机器学习

比如,Quora、Pinterest、Spotify,这些项目,都是使用python开发他们的后端

那么,接下来,就开始学习Python吧!

一.基础

1. 变量

可以把变量简单理解为一个存储值的单词。

讲道理,变量是什么就不用特地解释了…大家都懂。

在Python里面,定义变量、给变量赋值都非常简单。比如你想把数字1存储到一个变量里面,而这个变量名叫one,那么,你只需要这样:

one = 1

非常简单吧? 举一反三,完全可以自由发挥,就像下面,把2赋值给two,把10000赋值给some_number:

two = 2

some_number = 10000

当然,除了整型以外,我们也可以设置布尔类型、字符串、单精度,以及一些其他数据类型。如下:

# booleans

true_boolean = True

false_boolean = False

# string

my_name = "Leandro Tk"

# float

book_price = 15.80

2. 流程控制: 分支语句

if,这个语句用来判断是否符合条件,它的后面紧跟着逻辑表达式,表达式最后的值为True或False,如果是true,则执行if里面的语句。如下:

if True:

print("Hello Python If")

if 2 > 1:

print("2 is greater than 1")

因为2大于1,条件成立,所以print语句就会被执行

当然,如果不满足条件,那么else就派上用场了!

如果,if后面跟着的逻辑表达式最终值是false,则会运行else里面的程序,如下:

if 1 > 2:

print("1 is greater than 2")

else:

print("1 is not greater than 2")

你也可以使用elif,是else if的缩写,但千万别写错~

if 1 > 2:

print("1 is greater than 2")

elif 2 > 1:

print("1 is not greater than 2")

else:

print("1 is equal to 2")

3. 循环 / 迭代器

在Python中,我们有多种迭代的方式,我在这里说两种:

While 循环

当逻辑表达式为true的时候,while下缩进的代码块就会被循环执行。所以下面的代码片段,将会从1打印到10。

num = 1

while num <= 10:

print(num)

num += 1

上面这种循环方式,需要一个循环条件,如果循环条件是true,就会继续进行迭代,在上面的例子中,当num变成11的时候,循环条件就会等于False"

再看看下面的基础代码块,以便于理解:

loop_condition = True

while loop_condition:

print("Loop Condition keeps: %s" %(loop_condition))

loop_condition = False

只要循环条件为True,就会被一直循环执行,直到循环条件变成False

For循环

与其他语言一样,这用于计次循环,它循环的次数,取决于后面那个range方法。

range,代表从在循环里,它用于表示从x到n,如下,就是从1到11,第三个参数可空,意思是每次递进的加数,默认每循环一次给i加1,填2的话,就给i加2

for i in range(1, 11):

print(i)

二.列表:集合|数组|数据结构

想象一下,你想把整数1存储在一个变量中。但也许现在你想要存储 2 和 3,4,5 ……

我是否有另一种方法来存储我想要的所有整数,但不是以百万计的变量?你猜对了 —— 确实有另一种方法来存储它们。

List 是一个可以用来存储一列值的集合(比如你想要的这些整数)。那么让我们使用它:

my_integers = [1, 2, 3, 4, 5]

这真的很简单,我们创建了一个数组并将其存储到 my_integer 里。

但是也许你在问:『 我怎样才能从这个列表中获得值?』

很好的问题。List 有一个叫做索引的概念。第一个元素获取索引 0 (零)。第二个取 1 ,依此类推。明白了吧。

为了使其更清楚,我们可以用它的索引来表示数组和每个元素。我可以画出来:

Python基础知识点总结:数据分析从0到大师必Mark的一篇!(上)

使用 Python 语法,它也很容易理解:

my_integers = [5, 7, 1, 3, 4]

print(my_integers[0]) # 5

print(my_integers[1]) # 7

print(my_integers[4]) # 4

想象一下现在你不想存储整数了。你只是想存储字符串,就像你亲戚名字的列表一样。看起来像这样:

relatives_names = [

"Toshiaki",

"Juliana",

"Yuji",

"Bruno",

"Kaio"

]

print(relatives_names[4]) # Kaio

它的工作方式与整数相同,漂亮。

我们刚刚了解到 Lists 索引是如何工作的。但是我仍然需要告诉你如何将一个元素添加到 List 数据结构(一个项目到列表)。

添加一个值到 List 最常见的方法是 append 。让我们看看他是如何工作的:

bookshelf = []

bookshelf.append("The Effective Engineer")

bookshelf.append("The 4 Hour Work Week")

print(bookshelf[0]) # The Effective Engineer

print(bookshelf[1]) # The 4 Hour Work Week

append非常的简单。您只需要将元素(例如『 The Effective Engineer 』)作为『 append 』参数应用即可。

那么,关于 Lists 到这里就结束了,让我们来谈谈另一个数据结构。

三.字典:键-值 数据结构

现在我们知道 Lists 使用整数来索引,但是如果我们不想使用整数来索引呢? 一些其他的数据结构可以使用数字,字符串或者其他的类型来做索引。

让我们来学习 Dictionary 数据结构。 Dictionary 是一个键值对集合,它长下面这样:

dictionary_example = {

"key1": "value1",

"key2": "value2",

"key3": "value3"

}

键用来索引到值,那么我们如何访问 Dictionary的值呢? 你猜对啦 --- 使用键. 试一下吧:

dictionary_tk = {

"name": "Leandro",

"nickname": "Tk",

"nationality": "Brazilian"

}

print("My name is %s" %(dictionary_tk["name"])) # My name is Leandro

print("But you can call me %s" %(dictionary_tk["nickname"])) # But you can call me Tk

print("And by the way I"m %s" %(dictionary_tk["nationality"])) # And by the way I"m Brazilian

我创建了一个关于我的 Dictionary. 我的名字, 昵称和国籍. 这些属性是Dictionary 的键。

我们知道访问 List 使用下标, 我们在这也使用下标 ( Dictionary 中的键的内容) 来访问存在 Dictionary中的值。

在例子中, 我打印出了存在 Dictionary中的所有关于我的短语. 非常简单滴~?

另一件关于 Dictionary非常帅气的事情就是我们可以使用任何东西来做为字典的值.在我创建的Dictionary中, 我想添加键为 "age" 且值为我的整数年龄进去:

dictionary_tk = {

"name": "Leandro",

"nickname": "Tk",

"nationality": "Brazilian",

"age": 24

}

print("My name is %s" %(dictionary_tk["name"])) # My name is Leandro

print("But you can call me %s" %(dictionary_tk["nickname"])) # But you can call me Tk

print("And by the way I"m %i and %s" %(dictionary_tk["age"], dictionary_tk["nationality"])) # And by the way I"m Brazilian

这里我们有一个键 (age) 值 (24) 对 使用字符串来作为键,整数来作为值。

像我们学习 Lists一样,让我们来学习如何在 Dictionary中添加元素.在Dictionary中, 一个键指向一个值是很重要的. 这就是为什么我们在添加元素的时候讨论它:

dictionary_tk = {

"name": "Leandro",

"nickname": "Tk",

"nationality": "Brazilian"

}

dictionary_tk["age"] = 24

print(dictionary_tk) # {"nationality": "Brazilian", "age": 24, "nickname": "Tk", "name": "Leandro"}

我们只需要指定一个值到 Dictionary的键上,一点也不复杂,484啊?

四.迭代:循环Python中的数据结构

当我们在学习 Python基础时, 会发现列表的迭代是一件十分简单的事情 ,通常我们Python开发者会使用For来循环迭代它. 现在让我们尝试一下:

bookshelf = [

"The Effective Engineer",

"The 4 hours work week",

"Zero to One",

"Lean Startup",

"Hooked"

]

for book in bookshelf:

print(book)

如你所见我们已经对书架中的书进行了for操作,我们输出打印了其中的书(当然你可以在循环中对它们做任何事情)。简单而又直观,这就是Python。

同样对于哈希类型的数据结构,比如像是Python中的字典,我们同样也可以对其使用for循环进行迭代操作,但是此时我们则需要用到key:

dictionary = { "some_key": "some_value" }

for key in dictionary:

print("%s --> %s" %(key, dictionary[key]))

# some_key --> some_value

这是一个循环字典类型变量的小例子,对于dictionary变量我们使用for循环操作其中的key,接着我们打印输出他的key以及其相对应匹配的value值。

当然我们还有另外一种方法去实现它,就是去使用iteritems:

dictionary = { "some_key": "some_value" }

for key, value in dictionary.items():

print("%s --> %s" %(key, value))

# some_key --> some_value

你看我们已经命名了两个参数key,value,但这并不是必须的,你甚至可以给它们起任何一个名字^.^,让我们来看一下:

dictionary_tk = {

"name": "Leandro",

"nickname": "Tk",

"nationality": "Brazilian",

"age": 24

}

for attribute, value in dictionary_tk.items():

print("My %s is %s" %(attribute, value))

# My name is Leandro

# My nickname is Tk

# My nationality is Brazilian

# My age is 24

哈哈,可以看到我们已经使用了attribute作为了Dictionary的key参数,代码运行十分正确。赞!

End.

作者:TK

翻译:LearnKu

本文为转载分享,如侵权请联系后台删除

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: