Python函数的使用

简单函数的使用

  • 函数简介

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

  • 函数定义和调用

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

定义函数格式如下:

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

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

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

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

  # 调用函数
  test()

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

  • 时间函数

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


	import time  # 引入time模块

	currentTime = time.time()
	print "当前时间戳为:", currentTime

运行结果:

	当前时间戳为: 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. 作用域

在一个函数中定义的变量,只能在本函数中用(局部变量)
在函数外定义的变量,可以在所有的函数中使用(全局变量)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值