Python 从Zero到Hero(一)
21CTO社区导读:
各位同学,Python是什么? 是一条蛇?如果是,它也是一条可爱的聪明的小蛇。
它和Java,PHP,Perl等一样,是一门计算机语言。
它的发明者是Guido van Rossum,他是这样描述Python的:
Python是一门高级编程语言。它的核心理念是关注代码和语法和可读性,它允许程序员用少量代码表达编程概念。
对我来说,学Python的第一理由是,它是一个好看的编程语言,写代码就像写文章一样自然表达。
还有一个原因是,我们可以用Python很好的完成工作,比如数据挖掘、Web开发和机器学习等领域都能做得很棒。 Quora,Google,Pinterest和Spotify都在用Python进行后端Web开发。国内如Douban,Toutiao等公司也是使用Python做后端应用开发。
有一句话:“人生苦短,我用Python”。用了Python,上下楼不费劲儿,对得起咱这张脸,我们一起来了解它。
Python基础
1 变量
您可以将变量看作是一个存储值的单词——就是这么简单。
在Python中,定义一个变量并给它赋一个值是很容易的。我们想象一下,把数字1存储到一个名叫one的变量中。
我们这样来做,来看如下代码:
one = 1
是不是很简单?我们这样就将值1分配给了变量one。
two = 2
some_number = 10000
你也可以给其它任何变量赋值。比如上面的,变量“two”存储了整数2,“some_number”存储了整数10000.
除了保存整数外,我们还可以使用布尔值(true/false),字符串,浮点数等多种数据类型。
#布尔值
true_boolean = True
false_boolean = False
#字符串
my_name = “Raymond”
#浮点型
book_price = 15.80
2 控制流程:条件处理
使用if 语句来评估表达式是True还是False。如果它是True,它会执行if语句体里的内容。如下代码:
if True:
print(“Hello Python If”)
if 2 >1
print(“2 if greater than 1”)
因为2大于1,所以执行了print代码。
如果if 的表达式为false,则会执行else语句。
if 1>2:
print(“1is greater than2”)
else:
print(“1 is not greater than 2”)
1不会大于2,所以else语句中的代码将被执行之。
你也可以使用 elif 语句:
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和for。
While循环:当条件为True时,语句体内的代码将被执行。所以,此代码将打印出数字1到10。
num = 1
while num <= 10:
print(num)
num+= 1
while需要一个“循环条件”。如果条件保持为True,它将继续迭代。在这个代码例子中,当num 是11,循环条件等于 False。
我们来看一个基础代码,可以更好的理解它:
loop_condition = True
while loop_condition:
print(“Loop Condition keeps: %s”%(loop_condition))
loop_condition = False
循环条件是True,所以它保持迭代,直到我们将它设置为False。
对于循环:把变量“num”应用于语句块,“for”语句将继续迭代。此代码将继续打印与前面代码类似的结果:1到10。
for i in range(1, 11):
print(i)
我们看到,很简单的代码。功能是范围从1开始,到第11个数字,打印完成。
4 列表:集合 | 数组 | 数据结构
我们一起考虑一下,我们想把整数1存储在一个变量中,但是我们想存储2,3,4,5…这些数值想都放在一个变量里怎么办?
我们当然可以用另一种方法来存储想要的整数,但是不能是数以百万计的变量。 你猜对了,有另一种方法来存储它们。
列表List就是一个用来保存一组数据的集合,像我们想要的这些整数一样。我们这样使用它:
my_integers = [1, 2, 3, 4, 5]
是不是很简单。我们一起创建了一组数据并把它存储在my_integer数组上。
我们该怎样从数组中获取值呢? 挺好的问题。 List有一个叫做索引的概念。第1个元素的索引值为0,第2个为1,依此类推,相信你明白了。
为了更清晰,我们可以用索引 来表示数组和每个元素。我把它画出图来:
使用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
它的工作方式与整数相同。
我们刚刚学习了List索引如何工作。下面向大家介绍如何将元素添加到List数据结构中(一个元素添加到列表)。
在Python中,将一个新值添加到List的常见方法是append。我们一起来看它是如何工作的:
bookshelf = []
bookshelf.append("The EffectiveEngineer")
bookshelf.append("The 4 Hour WorkWeek")
print(bookshelf[0]) # The EffectiveEngineer
print(bookshelf[1]) # The 4 Hour Work Week
append语句简直是超级简单。你只要将元素(如“有效率的工程师”)做为append参数。
到此为止,我们对Lists列表的理解已经够了。接下来我们谈下一个数据结构。
5 字典 Dictionary:键-值数据结构
现在,我们知道列表Lists是使用整数索引的。但是有时候我们不想用整数作为索引呢?当然,Python提供了一个数据结构,可以让索引是数字、字符串或其它 数据类型。
让我们来了解一下Dictionary字典数据结构。Dictionary是键值对的集合。下面是它的样子:
dictionary_example = {
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
键名指向索引的值。我们怎么访问Dictionary中的值?你猜对了,我们用Key,我们来试试看:
dictionary_ex = {
"name": "Raymond",
"nickname": "Luoyi",
"nationality": "China"
}
print("My name is %s"%(dictionary_ex["name"])) # My name is Raymond
print("But you can call me %s"%(dictionary_ex["nickname"])) # But you can call me Luoyi
print("And by the way I'm %s"%(dictionary_ex["nationality"])) # And by the way I'm China
我创建了一个关于我自己的Dictionary,包括我的名字,昵称和国籍,都以键名的方式保存在Dictionary字典中。
我们已经一起学习了使用索引来访问List,我们也使用索引(Dictionary上下文的键)来访问保存在Dictionary的值。
在这个例子中,我引用了Dictionary存储的值打印一个关于我的短语。很简单对吧?
Dictionary另一个很酷的事是,我们可以使用任何东西做为值。创建了Dictionary,我们想添加一个key为“age”和我真正年龄的整数值:
dictionary_ex = {
"name": "Raymond",
"nickname": "Luoyi",
"nationality": "China",
"age": 38
}
print("My name is %s"%(dictionary_ex["name"])) # My name is Raymond
print("But you can call me %s"%(dictionary_ex["nickname"])) # But you can call me Luoyi
print("And by the way I'm %i and%s" %(dictionary_ex["age"], dictionary_tk["nationality"]))# And by the way I'm China
这里,我们有一个键(key)和值(24),做为字符串的键和整数作为值。
和我们对Lists所做的一样,我们学习如何将元素添加到Dictionary。Key指向一个值是Dictionary的重要组成部分。当我们添加元素时,也是如此:
dictionary_ex = {
"name": "Raymond",
"nickname": "Luoyi",
"nationality": "China"
}
dictionary_ex['age'] = 24 #add new item
print(dictionary_ex) # {'nationality': 'China', 'age': 38, 'nickname': 'Luoyi', 'name': 'Raymond'}
我们只需给一个Dictionary分配一个key和值。没有什么复杂的,对吧?
作者:21CTO社区
说明:本站原创作品。Python开发系列文章,敬请期待。