[Python3]函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Python3]函数相关的知识,希望对你有一定的参考价值。
一、一个基本的函数
概述
简单的说,函数就是一种代码组织方式,让你可以实现单一、或关联功能的封装,以便高复用。
函数定义
下面我们看一看在Python中函数定义的基本形式:
def 函数名(参数列表): # 代码块 return 返回值
下面我们看一个简单的实例,计算两个数的和:
# -*- coding:utf-8 -*- __author__ = u‘谷白‘ def sum(a, b): c = a + b return c if __name__ == "__main__": print(u"函数定义,计算和") # 调用函数 c = sum(1 ,2) print(c)
在调用时,参数会根据顺序与函数定义时的参数顺序匹配起来,在本例中a=1, b=2
乘法表示例
下面我们用函数封装实现九九乘法表,请看代码实例:
# -*- coding:utf-8 -*- __author__ = u‘谷白‘ # 九九乘法表 def multi(): data = [] for i in range(1, 10): line = [] for j in range(i, 10): line.append(u"%d * %d = %2d " % (i, j, i*j)) data.append(line) return data if __name__ == "__main__": print(u"九九乘法表实例:") data = multi() for d in data: print(d)
执行的结果如下:
九九乘法表实例: [‘1 * 1 = 1 ‘, ‘1 * 2 = 2 ‘, ‘1 * 3 = 3 ‘, ‘1 * 4 = 4 ‘, ‘1 * 5 = 5 ‘, ‘1 * 6 = 6 ‘, ‘1 * 7 = 7 ‘, ‘1 * 8 = 8 ‘, ‘1 * 9 = 9 ‘] [‘2 * 2 = 4 ‘, ‘2 * 3 = 6 ‘, ‘2 * 4 = 8 ‘, ‘2 * 5 = 10 ‘, ‘2 * 6 = 12 ‘, ‘2 * 7 = 14 ‘, ‘2 * 8 = 16 ‘, ‘2 * 9 = 18 ‘] [‘3 * 3 = 9 ‘, ‘3 * 4 = 12 ‘, ‘3 * 5 = 15 ‘, ‘3 * 6 = 18 ‘, ‘3 * 7 = 21 ‘, ‘3 * 8 = 24 ‘, ‘3 * 9 = 27 ‘] [‘4 * 4 = 16 ‘, ‘4 * 5 = 20 ‘, ‘4 * 6 = 24 ‘, ‘4 * 7 = 28 ‘, ‘4 * 8 = 32 ‘, ‘4 * 9 = 36 ‘] [‘5 * 5 = 25 ‘, ‘5 * 6 = 30 ‘, ‘5 * 7 = 35 ‘, ‘5 * 8 = 40 ‘, ‘5 * 9 = 45 ‘] [‘6 * 6 = 36 ‘, ‘6 * 7 = 42 ‘, ‘6 * 8 = 48 ‘, ‘6 * 9 = 54 ‘] [‘7 * 7 = 49 ‘, ‘7 * 8 = 56 ‘, ‘7 * 9 = 63 ‘] [‘8 * 8 = 64 ‘, ‘8 * 9 = 72 ‘] [‘9 * 9 = 81 ‘]
小结
大家可以根据实例进行各种改造尝试,以便进一步深入了解函数的特性。
二、参数传递
概述
在Python中参数的传递要注意传入的是可更改的还是不可更改的对象。
在python中对象从修改来讲可以分为:
-
可更改对象
在python中,可更改的对象有list(列表)、dict(字典)、set(集合)等等 -
不可更改对象
不可更改的对象有strings、tuples、numbers等等。
在Python函数参数的传递,可以传入不可变或可变类的参数。
不可变类型:类似C/C++中的传值参数。
可变类型:类似C/C++的引用参数(即传地址方式)
因为在Python中一切皆为对象,所以在Python中严格来讲我们不能跟在C/C++中一样说是值传递或引用传递,应该讲传不可变对象或可变对象。
元组传递
下面我们讲解下如何将元组作为参数传递。例如有一个元组,我们将其传递给一个函数进行和计算:
# -*- coding:utf-8 -*- __author__ = u‘谷白‘ # 求和 def sum_tuple(seq): sum = 0 for s in seq: sum = sum + s return sum if __name__ == "__main__": print(u"元组传参,求和实例:") tuple_1 = (1, 9, 10, 2, 2, 39, 0, 11, 20) print(tuple_1) sum = sum_tuple(tuple_1) print(u"和为: %d" % sum)
运行结果如下:
元组传参,求和实例: (1, 9, 10, 2, 2, 39, 0, 11, 20) 和为: 94
字符串传递
下面我们将多个字符串传递给函数进行字符串连接操作:
# -*- coding:utf-8 -*- __author__ = u‘谷白‘ # 字符串连接函数 def str_join(str1, str2, str3): return str1 + str2 + str3 if __name__ == "__main__": print(u"字符串连接实例: ") str1 = u"大家好," str2 = u"我的博客地址是:" str3 = u"博客园 谷白" str_j = str_join(str1, str2, str3) print(str_j)
运行结果如下:
字符串连接实例:
大家好,我的博客地址是:博客园 谷白
以上是关于[Python3]函数的主要内容,如果未能解决你的问题,请参考以下文章