Python基础09-函数(基本使用+参数+返回值)

2018-05-09  本文已影响25人  Jacob_LJ
Python基础-函数

1. 概念

2. 函数参数

2.1 单个参数

2.2 多个参数

def sum(num1, num2):
sum(4, 5)
或
sum(num2=5, num1=6)

2.3 不定长参数

2.3.1 元组类型的形参

def sum(*args):
     print(args, type(args))
     result = 0
     for v in args:
         print(v)
         result += v
     print(result)

sum((4, 5, 6, 7))  #传元组实参

通过在形参前添加*,传参时候就可以像多个参数的函数一样传值

def sum(*args):
     print(args, type(args))
     result = 0
     for v in args:
         print(v)
         result += v
     print(result)

sum(4, 5, 6, 7)  #传多参数实参

2.3.2 字典类型的形参

def sum(**kwargs):
     print(kwargs, type(kwargs))

sum(name="tmd", score=99) 

2.3.3 参数拆包

def sum(*args):
def 函数名(**dict):
# 上面函数传参时就是装包

sum(4, 5, 6, 7) # 装成一个元组包
sum(name="tmd", score=99) # 装成一个字典包
def test(*args):
     print(args)  # 打印结果是一个元组类型
     # 拆包
     print(*args) # 打印结果是单个独立的数据

def test(**kwargs):
     print(kwargs) # 打印结果是一个字典类型

     # 拆包操作
     # 应该使用 ** 进行拆包操作
     print(**kwargs) # 字典拆包不能打印
  1. 元组拆包后用于传参进多个形成参的函数中:
def testA(a, b, c, d):
  ...
def testB(*args):
    # 拆包后传参
    testA(*args)

testB(3, 4, 5)
  1. 字典拆包后用于传参进多个形成参的函数中:
def testA(a, b,):
  ...
def testB(**kwargs):
    # 拆包后传参
    testA(*kwargs)

testB(a = 1, b = 2)

2.4 缺省参数

2.5 参数传递形式

python 中传递都是引用传递
1. 如果实参是可变,则修改形参,实参同时被改变
2. 如果实参不可变,则不可以修改形参

3 函数返回值

def 函数名():
    函数体
    return 数据

4 函数使用描述

def caculate(a, b=1):
    """
    计算两个数据的和, 以及差
    :param a: 数值1, 数值类型, 不可选, 没有默认值
    :param b: 数值2, 数值类型, 可选, 默认值: 1
    :return: 返回的是计算的结果, 元组 : (和, 差)
    """
    he = a + b
    cha = a - b
    return (he, cha)

res = caculate(6, 7) # 使用集合
# he, cha = caculate(6, 7)  #解包使用
上一篇 下一篇

猜你喜欢

热点阅读