zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    终于搞明白Unicode,ASCII,UTF8,UCS2编码是啥了
    在IDEA中构建Tomcat项目流程
    在执行jar包时如何使用调优参数
    在浏览器运行JS脚本实现博客园文章批量删除
    线索二叉树之初步剖析(献给那些想形象思考二叉树遍历过程的人)
    二分查找c++实现
    c++学习之初话 函数指针和函数对象 的因缘
    继承与动态内存分配
    C++入门之初话多态与虚函数
    c++入门之类继承初步
  • 原文地址:https://www.cnblogs.com/jwen1994/p/13124273.html
Copyright © 2011-2022 走看看