Python函数的使用

简单函数的使用

  • 函数简介

    所谓函数,就是指:把某些特定功能的代码组成为一个整体,这个整体就叫做函数

  • 函数定义和调用

    什么是函数的定义:相当于自己定义了一个能完成某些事件的功能;就好比自己打造了一个工具

    定义函数格式如下:

    
    def test():
        print '----哈哈----'
        print '----这是我的第一个函数----'
    

    什么是函数调用:如果仅仅是定义了函数,其实是不能自动被执行的,必须要去调用它才可以;

    通俗的讲:定义函数相当于打造了一个工具,调用函数相当于使用这个工具完成想要做的事情

    
    
    # 定义一个函数
    
    def test():
        print '----哈哈----'
        print '----这是我的第一个函数----'
    
    
    # 调用函数
    
    test()
    

    Python之所以越来越受到开发者的喜爱,原因之一就是:它丰富的函数,基本上需要的功能Python都有了

  • 时间函数

    开发中,经常需要打印一些调试的信息,此时就又必须要输出时间,这就需要一些时间函数

    
    import time  # 引入time模块
    
    currentTime = time.time()
    print "当前时间戳为:", currentTime
    

    运行结果:

    扫描二维码关注公众号,回复: 1814797 查看本文章
    当前时间戳为: 1465527332.44
    import time
    
    localtime = time.localtime(time.time())
    print "本地时间为 :", localtime

    运行结果:

    本地时间为 : time.struct_time(tm_year=2016, tm_mon=6, tm_mday=10, tm_hour=10, tm_ min=57, tm_sec=14, tm_wday=4, tm_yday=162, tm_isdst=0)
    import time
    
    localtime = time.asctime( time.localtime(time.time()) )
    print "本地时间为 :", localtime

    运行结果:

    本地时间为 : Fri Jun 10 10:58:53 2016
  • 日历函数

    
    import calendar
    
    cal = calendar.month(2016, 8)
    print "2016年8月份的日历:"
    print cal;
    
  • 随机数函数

    import random
    
    a = random.uniform(1, 5)
    print "a =",a
    
    b = random.randint(10, 50)
    print "b =",b
    
    c = random.randrange(0, 51, 2)
    print "c =",c

函数的文档说明

>>> def test(a,b):
...     "用来完成对2个数求和"
...     print("%d"%(a+b))
... 
>>> 
>>> test(11,22)
33

如果执行,以下代码

>>> help(test)

能够看到test函数的相关说明

Help on function test in module __main__:

test(a, b)
    用来完成对2个数求和

函数参数

思考一个问题,如下:

现在需要定义一个函数,这个函数能够完成2个数的加法运算,并且把结果打印出来,该怎样设计?下面的代码可以吗?有什么缺陷吗?

  def add2num():
      a = 11
      b = 22
      c = a+b
      print c 

为了让一个函数更通用,即想让它计算哪两个数的和,就让它计算哪两个数的和,在定义函数的时候可以让函数接收数据,就解决了这个问题,这就是 函数的参数

<1> 定义带有参数的函数

示例如下:

def add2num(a, b):
    c = a+b
    print c

<2> 调用带有参数的函数

以调用上面的add2num(a, b)函数为例:

def add2num(a, b):
    c = a+b
    print c

add2num(11, 22) # 调用带有参数的函数时,需要在小括号中,传递数据

调用带有参数函数的运行过程:

调用带有参数函数

<3> 练一练

要求:定义一个函数,完成前2个数完成加法运算,然后对第3个数,进行减法;然后调用这个函数
* 使用def定义函数,要注意有3个参数
* 调用的时候,这个函数定义时有几个参数,那么就需要传递几个参数

<4> 调用函数时参数的顺序

>>> def test(a,b):
...     print(a,b)
... 
>>> test(1,2)
1 2
>>> test(b=1,a=2)
2 1
>>> 
>>> test(b=1,2)
  File "<stdin>", line 1
SyntaxError: positional argument follows keyword argument
>>> 
>>> 

<4> 小总结

  • 定义时小括号中的参数,用来接收参数用的,称为 “形参”
  • 调用时小括号中的参数,用来传递给函数用的,称为 “实参”

函数返回值

<1>“返回值”介绍

现实生活中的场景:

我给儿子10块钱,让他给我买包烟。这个例子中,10块钱是我给儿子的,就相当于调用函数时传递到参数,让儿子买烟这个事情最终的目标是,让他把烟给你带回来然后给你对么,,,此时烟就是返回值

开发中的场景:

定义了一个函数,完成了获取室内温度,想一想是不是应该把这个结果给调用者,只有调用者拥有了这个返回值,才能够根据当前的温度做适当的调整

综上所述:
* 所谓“返回值”,就是程序中函数完成一件事情后,最后给调用者的结果

<2>带有返回值的函数

想要在函数中把结果返回给调用者,需要在函数中使用return

如下示例:

def add2num(a, b):
    c = a+b
    return c

或者

def add2num(a, b):
    return a+b

<3>保存函数的返回值

在本小节刚开始的时候,说过的“买烟”的例子中,最后儿子给你烟时,你一定是从儿子手中接过来 对么,程序也是如此,如果一个函数返回了一个数据,那么想要用这个数据,那么就需要保存

保存函数的返回值示例如下:

#定义函数
def add2num(a, b):
    return a+b

#调用函数,顺便保存函数的返回值
result = add2num(100,98)

#因为result已经保存了add2num的返回值,所以接下来就可以使用了
print(result)

结果:

198

函数使用注意事项

1. 自定义函数

无参数、无返回值

def 函数名():
    语句

无参数、有返回值

def 函数名():
    语句
    return 需要返回的数值

注意:

  • 一个函数到底有没有返回值,就看有没有return,因为只有return才可以返回数据
  • 在开发中往往根据需求来设计函数需不需要返回值
  • 函数中,可以有多个return语句,但是只要执行到一个return语句,那么就意味着这个函数的调用完成

有参数、无返回值

def 函数名(形参列表):
    语句

注意:
* 在调用函数时,如果需要把一些数据一起传递过去,被调用函数就需要用参数来接收
* 参数列表中变量的个数根据实际传递的数据的多少来确定

有参数、有返回值

def 函数名(形参列表):
    语句
    return 需要返回的数值

函数名不能重复

  • 如果在同一个程序中出现了多个相同函数名的函数,那么在调用函数时就会出现问题,所以要避免名字相同
  • 还有一点 不仅要避免函数名之间不能相同,还要避免 变量名和函数名相同的,否则都会出现问题
  • 详细的讲解在python就业班中进行学习,此阶段只要注意这些问题即可

2. 调用函数

调用的方式为:

函数名([实参列表])

调用时,到底写不写 实参

  • 如果调用的函数 在定义时有形参,那么在调用的时候就应该传递参数

调用时,实参的个数和先后顺序应该和定义函数中要求的一致

如果调用的函数有返回值,那么就可以用一个变量来进行保存这个值

3. 作用域

在一个函数中定义的变量,只能在本函数中用(局部变量)

在函数外定义的变量,可以在所有的函数中使用(全局变量)

猜你喜欢

转载自blog.csdn.net/hzlnice/article/details/80549217