热门标签 | 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 函数内容请搜索编程笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程笔记!


推荐阅读
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文详细介绍 Go+ 编程语言中的上下文处理机制,涵盖其基本概念、关键方法及应用场景。Go+ 是一门结合了 Go 的高效工程开发特性和 Python 数据科学功能的编程语言。 ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 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社区 版权所有