码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 定义函数(简单介绍)-def


    在这里插入图片描述

    定义

      函数使用关键字 def,后跟函数名与括号内的形参列表。
      函数语句从下一行开始,并且必须缩进。

    # 定义一个函数,不包含任何操作或返回值 通常用于占位或作为将来扩展用
    def do_nothing():
        pass 
    
    • 1
    • 2
    • 3
    def greet(name):#定义一个打招呼的函数
        return f'Hello,{name}!'
    message = greet('Alice')
    
    • 1
    • 2
    • 3
    # 默认参数值
    # 默认参数值可以被修改。当你定义一个函数并给某个参数设置默认值时,这个默认值可以在函数内部被修改。
    def greet(name,greeting='Hello'):
        return f'{greeting},{name}!'
    message = greet('Bob')
    print(message)
    message = greet('Scott','Hi')
    print(message)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    # 不定参数
    def sum_numbers(*args):
        total = 0
        for i in args:
            total += i
        return total
    
    result = sum_numbers(1,2,3,4,5)
    print(result)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    # 递归函数  计算阶乘
    def factorial(n):
        if n == 0:
            return 1
        else:
            return n * factorial(n-1)
    
    print(factorial(5))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    # 斐波那契数列
    def fib(n):
        a, b, = 0, 1
        while a <n:
            print(a,end=' ')
            a,b = b,a+b
    f = fib
    f(3)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    # 通过列表返回斐波那契数列
    def fib2(n):
        result = []
        a, b, = 0, 1
        while a <n:
            result.append(a)
            a,b = b,a+b
        return result
    print(fib2(100))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    【动画进阶】单标签下多色块随机文字随机颜色动画
    南大通用数据库-Gbase-8a-学习-16-Gbase8a到Gbase8a的集群同步工具RSync
    SpringBoot SpringBoot 开发实用篇 6 监控 6.2 SpringBoot Admin
    对计算思维的培养
    swagger 依赖及应用
    【力扣每日一题】2023.10.13 避免洪水泛滥
    软件工程与计算总结(十三)详细设计中的模块化与信息隐藏
    Linux命令行技巧
    【题型总结】使用双指针+哈希表寻找符合某种条件的字符串/数字的个数
    AutoSAR入门到精通讲解-总目录
  • 原文地址:https://blog.csdn.net/Snailandfish/article/details/134278381
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号