• Python 函数


    函数及其调用 

    什么是函数 

    • 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
    • 函数能提高应用的模块性,和代码的重复利用率。 

    print()hex() 这些都是函数

    函数的调用非常简单,只要函数名(参数)

    这里要注意一点:参数一定要符合函数定义时的入参,对于Python中提供的函数,可以使用help(函数)来查看相关调用时的相关说明,如help(hex)

    Python中,万物皆对象,也就意味着函数名也是指向一个函数对象的引用,我们可以把函数名赋给一个变量,相当于给这个函数起了一个别名 

    p = print
    p(123)

    自定义函数 

    定义函数的基本结构 

    def 函数名(入参):
        函数逻辑
        return

    自定义一个求原型面积的函数

    PI = 3.14
    
    def circle_area(r):
        return PI * r **2
    
    print(circle_area(2))

    自定义空函数

    def empty_fun():
        pass
    
    print(empty_fun())

    让函数返回多个值

    #直接在函数里把多个返回值按一定顺序放到list、tuple里
    def my_fun():
        return [1, 2, 3]
    
    #多个返回值以key-value的形式放在字典(dict)里
    def my_fun():
        return {"x": 1, "y": 2, "z": 3}
    
    #在return 的时候直接返回多个逗号分隔的值,在返回的时候,也可以直接用多个变量接收
    def my_fun():
        return val1, val2, val3
    
    x, y, z = my_fun()

    核心注意点:返回多个参数时,如果想一次性用多个变量接收,那么有多少个返回值就得有多少个变量接收。

    其实返回多个值 ,本质上返回的是一个元组

    def my_fun():
        return 1, 2, 3
    
    print(type(my_fun()))

    递归 

    使用递归,做阶乘运算 

    def factorial(n):
        if n == 1:
            return 1
        else:
            return n * factorial(n-1)
    
    print(factorial(5))

    使用递归实现求斐波那契数列第n项的值

    def feb(n):
        if n < 3:
            return 1
        else:
            return feb(n - 1) + feb(n - 2)
    
    print(feb(6))

    python 中有最大的递归层级,可使用如下代码获取最大层级

    import sys
    
    print(sys.getrecursionlimit())
    
    输出结果:1000
  • 相关阅读:
    HDU 1059 Dividing(多重背包)
    新华网,要厚道
    js与DOM初步:访问html元素
    Hacker News网站的文章排名算法工作原理
    做技术,是个精益求精的事情
    百度贴吧客户端(Android)网络通信行为分析
    Storm同时接收多个源(spout和bolt)
    各种流处理系统的比较
    Kafka学习
    关联规则推荐及Apriori算法
  • 原文地址:https://www.cnblogs.com/jwen1994/p/13124273.html
Copyright © 2020-2023  润新知