【李刚-21天通关Python】第四章:函数


相关链接:
【李刚-21天通关Python-15】之 函数入门与定义函数
【李刚-21天通关Python-16】之 多返回值函数与递归函数
【李刚-21天通关Python-17】之 关键字参数与参数默认值
【李刚-21天通关Python-18】之 参数收集和逆向参数收集
【李刚-21天通关Python-19】之 变量作用域
【李刚-21天通关Python-20】之 局部函数
【李刚-21天通关Python-21】之 实操:定义计算N的阶乘的函数
【李刚-21天通关Python-22】之 实操:定义计算矩阵转置的函数


第四章:函数

函数入门与定义函数

一、函数的定义

  • 所谓函数,就是为一段实现特定功能的代码取个名字,以后即可通过该名字来执行(调用)这段代码
    函数

二、函数定义的定律

  • 函数需要几个关键的、需要动态变化的数据,这些数据就应定义成函数的参数
  • 函数需要传出几个重要的数据,这些数据应该定义成返回值
  • 函数的内部实现过程

三、函数语法

  • 在使用函数之前必须先定义函数,语法格式如下:
'''
def 函数名 (参数列表):
    # 由零条到多条可执行性语句组成的函数
    …… …… 
    [return [返回值]]
'''

【例一】

def first ():
    print("first函数")
    for i in range(5):
        print(i)

first()  # first函数 0 1 2 3 4

【例二】

def hello (name):
    print('hello 函数')
    print('您好,' + name)

hello (python)  
# hello 函数
# 您好,python

【例三】

def max (a, b):
    r = a if a > b else b
    return r

x = max(3, 5)
print(x)  # 5
x = max(100, 0)
print(x)  # 100

四、为函数提供文档

  • 只要把字符串放在一段函数声明之后、函数体之前,这段字符串就是函数的说明文档
  • Python内置的 help() 函数查看其他函数的帮助文档
  • 也可通过函数的 __doc__属性(双下划线)来查看函数的说明文档

(1)使用help()函数查看内置函数文档
使用help()函数查看内置函数文档
(2)使用__doc__属性查看内置函数文档
使用__doc__属性查看内置函数文档
(3)举例

def test (a):
    '''
    这是一个简单函数
    a是参数
    '''
    pass

print(test.__doc__)
help(test)

多返回值函数与递归函数

一、多返回值函数

  • 多返回值,本质就是返回元组
  • 程序即可返回元组,也可直接返回多个值(系统会将其自动封装成元组)
import random

def test ():
    # 生成三个随机的大写字符
    c1 = chr(random.randint(65,90))
    c2 = chr(random.randint(65,90))
    c3 = chr(random.randint(65,90))
    return (c1, c2, c3)
    # return r1, r2, r3

二、多返回值函数的用法

  • 获取多返回值函数的返回值时:
  • 即可用单个变量(元组)来获取
  • 也可用多个变量获取(元组解包)

三、递归函数

  • 函数体内调用它自身被称为函数的递归
  • 函数的递归包含了一种隐式的循环,他会重复执行某段代码,但这种重复执行无需循环控制
    递归函数
  • 注意点:
  • 向已知的方向递归
  • 让递归有结束的时候,不要无限递归
# 计算n的阶乘
def frac (n):
    if n < 1:
        print("n不能小于1")
        return
    elif n == 1:
        return 1
    else:
        return frac(n - 1) * n 

print(frac(5))  # 120
print(frac(6))  # 720

关键字参数与参数默认值

一、关键字参数

  • Python函数的参数名不是没有意义的,Python允许调用函数时通过名字来传入参数值
  • 调用函数时,支持两种方式为参数指定值:
  • 位置参数:必须按顺序为每个参数指定参数值
  • 关键字参数(命名参数):按参数名为参数指定参数值
def info (name, age, height):
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值