IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python之函数 -> 正文阅读

[Python知识库]Python之函数

目录

1.定义函数

2.调用函数

3.函数参数

4.参数的传递方式

5.函数的返回值

6.函数说明文档

7.函数嵌套(函数中调用函数)

8.变量的作用域

9.lambda表达式(匿名函数)


前言:

函数和方法的区别:方法需要对象去点,如:obj.test();函数是直接调用,如:test()

1.定义函数

注意:①不像Java,Python中没有修饰符,但需要关键字def

②不需要指定返回类型,可以具备返回值

③没有重载

# 函数定义
def 函数名():
    代码块

2.调用函数

注意:①在Python中,函数必须先定义,后调用

②每个函数都具备一个返回值,当没有给定返回值时,返回值默认为None,相当于Null

# 函数调用
函数名()

例如:test()

--test 和 test() 的区别:test 是函数,test() 是函数的返回值。

3.函数参数

# 有参函数的定义
def  函数名(参数名1,参数名2):
    代码块

有参函数的调用:参数名(参数值1,参数值2)

注意:①形参:参数名1,参数名2;实参:参数值1,参数值2

②有默认值的参数必须在最后,代码如下所示:

def fn1(b:int,a:int=2):
    pass

4.参数的传递方式

① 位置参数:
?? ?调用函数时根据函数定义的参数位置来传递参数
?? ?注意:传递和定义参数的顺序及个数必须一致
② 关键字参数:
?? ?函数调用,通过“健=值”形式加以指定
③ 缺省参数:
?? ?默认参数,用于定义函数时,为参数提供默认值,调用函数时可不传该默认参数的值
④?不定长参数【可变参数】? ??用于:调用时不确定参数的个数
? ? --包裹位置传递:函数返回值为元组

# 语法
def ?函数名(*args):
    代码块

? ? --包裹关键字传递:函数返回值为字典 ??

# 语法
def 函数名(**kwargs):
    代码块

5.函数的返回值

①返回单个值

# 语法
def 函数名(参数名1,参数名2):
    return 结果

# 调用
变量名 = 函数名(参数值1,参数值2)

②返回多个值

# 语法
def 函数名(参数名1,参数名2):
    return 结果1,结果2

6.函数说明文档

注意:函数的说明文档,建议对参数和返回值做说明

# 语法
def 函数名(参数):
    """函数的说明文档内容"""
    函数体
    return 返回值

# 使用
help(函数名)

例如:

def test(a:int,b:int):
    """
    对两个数字进行增加操作
    :param a: 第一个
    :param b: 第二个
    :return: 什么都不返回
    """
    pass
help(test)

控制台结果如下:这样既方便调用的人知道参数的类型,也可以提醒自己

7.函数嵌套(函数中调用函数)

例如:斐波拉契数列:1 1 2 3 5 8 13 21 ......

def fb(n:int):
    if n==1 or n==2:
        return 1
    return fb(n-1)+fb(n-2)


# 调用,显而易见,结果为3
print(fb(4))

8.变量的作用域

①局部变量
?? ?在函数体内部
②全局变量
?? ?在函数体外
③在函数体中修改全部变量的值
? ? --错误做法:
?? ??? ?在函数体中,直接使用 全局变量名 = 新值
?? ??? ?注意:这种做法,只是重新声明了一个局部变量,变量的名字和全局变量一样,但是修改不了全局变量的值
? ? --正确做法:
? ? ? ? (1)声明全局变量
?? ??? ??? ?global 变量名
? ? ? ? (2)修改全局变量的值
?? ??? ??? ?变量名 = 变量值

9.lambda表达式(匿名函数)

如果一个函数有一个返回值,并且只有一句代码,可以使用lambda简化

①语法:参数可以省略
?? ?变量名 = lambda 参数列表:表达式/返回值
②参数形式:
?? ?无参数
?? ?一个参数
?? ?默认参数
?? ?可变参数:*args、**kwargs
③带判断的lambda:
?? ?返回值中使用 三元运算符
④列表内字段数据进行排序:

# 语法
# 升序
列表.sort( key = lambda x:x['排序的列'])
# 降序?? ??? ?
列表.sort( key = lambda x:x['排序的列'],reverse=True)
?? ??? ??? ?

今天的学习记录就到这了,拜拜!

说明:学习记录,若有错误,欢迎指正,若有疑问,欢迎评论

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-01 20:33:48  更:2022-02-01 20:35:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:41:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码