python08 认识函数

   编程大师Martin Fowler先生曾经说过:“代码有很多种坏味道,重复是最坏的一种!”,要写出高质量的代码首先要解决的就是重复代码的问题。因此我们引入函数的概念,我们将重复功能封装到一个称作函数的模块中。在Python中可以使用def关键字来定义函数,和变量一样每个函数也有一个响亮的名字,而且命名规则跟变量的命名规则是一致的。在函数名后面的圆括号中可以放置传递给函数的参数,这一点和数学上的函数非常相似,程序中函数的参数就相当于是数学上说的函数的自变量,而函数执行完成后我们可以通过return关键字来返回一个值,这相当于数学上说的函数的因变量。

一、初识函数

1.函数:函数就是实现某一特定功能的代码块,在类中,函数又叫方法(对某一个功能的封装)

2.为什么要使用函数?

没有函数的时候会出现的问题:

(1)一样的功能对应的代码,需要重复写很多次 (代码冗余)

 (2)如果功能发生改变的时候,需要修改很多位置的代码   

怎么解决上面的问题: 使用函数

3.函数作用

(1)让界面简洁(同样的功能对应的代码只写一遍)  

(2)如果功能发生改变,使用函数只需要修改一个地方的代码

(3)让代码模块化

4.函数的表示

def 函数名(形参列表):

    函数体

    

函数名(实参列表)

注意:

(1)函数的调用过程:1.实参给形参赋值2.执行函数体3.获取返回值

(2)在调用函数的时候一定要保证每一个形参都有值!!

二.函数的使用

1.函数的 声明

(1)print()、input()、len()、max()、min()等,都是python内置函数;append()、insert()等是相关类对应的函数

(2)声明格式

def 函数名(参数列表):
       说明文字        
    函数体
注意:

def: 是python中声明函数的关键字

函数名: 标识符,PEP8,见名知义(根据函数名大概知道函数的功能)

第二行起注意前面的缩进!

( ): 固定格式,不能省略

参数列表(形参): 参数的作用就是从外面往函数中传值。一个函数可以有没有参数,也可以有多个参数。如果有多个参数,参数间用逗号隔开  

冒号: 固定的格式

说明文字: 对函数功能进行说明

函数体:就是实现函数功能的代码段

【例】模拟驾车步骤

#左移
def zuo_yi():
    print('看后视镜')
    print('踩油门')
    print('打左转向灯')
    print('向左打方向盘')
    print('回正方向盘')

# 右移
def you_yi():
    print('==============')
    print('看后视镜')
    print('踩油门')
    print('打右转向灯')
    print('向右打方向盘')
    print('回正方向盘')

# 左移
zuo_yi()

输出左移的步骤:

看后视镜

踩油门

打左转向灯

向左打方向盘

回正方向盘

2.对于初学者来说,声明函数的步骤:

(1)确定函数的功能(确定函数是干什么的)

(2)确定函数名 (根据功能确定函数名)

(3) 确定参数 (确定是否有参数,确定参数有几个,看实现这个功能需不需要从外面传值进去)

(4)确定是否需要返回值 (返回值:就是函数返回给调用者的数据。python中所有的函数都有返回值,默认是None)

(5)实现函数的功能

注意:函数只要在调用的时候才会执行

3.函数的调用

格式  —— 函数名 ( 参数列表 )
注意:
函数名: 你声明的需要调用的函数(已经声明过的函数才可以调用)
参数列表:实参
函数的调用过程:就是用实参给形参赋值,并且执行函数体获取返回值

【例】写一个函数,打印'hello python‘’

def hello():
    """打印 'hello python' """
    print('hello python')

# 调用函数hello
re = hello()
print(hello())

注意: 1.一个函数声明后,可以调用多次  2.python中所有的函数调用表达式都有值

【例】写一个函数,去打印10的阶层(1*2*3*...*10)

def jie_cheng():
    sum =1
    for x in range(1,11):
        sum *= x
    print(sum)
jie_cheng()

方法二

def jie_ceng(m):
    """打印10的阶层"""
    sum1 = 1
    for x in range(1,m+1):
        sum1 *= x
    print(sum1)

jie_ceng(10)

三、带参数的函数

1.函数的声明

def 函数名(参数列表):

    说明文字

    函数体

   

形参: 获取从外面传递给函数内部的值

2.函数的调用 

函数名(实参列表)

实参:调用函数的时候给函数传的值

【例】写一个函数,打印两个数的和







猜你喜欢

转载自blog.csdn.net/zzqhello2018/article/details/80889399