Python语法 之 结构与函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lanxueCC/article/details/53842057

综述:计算机的流程控制主要通过三种结构来控制的:顺序结构,选择结构,循环结构。下面讲述下python语言的这三种结构的语法模式。

选择结构

并列if语句

所谓选择结构就是一个或多个条件判断,及其执行语句组成的代码模块。python的基本if语句的结构模式大致如下:

if <判断条件1>:
    <执行语句1>
elif <判断条件2>:
    <执行语句2>
(中间可以有多个这样的条件判断及执行语句)
else:
    <执行语句3>

大致逻辑:如果条件1为真则执行语句1,现时语句2、3不执行,否则再判断条件2,如果条件2为真则执行语句2同时语句3不再执行,否则执行语句3。

例子:

# -*- coding: utf-8 -*-
x = int(input("请输入您的总分:"))
if x >= 90:
    print('优')
elif x >= 80:
    print('良')
elif x >= 70:
    print('中')
elif x >= 60:
    print('合格')
else:
    print('不合格')

效果如下图所示:
这里写图片描述

三元运算符

python中三元运算符基本形式:<表达式1>if<条件>else<表达式2>。其逻辑大致是如果条件为真则整个三元运算符的值是表达式1的值,如是条件为假则整个三元运算符的值是表达式2的值。三元运算符的另一种形式为:<条件>and<表达式1>or<表达式2>。
见如下例子:

# -*- coding: utf-8 -*-
x = int(input("请输入您的总分:"))
y = '及格' if x >= 60 else '不及格'
print y
y = '合格' if x >= 60 else '不合格'
print y

结果如下图:
这里写图片描述

if语句嵌套

if语句的嵌套的大致形式如下

if<条件A><语句A>
    if<条件a>
        <语句a>
    elif<条件b>
        <语句b>
    elif<条件c>
        <语句c>
    else
else:
    <语句B>

大致逻辑:如果满足条件A,则先执行语句A,再执行并列if语句a,b,c。如果不满足语句B,则执行语句B。

例子:::

# -*- coding: utf-8 -*-
x = int(input("请输入您的总分:"))
if x >= 60:
    print('及格,属于:')
    if x >= 90:
        print('优')
    elif x >= 80:
        print('良')
    else:
        print('中')
else:
    print('不及格')

效果如下图:
这里写图片描述

循环结构

for循环结构

与其他编程语言用循环控制变量来控制循环不同的是,python中for语句是通过循环遍历某一序列对象(字符串,列表,元组)来构建循环,循环的结束的条件是对象被遍历完成。for语句的基本形式如下:

for <循环变量> in <循环对象><语句1>
else:
    <语句2>

注意其中的else语句是区别于其他编程语言的,只有在for循环正常退出时才执行。
for循环语句的逻辑是依次遍历循环对象的每个变量赋值给循环变量,如果循环对象未结束,则循环执行语句1,如果循环对象结束,则进入else分支执行语句2,结束整个循环。

# -*- coding: utf-8 -*-
tuplesuc = (0,1,2,3,4,5,6,7,8,9)
for num in tuplesuc:
    print("%d" % num)
else:
    print("All Tuple")

效果如下:
这里写图片描述

while循环控制

while循环的结构如下:

while<条件><语句1>
else:
    <语句2>

while循环的逻辑是,如果条件为真则制循环执行语句1,直到条件为假时执行语句2后跳出整个while模块。
例子

# -*- coding: utf-8 -*-
count = 0
while count < 5:
    print(count, "is less than 5")
    count += 1
else:
    print(count, "is not less than 5")

效果如下:
这里写图片描述

循环常用控制语句

break语句

用在for循环或while循环的循环体中,在其本身未达到循环结束条件时,提前结束循环语句。
例如:

# -*- coding: utf-8 -*-
count = 0
while count < 5:
    print(count, "is less than 5")
    if count == 3:
        break
    count += 1
else:
    print(count, "is not less than 5")

效果如下图:
这里写图片描述

这里要注意到,如果是break结束循环体,则else的语句并不执行。

continue语句

continue语句用在while和for循环中,continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。 continue 语句跳出本次循环,而break跳出整个循环。
例子:

# -*- coding: utf-8 -*-
count = 0
while count < 5:
    print(count, "is less than 5")
    count += 1
    if count == 3:
        continue
    print('!')
else:
    print(count, "is not less than 5")

效果如下:
这里写图片描述

range函数

range( [start,] stop [, step])以start为起始值,stop为结束值,step为步长依次生成一个迭代值。需要注意的是,range() 函数返回的对象表现为它是一个列表,但事实上它并不是,range()函数并不是在调用时一次生成整个序列,而是遍历一次才产生一个值,以减少内存的占用,其本质是一个迭代器。step可以不设置,默认为1。start可以不设置,默认为0;

# -*- coding: utf-8 -*-
for i in range(5):
    print i
else:
    print 'over'

for i in range (6, 16, 2):
    print i
else:
    print 'over'

效果如下:
这里写图片描述

pass语句

pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。

函数

python中函数的定义与声明是被视为一体的,这与C语言不同。python中函数的基本定义形式如下:

def 函数名(参数1,参数2...,参数n):
    函数体(语句块)
    return [返回值]

1、函数的命名规则要符合Python中标识符的命名要求
2、def是定义函数的关键词,不用指定函数返回值类型
3、函数后面是圆括号,可以有参数列表,也可以没有参数
4、括号后面的冒号一定要有
5、紧接着def语句缩进四个空格的部分都是都是函数体

例子:

def add(x,y):
    return x+y

print (add(3.2, 2.4), add(3,5))

效果如下:
这里写图片描述

python 在定义函数时并没有明确参数类型,因为python中变量无类型,对象才有类型,所以参数x,y可以用来引用任何对象,后面的返回结果会根据对象的类型来返回。
只要在形参表末尾的那些参数可以有默认参数值,即你不可以在声明函数形参的时候,先声明有默认值的参数而后声明没有默认值的参数。这是因为赋给形参的值都是根据位置而赋值的

函数带默认参数的定义形式:

/*有效*/
def add(x,y=1):
    return x+y

/*无效*/
def add(x = 1, y):
    return x+y

猜你喜欢

转载自blog.csdn.net/lanxueCC/article/details/53842057