引言
Python作为一个,目前最火的编程语言之一,已经渗透到了各行各业。它易学好懂,拥有着丰富的库,功能齐全。人生苦短,就用Python。
这个快速入门系列分为六篇,包含了Python大部分基础知识,每篇阅读时间不长,但内容含量高。大家最好亲自码一遍代码,这样可以更有收获。
概要
1、掌握Python中的函数,让代码层次分明;
2、掌握Python中的条件,感受编程逻辑语言;
3、掌握Python中的循环,让编程变得轻松。
函数
函数,所有编程语言都有的功能,对于一门编程语言而言极其重要。我们把相对完整的功能的代码用一个函数包装起来,然后在需要这个功能的时候,用一行代码把它调用出来,这就是函数的基本作用。
回想一下,我们之前学过的打印函数print(),输入函数input(),这些都是系统自带的函数。而今天我们主要学习如何创建属于用户的函数。
我们把函数分成四个要素:
输入
主体
输出
调用
函数的输入
对于一般的函数而言,它需要接收一些变量,然后对变量进行加工,然后再把加工的结果返回。我们在下面的例子中,我们给大家列举几种函数接收输入的方式,以及展示如何定义最简单的函数。
代码:
def none_input( ):
print ('How old are you ?')
def one_input(arg1):
print ('How old are %s ?' %arg1)
def two_input(arg1,arg2):
print ('How old %s %s ?' % (arg1,arg2))
def star_input(*arg):
arg1, arg2 = arg
print ('How old %s %s ?'% (arg1,arg2))
none_input()
one_input('you')
two_input('are','you')
star_input('are','you')
讲解:
首先,我们用def命令定义函数,它是define的缩写,然后none_input,one_input叫做函数的名字,注意到函数定义需要用冒号结束且下一行要缩进,这是Python的格式要求。在上面的例子中我们列举了没有输入,一个,两个以及用*arg列表的形式的函数输入。
在调用函数的时候,我们需要请出函数名加上输入内容。比如这里的one_input('you')。one_input是函数名字,而‘you’就是输入内容。
运行结果:
How old are you ?
How old are you ?
How old are you ?
How old are you ?
函数的主体
在上面的例子中,每个函数从第二行都是函数的主体。主体部分其实就是我们常见的代码。但是从整体的角度,主体可以实现一个完整的功能,而这个功能就是函数所要完成的目标。
函数的输出
和输入一样,函数可以选择输出一些内容或者不输出任何东西。我们通过例子来了解:
代码:
def math(a,b):
return a+b,a-b,a*b,a/b
results = math(10,5)
re1,re2,re3,re4 = math(10,5)
print (results)
print (re1,re2,re3,re4)
讲解:
我们用定义一个math函数,return负责返回输出。这个函数返回四个值。分别是两个数的加减乘除,我们用两种方式来接收函数的返回。注意到两个返回的打印结果还是有差异的。
运行结果:
(15, 5, 50, 2.0)
15 5 50 2.0
函数的调用
函数调用的格式我们在第一个例子中提到过。我们用函数名加函数内容的形式调用函数。如果函数有输出,需要用变量来“承接”函数的输出,比如第二个例子中我们用results来承接math函数的输出。
一般而言,我们遵从先定义后调用的规则,也就是说定义的代码要放在调用的代码上面。
条件
If语句,根据给定的条件,会在不同的情况下执行不同的代码。它是我们编程中最常用到的结构之一。我们直接看下面的例子来感受条件语句的用法。
代码:
apple = 40
banana = 60
if apple < banana:
print ('banana is more than apple.')
apple = apple + 30
if apple > banana:
print ('banana is less than apple.')
讲解:
if语句和函数定义在形式上有相似处,都是首行冒号结尾和第二行有缩进。
在这个例子中我们用if语句,比较这两个变量的大小。第一次比较的时候,apple小于banana,刚好满足条件,所以条件语句返回True值,条件成立,于是执行print语句。之后,我们改变了apple的大小,于是两个变量大小关系发生了改变,我们改变了第二个if语句的条件,于是也返回True值,执行print语句。
注意到if后面的是一个逻辑判断表达式,返回的值是逻辑变量True或者False。它一般由比较运算符和逻辑运算符组成。在上面的例子中,我们只使用了比较运算符而没有使用逻辑运算符。逻辑运算符可以在有多个判断条件的时候加入进来,起到多条件同时判断的作用。
运行结果:
banana is more than apple.
banana is less than apple.
if语句完全体:if else
If语句虽然妙,但是和else配合服用更加妙。字面意思很好理解,就是if中的条件如果成立那么我们就执行if语句下的代码,否则(else)我们就执行else语句下的代码。这样的好处是可以一次把条件分成很多情况,然后根据不同情况选择不同决定。
代码:
apple = 50
banana = 50
if apple < banana:
print ('banana is more than apple.')
elif apple > banan:
print ('banana is less than apple.')
else:
print ('banana is same as apple.')
讲解:
我们把banana和apple的大小关系划分成三种:大于,小于和等于。If负责小于的情况,elif负责大于的情况,最后else是这两个条件之外的,也就是等于。所以三个情况刚好构成了一个事件的完整逻辑关系。
运行结果:
banana is same as apple
循环
同If语句一样,循环语句也是编程语言的一个必备基本结构。一般而言,Python有两种方式可以实现循环语句,一种是for语句另一种是while语句,我们先从稍微简单一点的for开始学习。
for语句循环
for语句的循环有两种基本套路:
通过不断访问列表元素来实现循环
使用range()函数来实现循环
我们分别介绍这两种套路。
列表简单理解起来就是一堆变量的集合,我们用中括号 [ ]将列表中元素放进去,列表里的元素用逗号隔开:
代码:
the_list = [1, 2, 3, 4, 5]
print (the_list)
sum = 0
for number in the_list:
sum = sum + number
print (sum)
讲解:
这里,我们定义一个叫做the_list的列表,把1到5的数字存放在列表当中。然后我们利用for循环实现一个连续整数的加法,注意到我们以for开头,然后接着一个变量number将会用来依次访问列表中的元素。
注意:
首行冒号结尾以及次行缩进的格式;
in和for形影不离,配套使用。
运行结果:
[1, 2, 3, 4, 5]
15
range() 函数,是用来创建数字列表。它有3个参数来控制生成的整数列表,第一个是起始整数,第二是结束整数,但是列表并不会取到这个数,而是比它小一位,最后一个就是步长。当然我们不需要每次都输入三个参数来控制,如果只输入一个参数,那么Python会默认起始整数为0,输入的参数是结束整数。如果输入两个参数,那么第一个是起始整数,第二个就是结束整数。
代码:
the_list = range(1,6)
sum = 0
for number in the_list:
sum = sum + number
print (sum)
讲解:
这里,我们用range()函数,建立了一个从1到5的整数列表,注意到(1,6)由于Python的规定,实际表示的是从1到5。
运行结果:
15
While循环语句
接下来我们介绍比for更加复杂一些的while循环。和for不同的是,while不是访问一个列表取值,而在一个逻辑条件一直成立的情况下,不断执行循环里面的代码。
代码:
number = 0
sum = 0
while number < 5:
number = number + 1
sum = sum + number
print (sum)
讲解:
这里,while循环的判断条件是number<5,当number小于5的时候,代码会一直循环执行里面的求和,直到条件失效。利用每次循环给number加1,最后实现了1-5整数的求和。
运行结果:
15
最后我们给大家提醒循环的使用注意点:
少用while多用for
检查while语句中的逻辑表达式是否最终会变成False,防止无限循环。
必要时候可以打印循环里的变量来观察。
你点的每个赞,我都认真当成了喜欢
本文分享自微信公众号 - Python学会(gh_39aead19f756)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。