前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python3–函数

python3–函数

作者头像
老七Linux
发布2018-05-09 17:20:57
8180
发布2018-05-09 17:20:57
举报

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。

任何一个比较牛逼的程序均由多个函数封装而成。

定义一个函数

你可以定义一个由自己想要功能的函数,以下是简单的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
  • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
语法

Python 定义函数使用 def 关键字,一般格式如下:

代码语言:javascript
复制
def 函数名(参数列表):
    函数体

例如:

代码语言:javascript
复制
def helloworld()
    print("hello world")
    
helloworld()

输出:
hello world

再来个实例:

代码语言:javascript
复制
def fun(a, *hehe, **hahaha):
    print("{0}--{1}--{2}".format(a, hehe, hahaha))

fun(1,2,3,4,5,x=1,y=2)

输出:
1--(2, 3, 4, 5)--{'x': 1, 'y': 2}

分析:

我使用了–来分割,可以看出来其中的赋值如下:

代码语言:javascript
复制
a = 1
hehe = 2, 3, 4, 5   list 一一对应过来
hahaha ={"x": 1, "y": 2}   dict  一一对应过来

也就是:

代码语言:javascript
复制
*xxx     一个 * 代表  →   list

**xxx    两个 ** 代表  →   dict
匿名函数:
代码语言:javascript
复制
def plus(a,b,c):
    return a+b+c
print(plus(1,2,3))


## 匿名函数
aa = lambda x,y,z:x+y+z

print(aa(3,3,3))


输出:
6
9

注意观察上面的Python示例代码,f = lambda x,y,z:x+y+z 中的关键字lambda表示匿名函数,

代码语言:javascript
复制
# 冒号:之前的x,y,z表示它们是这个函数的参数。
# 匿名函数不需要return来返回值,表达式本身结果就是返回值。
无参数匿名函数:
代码语言:javascript
复制
t = lambda : True
print (t)

输出:
True
默认参数:
代码语言:javascript
复制
lambda x,y=3: x*y #允许参数存在默认值
代码语言:javascript
复制
a = lambda *z:z #*z返回的是一个元祖


print(a('Testing1','Testing2'))

输出:
('Testing1', 'Testing2')

再次反过来看下之前的阶乘题目:

代码语言:javascript
复制
def jc(n):
    sum = 1
    if n == 1:
        return sum
    else:
        for i in range(1, int(n)+1):
            sum *= i
        return sum

def main():
    sumt = 0
    number = input("pls input a number: ")
    for i in range(0, int(number)+1):
        sumt += jc(i)
    print(sumt)

if __name__ == '__main__':
    main()

分析一下:

main()主函数调用 main()函数,main()函数再次调用jc()

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017/04/13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 定义一个函数
  • 语法
  • 匿名函数:
    • 无参数匿名函数:
      • 默认参数:
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档