中国数据新闻工作坊培训手册第五章 – 实操:Python简介

分享给朋友:

这是对Python基础命令的一个介绍。你需从python.org安装Python 3.4或更新的版本。老版本(比如 Python 2.7)不行。

  1. 要打开Python, 找到 IDLE (Python 3.4 GUI) 程序

Python简介1

你就会看到一个这样的窗口:

Python简介2

这是Python 立即执行你给与的任何命令的窗口。你可以做的最基础的东西是让Python打印数字和字符串。程序员们把文字叫做字符串。字符串总是在引号里(包括单引号和双引号)。

Python简介3

 

  1. 我们不希望逐个执行每个命令,而是要把它们放在一个程序文件中一起来运行。选择 New File (新文件)来设一个新程序:

Python简介4

现在你就可以把任何数目的命令输入此文件,比如:

print(3)

print(‘您好’)

运行这个程序:

Python简介5

  1. 通过使用+, 你可以打印复杂些的东西。+ 把数字加起来,但如果是字符串,+ 使得多个字符串依次被打印。

print(3)

print(‘您好’)

print(3+3)

print(‘您好’ + ‘Python’)

Python里有的地方空格很重要,有的地方根本无所谓。该程序里+ 左右的空格无所谓,可以被删掉。但如果你把空格放在一个字符串里,Python 将会打印这个空格! 我们随后还会看到空格很重要的另外一个地方。

大小写一向都很重要。print()Print() 或者 prInt() 都不一样。

  1. 你可以把一个值赋予一个变量。一个变量名就像邮箱上的名字:它告诉你到哪儿找东西,而不是里面有什么。

a=3

print(a)

a=a+1

print(a)

a=a*2

print(a)

b = ‘您好’

c = ‘Pyt hon’

print(b+c)

  1. + 号把数字加起来,但把字符串连结起来。如果你把一个数字和一个字符串加起来,就会出错。要解决这个问题,你可以使用 int() 把一个字符串改为数字,或者str() 把数字改为字符串。 Int 的意思是整数(包括正数和负数)

numProvinces = 23

print(‘There are ‘ + str(numProvinces) + ‘ provinces in China’)

numFingers = ’10’

extraFinger = int(numFingers) + 1

print(‘If you had one more finger you would have ‘ + str(extraFinger) + ‘ fingers.’)

  1. 通过使用input (输入),你也可以让电脑向你索取信息。input 把你打入的内容存入一个变量(然后按Enter键)

name = input(‘What is your name? ‘)

age = input(‘How old are you? ‘)

print(‘Hello ‘ +  name + ‘, you are ‘ + age + ‘ years old.’)

nextAge = str(int(age) + 1)

print(‘Next year you will be ‘ + nextAge + ‘ years old.’)

  1. Python 平时按序执行每道命令。If 语句告诉 Python 只在特定情况下来做某些事情。

age = int(input(‘How old are you? ‘))

if age < 90:

print(‘Wow, you are just a baby.’)

else:

print(‘You are very, very old!’)

print(‘This program is finished.’)

< 是“小于”的意思。>  是“大于”, == 是“等于”, != 是“不等于”。

在这里空格很重要!Python 使用空格来决定一段程序里有什么。如果你在最后一句前加空格, 在age 不小于90时,Python 就只会打印 “This program is finished.”   没有空格,Python 将会总打印此句子。

  1. 要重复做某事,使用 for 循环

for i in range(1,10):

print(i)

print(“Wow!”)

这里i 是一个循环变量。像其它变量一样,你可以随意对其命名,只要名字在整个程序中保持一致就行。请注意, 在最后一个循环中, i是9而不是10。Range() 输出的最大数值总是比你所给的数字小1,这样连续的range可以叠加起来。

for i in range(1,10):

print(i)

for i in range(10,20):

print(i)

该程序只打印10一次。要找到从1到10的数字总和, 我们需要在range 结尾用11.

total = 0

for i in range(1,11):

total = total + i

print(total)

  1. 到现在为止我们考察了数字和字符串。 Python也可以存储列表。你可以创设列表、使用其中单个元素、添加元素、找到列表长度,并做很多其它运算。

# Make a list of cities

cities = [‘Beijing’, ‘Toronto’, ‘Jakarta’, ‘Hollywood’]

print(len(cities))

# print the first two cities

print(cities[0])

print(cities[1])

# print the last city

print(cities[-1])

# Add a city

cities.append(‘Lanzhou’)

print(cities)

# Challenge: reverse the order of cities and print them out again

cities.reverse()

print(cities)

请注意我们用方括号来记录列表中的元素。方括号和平常的括号意思不同。

# 的意思是 “注释” 。此后的所有内容都会被电脑忽略。注释告诉其他读程序的人和程序员本人程序在做什么,因为以后你不会记得自己所写程序的细节。

  • 你可以把列表和for循环结合起来,来对列表中每个元素进行处理,

cities = [‘Beijing’, ‘Toronto’, ‘Jakarta’, ‘Hollywood’]

for i in range(0,len(cities)):

print(‘City number ‘ + str(i) + ‘ is named ‘ + cities[i])

这个方法从0算起,一直到城市列表的总长减去1。0是第一个元素的标识, 总长减1是最后一个元素的标识。 i是变量名。如果你不需要有变量名,对列表中每个元素做一次处理的更简单办法如下:

cities = [‘Beijing’, ‘Toronto’, ‘Jakarta’, ‘Hollywood’]

for c in cities:

print(c)

  • 到现在为止我们只使用了整数,但Python也可以对小数进行计算。这些小数叫做floats (浮点数值)。下面的程序计算利率5%时一年的利息:

cash = 1000

rate = 12.5

factor = 1+rate/100

nextYearCash = cash * factor

print(nextYearCash)

  • 把以上所有内容综合起来,我们可以写出以下计算简单复利的程序:

cash = float(input(‘How much money do you have? ‘))

rate = float(input(‘What is the interest rate in percent? ‘))

years = int(input(‘How many years will you wait? ‘))

totalCash = cash

for i in range(1,years+1):

totalCash = totalCash * (1+rate/100)

print(‘After ‘ + str(years) + ‘ years you will have ‘ +  str(totalCash))


点击进入下一章节:用Python抓取数据(一)
想回到目录请点击这里

作者简介

数据新闻工作坊

数据新闻网以引介全球范围内最顶尖的数据新闻实践为初衷,以推动数据开放及媒体革新为宗旨,面向中国的新闻从业者、媒体管理者、新传教育者以及对传媒感兴趣的设计师、程序员,提供线上信息平台与线下交流机会。