潮办公
  • python基础
  • python爬虫
  • vba
潮办公
一个教你高效办公的网站
  1. 首页
  2. python
  3. 正文

day12:函数

2020年09月15日 25点热度 0人点赞 0条评论

定义与使用

  • 可用用来实现特定功能的,可以防止出现大量重复代码
  • 方便代码的重复利用,使得代码更加简洁
  • 常用def开头,后面接函数名称和括号。
  • 函数内的代码需要用冒号,然后后面接缩进。

  • 调用函数的时候直接给出函数名加括号即可。

def fun1():
    """
    我是一个函数
    :return:
    """
    print('hello world')


fun1()  # 调用函数

"""
# 输出结果
hello world
"""

函数参数

  • 函数的参数一般在定义函数的括号内直接定义

  • 调用函数的时候也需要直接在函数名称后面的时候带上参数

def fun1(a, b):
    """
    我是一个函数
    用来计算长方体面积
    :return:
    """
    print('长方体面积为:', a*b)


fun1(2, 3)  # 调用函数

"""
# 输出结果
长方体面积为: 6
"""
  • 调用函数的时候也可以指定参数的值,如果不指定则按默认顺序传递值
def fun1(a, b):
    """
    我是一个函数
    用来计算长方体面积
    :return:
    """
    print('长为:{}, 宽为:{},长方体面积为:'.format(a, b), a*b)


fun1(b=2, a=3)  # 调用函数

"""
# 输出结果
长为:3, 宽为:2,长方体面积为: 6
"""
  • 默认参数,即可以在定义函数的时候事先给参数带一个默认值,这样在调用的时候可以给参数,也可以不给参数。
def fun(r, pi=3.14):
    """
    计算圆的面积
    :param r:圆的半径,float,int类型
    :param pi:圆周率,这里给了一个默认参数3.14
    :return:
    """
    s = pi * r**2
    print('圆的面积为:', s)


fun(2)
fun(2, 3.1415926)
"""
# 输出结果
圆的面积为: 12.56
圆的面积为: 12.5663704
"""
  • 收集参数,即在定义函数的时候不确定定义多少个参数,可以用收集参数来定义。
  • 收集参数常用*args,**args分别收集元组和字典。
def fun(*args):
    """
    展示收集参数收集元组
    :return:
    """
    print('你输入的参数有:', args)


fun(1)
fun(1, 2, 3)
"""
# 输出结果
你输入的参数有: (1,)
你输入的参数有: (1, 2, 3)
"""
def fun(**args):
    """
    展示收集参数收集元组
    :return:
    """
    print('你输入的参数有:', args)


fun(a=1, b=2, c=3)
"""
# 输出结果
你输入的参数有: {'a': 1, 'b': 2, 'c': 3}
"""

函数返回

  • 常用return来返回函数最终的结果,return之后,函数即停止,后面的内容不再运行。
def fun(r, pi=3.14):
    """
    计算圆的面积
    :param r:圆的半径,float,int类型
    :param pi:圆周率,这里给了一个默认参数3.14
    :return: 返回s,即圆的面积
    """
    s = pi * r**2
    return s
    print('我是return后面的内容')


s = fun(2)
s2 = fun(2, 3.1415926)
print(s, s2)
"""
# 输出结果
12.56 12.5663704
"""
  • 如果不写return,则函数默认返回None值
def fun(r, pi=3.14):
    """
    计算圆的面积
    :param r:圆的半径,float,int类型
    :param pi:圆周率,这里给了一个默认参数3.14
    :return: 返回s,即圆的面积
    """
    s = pi * r**2


s = fun(2)
s2 = fun(2, 3.1415926)
print(s, s2)
"""
# 输出结果
None None
"""
  • 也可以用yield进行返回,yield返回对象是一个生成器。即大箱子套小箱子。
  • yield后面的代码可以继续运行
def fun(r, pi=3.14):
    """
    计算圆的面积
    :param r:圆的半径,float,int类型
    :param pi:圆周率,这里给了一个默认参数3.14
    :return: 返回s,即圆的面积
    """
    s0 = pi * r**2
    yield s0
    print('我是yield后面的内容')
    s1 = s0 + 1
    yield s1


s_list = fun(4)
print(next(s_list))
print(next(s_list))
"""
# 输出结果
50.24
我是yield后面的内容
51.24
"""

匿名函数

  • python常用lambda函数创建匿名函数,即不需要用def定义函数名称而可以直接使用
  • lambda函数可以直接定义完后立即调用
fun1 = lambda x, y: x+y  # 定义一个lambda匿名函数,传给变量fun1暂时储存
s_list = fun1(1, 2)


def fun2(x, y):  # 这个和上面的lambda一样
    return x+y


s_list2 = fun2(2, 2)

print(s_list, s_list2)
"""
3 4
"""
  • lambda函数常用map函数混合使用。
list1 = list(range(1, 10))
list2 = list(map(lambda x: x**2, list1))  # 计算Lst1的元素的平方后的结果,返回一个map对象,转成List列表
print(list2)
"""
[1, 4, 9, 16, 25, 36, 49, 64, 81]
"""
本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可
标签: python基础
最后更新:2020年09月15日

Tlntin

保持饥渴的专注,追求最佳的品质

点赞
< 上一篇
下一篇 >

文章评论

取消回复
分类目录
最新 热点 随机
最新 热点 随机
Ubuntu20.04使用Premium15破解版教程 Linux使用OpenVpn教程 Ubuntu20.04安装最新微信2.9.5与Tim3.1.0 day10: 再谈range对象 day9: 了解Excel结构(下) day8: 了解Excel基本结构(中)
day2:使用宏需要的环境 day20:面向对象编程(下) day4:基本数据类型之字符串(下) day17:python错误和异常 day21-day25:python爬虫预备知识 day8: 了解Excel基本结构(中)
标签聚合
vba Linux Ubuntu python爬虫 python基础
其他信息
公众号
qq群

COPYRIGHT © 2020 潮办公. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

粤ICP备18110825号-2