Python3 学习手册(二) 流程控制语句

来源:互联网 发布:linux wine 运行 exe 编辑:程序博客网 时间:2024/05/20 21:20

转载请注明本文出自maplejaw的博客(http://blog.csdn.net/maplejaw_)

上一篇,我们学习了Python中的基本数据类型,也顺带讲了下while循环。本篇开始系统的介绍一些流程控制语句。为了方便演示,本篇开始将部分源码写成.py文件,然后运行测试。
1.gif-895.6kB
首次我们建立demo.py的文本文件。然后使用Python自带的IDIE打开编程即可。按F5即可运行程序。

if语句

和其他编程语言一样,Python也有if语句,但是跟其他编程语言却不太相同,倒是像其他语言中的switch语句,此外,需要注意的是else if 应写为elif。务必记住,条件体内一定要缩进,否则会报错。

x=int(input("请输入一个整数:")); #这里使用int()进行转型,相当于java中的Integer.parseIntif x<0:    print("该数小于0");elif x==0:    print("该数等于0");else :    print("该数大于0");

for语句

for循环相当于java中的for-each语句,使用for [x] in [x] :形式,第一个参数表示你取的名字,第二个参数表示要遍历的列表。

words=['你','你好','你们','你们好'];for w in words: #遍历list    print(w);print('第二次循环--->')    for w in words[1:]:# 指定遍历范围    print(w);

image_1ala11bg0h9fl8m15mukeejgm12.png-5.5kB

如果只是想来个从0到9的循环,该怎么做?使用range()函数。

for i in range(10):    print(i)

image_1ala23h8oqu63g81utb1d80bhe1f.png-2.2kB
当然,range也可以如下用法。

words=['你','你好','你们','你们好'];for i in range(len(words)):    print(words[i])

range()也是可以指定范围的。
一个参数:表示0到stop(不包括)。
两个参数:start到stop(不包括)。
三个参数:start到stop(不包括),但是第三个参数step表示步数
image_1ala2bp681g9g2e8jdrhnui021s.png-4.3kB

break、continue和else语句

break语句等同于C语言,用于跳出最小for循环或while循环。与C语言不同的是python中循环语句可以有else条件。else只在for循环结束时执行(不包括break跳出导致的结束)。
以下的程序用来打印出10以内的素数:

for n in range(2, 10):    for x in range(2, n):        if n % x == 0:            print(n, '=', x, '*', n//x)            break    else:        print(n, '是一个素数')else:    print('全部执行完毕')

结果为:

2 是一个素数3 是一个素数4 = 2 * 24 是一个素数5 是一个素数6 = 2 * 36 是一个素数7 是一个素数8 = 2 * 48 是一个素数9 = 3 * 39 是一个素数hello word

continue 语句用于继续下一个循环。

for num in range(2, 10):    if num % 2 == 0:        print('可以被2整除', num)        continue    print('不能被2整除', num)

image_1ampvle0i4qv1nv1ahe3s816qe9.png-5.9kB

定义函数

在了解定义函数之前,我们先来了解下,怎么使用python内置的函数。
求绝对值:abs
image_1amq0s1ra13gi1rvj51b1qvatgt13.png-1.8kB
求最大值:max
image_1amq0stol1ikd1nku16njgjd1rd1g.png-1.7kB

现在来自定义函数,自定义函数必须使用def来声明,以下定义了一个简单的求两个数之间最大值的函数。

def max(i ,j):    if i>j:        print(i)    else:        print(j)

定义完函数外就可以直接使用了。

max(9,10) # 10

当然我们可以给函数取一个别名,以下为取名m来使用
image_1amq14l4219331q3cqe6ivhs2h1t.png-2.4kB
但是我们发现以上函数有个缺陷,最大数无法赋值给一个变量。怎么使函数有返回值呢?只需使用return关键字即可。

def max(i, j):    if i > j:        return i    else:        return jn = max(1, 11)print(n) # 11,如果没有使用return 则为 None

定义函数时,可以给参数一个默认值。

def max(i, j=10):    if i > j:        return i    else:        return jn = max(1)print(n) # 10n = max(1,-1)print(n) # 1n = max(j=-1,i=3) #这里可以指明关键字print(n) # 3

函数中使用可变参数。
*name 表示可变参数,**name表示关键字参数,内部包装为字典,字典相当于java中的map,需要指明参数名。

def test(*arguments, **keywords):    for arg in arguments:        print(arg)    print("-" * 40)    for kw in keywords.keys(): # 获取字典的key集合        print(kw, ":", keywords[kw])test("参数1", "参数2",           "参数3",           shopkeeper="字典1",           client="字典2",           sketch="字典3")

测试结果如下:
image_1amq79nj51tr01hnl1jro5olrce2a.png-5.8kB
当然,我们可以指明关键字。

def test(*arguments, *,city,age): ## 表示只能传入city和age的关键字参数

pass语句

pass这个语句表示什么事都不做。可以当做占位符来使用,常用来定义空函数,或空条件。因为python中不允许定义空函数,故用pass占位

def max(i, j=10):    pass

编程风格

  • 使用4个空格进行缩进
  • 每一行不要超过79个字符
  • 函数,类,代码块之间因加上空行
  • 尽量多写注释
  • 使用文档注释
  • 操作符左右,逗号后面记得加空格
  • 类名命名遵守驼峰规则,函数与方法遵守小写+下划线的形式
  • 第一个方法参数使用self命名
0 0
原创粉丝点击