热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

全面解析Python中函数的定义与应用方法【Python入门指南】

本文将深入探讨Python中函数的定义与应用方法,帮助读者理解如何创建和调用函数,以实现代码的复用性和模块化。通过实例解析,初学者可以更好地掌握函数在实际编程中的运用。

一文搞懂Python中函数的定义与使用

函数的定义和调用

函数的定义:def作为函数定义的关键字,为了告诉python这是一个函数。

无参函数

def s():
    print("你好呀,祝你天天开心!")
s()

输出:

你好呀,祝你天天开心!

有参函数

函数调用时,将实参传递给形参

举例:

def person(name,age,add)://函数的定义
    print("名字是%s,%s的年龄是%d,%s的家庭住址是%s"%(name,name,age,name,add))
person(input("请输入你的名字"),int(input("请输入你的年龄")),input("请输入你的家庭住址"))
#函数的调用,形参实参的个数和类型必须保持一致

输出:

请输入你的名字易烊千玺
请输入你的年龄22
请输入你的家庭住址湖南怀化
名字是易烊千玺,易烊千玺的年龄是22,易烊千玺的家庭住址是湖南怀化

1:通过位置传递参数:仅通过位置关系将实参对应的形参联系起来,位置实参的顺序很重要

def person(name,age):
    print("%s的年龄是%s"%(name,age))
person(12,"Jason")//12对应name,age对应jason
person("Jason",12)

输出:

12的年龄是Jason
Jason的年龄是12

2:通过关键字传递参数:通过关键字将实参对应的形参联系起来,顺序不重要,因为python知道那个实参该赋给那个形参

举例:

def person(name,age):
    print("%s的年龄是%s"%(name,age))
person(age=12,name="Jason")
person(name="Jason",age=12)

输出:

Jason的年龄是12
Jason的年龄是12

带有返回值的函数

将函数的值返回给调用函数

举例:

def add(number1,number2):
    return number1+number2
print(add(12,23))
a=add(19,2)
print(a)

输出:

35
21

将函数返回值作为实参进行调用:

def add(number1):
    return number1+10
print(add(12))
a=add(19)
print(add(a))

输出:

22
39

默认值:给形参设定默认值,对应的实参可以不传递值,如果实参也有值,则对应的默认值会被覆盖。

def add(number1,number2=9):
    return number1+number2
print(add(12))
a=add(19)
print(a)

输出:

21
28

函数与循环结合

与while循环结合

def getSum(x):
//函数体
    sum = 0
    i = 1
    while i 

输出:

45
4950

与for循环结合

def getSum(x):
    i=1
    add=1
    for i in range(1,x):
       add*=i
    return add
print(getSum(10))

输出:

362880

函数的分类

内置函数和自定义函数

内置函数

python中已经规定好用来实现某些特定功能的函数

举例:

print(bool(2))//bool()函数用来查看数据的布尔值,非0返回True,0或返回False
print(abs(-10))//abs()函数用来取数据的绝对值
print(type(12))//type()函数用来查看变量的类型

输出:

True
10

自定义函数

通过编写函数体去实现自主想实现的功能。

举例:

def add(number1,number2,nmuber3):
    print(number1+number2+nmuber3)//打印三数之和
    print(number1 * number2 * nmuber3)//打印三数之积
    print(number1-number2-nmuber3)//打印数之差
add(10,2,7)

输出:

19
140
1

函数的嵌套调用

自定义函数与三目运算符结合:

def add(x,y):
    return x+y if x>y else x-y //三目运算符:如果x>y,则返回值为x+y,否则为x-y
print(add(1,3))
print(add(19,2))

输出:

-2
21

自定义函数的嵌套使用:

def add(a,b,c,d):
    max1=max(a,b)
    max2=max(max1,c)
    max3=max(max2,d)
    return max3
max_s=add(23,4,15,6)
print(max_s)

输出:

23

函数的嵌套定义

注意函数的定义语句和调用语句缩进必须保持一致。

def f1():
    print("你好!")
    def f2():
        print("希望你每天开心")
        def f3():
            print("好好学习,天天向上!")
        f3()
    f2()
f1()

输出:

你好!
希望你每天开心
好好学习,天天向上!

到此这篇关于一文搞懂Python中函数的定义与使用的文章就介绍到这了,更多相关Python 函数内容请搜索编程笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程笔记!


推荐阅读
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 本文基于刘洪波老师的《英文词根词缀精讲》,深入探讨了多个重要词根词缀的起源及其相关词汇,帮助读者更好地理解和记忆英语单词。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 在前两篇文章中,我们探讨了 ControllerDescriptor 和 ActionDescriptor 这两个描述对象,分别对应控制器和操作方法。本文将基于 MVC3 源码进一步分析 ParameterDescriptor,即用于描述 Action 方法参数的对象,并详细介绍其工作原理。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
author-avatar
mobiledu2502857697
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有