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

转载请注明本文出自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.parseInt
if 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 * 2
4 是一个素数
5 是一个素数
6 = 2 * 3
6 是一个素数
7 是一个素数
8 = 2 * 4
8 是一个素数
9 = 3 * 3
9 是一个素数
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 j


n = max(1, 11)
print(n) # 11,如果没有使用return 则为 None

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

def max(i, j=10):
    if i > j:
        return i
    else:
        return j


n = max(1)
print(n) # 10
n = max(1,-1)
print(n) # 1

n = 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命名
发布了30 篇原创文章 · 获赞 287 · 访问量 43万+

猜你喜欢

转载自blog.csdn.net/maplejaw_/article/details/51829060