理解python函数和方法

理解类方法和静态方法:Python 中的高级函数 类方法通过装饰器定义。它的第一个参数是类本身,允许我们在方法中访问类的属性和方法。需要访问或修改类属性。作为工厂方法(factory method),用于创建类的实例。静态方法通过装饰器定义。它不需要任何特定的参数,因此可以被视为类的普通函数。封装与类相关的功能,但不需要访问类或实例的属性。提供一些工具函数,增强类的功能。类方法和静态方法是 Python 中非常有用的特性,它们提供了灵活的方式来管理类的行为和功能。类方法允许我们访问和修改类属性,适合用于工厂方法和类级别的操作; 阅读详情

什么是函数?

函数是抽象出的一组执行特定功能的重复代码,通俗理解,就是对一些重复的工作进行封装和然后直接调用,避免重复造轮子。

Python中的函数如何定义?

使用def关键字,结构如下:

def 函数名(参数列表):
    函数体
    return语句(可省略)

其中return 语句表示函数的结束,在函数内部return语句后的语句不会执行,return关键字后面客户以跟变量,表达式等表示向函数调用方的返回值,也可以不加变量或者直接省略return语句,表示向函数调用方返回None对象。

函数如何调用?

调用方法:函数名加括号,括号里传入参数列表,如下所示:

def fun(a):
    print(a)



执行结果
>>> fun(3)
3

函数的参数有几种类型?

函数的参数按照传入的要求和数量、类型的不同,一般分为以下几种:

1.位置参数(必选参数)

def fun(arg1,arg2,arg3):
    pass

位置参数是最常见的参数类型,如上图所示,arg1,arg2,arg3是三个位置参数,顾名思义,在调用时必须严格按照定义的位置顺序传入参数,否则会造成结果错误甚至报错。

2.默认参数

如果某个参数的值大部分情况下都为某一特定的值,为调用方便,可为其设默认值,在调用时如果该参数取默认值,可不用传入该参数,如下所示:

def fun(name,college="NEU"):
    print(name,"graduated from",college)
执行结果
>>> fun("I")
I graduated from NEU

注意:

  • 函数定义时,默认参数必须在必须参数(没有默认值的)之后,

  • 默认参数必须指向不可变对象(即为其赋的值必须是不可变对象),才可保证每次执行时默认参数的值相同。

  • 默认参数可以简化函数的调用,也可提高函数更新(增加新参数)后的向下兼容性,即为新增加的参数设置默认值从而不用改写原来函数的调用方式。

3.可变参数

“可变”指的是传入的参数个数可变,可变参数在定义时使用” *args "(args可改为任意变量名),调用时可传入任意数量的参数,会自动组装成元组,由args变量名指向。如下所示:

def fun(*args):
    print(agrs)

执行结果
>>> fun(1,2,3)
(1, 2, 3)

4.关键字参数

所谓关键字参数,即为在传入时必须指明参数名和参数值,即以“参数名=值 ”的形式传入参数

和可变参数类似,关键字参数支持传入任意个数的参数,区别是传入的必须是关键字参数,在执行时于自动将传入的关键字参数组装成字典,关键字参数在定义时使用" **kwargs " 亦可换成其他变量名,指向组装好的字典),如下所示:

def fun(**kwargs):
    print(kwargs)


执行结果
>>> fun(a=1,b=2)
{'a': 1, 'b': 2}

5.命名关键字参数

关键字参数不会限制关键字参数的名字,不利于参数名的检查,命名关键字能指定传入的关键字参数的名称,如果传入得关键字参数名称不符,将会报错。和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符*,后面的参数被视为命名关键字参数。定义的格式为“,参数名1,参数名2“。如下所示:

def fun(*,a,b):
    print("success")

    
>>> fun()
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    fun()
TypeError: fun() missing 2 required keyword-only arguments: 'a' and 'b'
>>> fun(a=1)
Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    fun(a=1)
TypeError: fun() missing 1 required keyword-only argument: 'b'
>>> fun(a=1,b=2)
success

如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了(命名关键字在定义时亦可设默认值):

def person(name, age, *args, city, job="SE"):
    print(name, age, args, city, job)

以上几种参数在函数定义时,按何种顺序?

参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
  
函数和方法的区别?

函数和方法本质上没有不同,一般来说类中定义的函数叫方法,其他情况下都叫函数。
  

基于CNN网络的轴承故障诊断 内容参考:《基于卷积神经网络的轴承故障 诊断算法研究》–张伟 代码参考: https://github.com/AaronCosmos/wdcnn_bearning_fault_diagnosis 1 背景: 基于信号处理的特征提取+分类器的传统智能诊断算法,对专家经验要求高,设计耗时且不能保证通用性,已经不能满足机械大数据的要求。提出使用基于卷积神经网络智能诊断算法来自动完成特征提取以及故障识别。 1.1 挑战 机电产品故障诊断面临的挑战,有三大特点: (1)数据量大,专业分析人员的数量严重不足,仅依靠人 阅读详情

相关推荐

银河麒麟V10系统下,手把手解决Ollama安装报错‘GLIBCXX_3.4.25 not found’

本文详细介绍了在银河麒麟V10系统下解决Ollama安装报错‘GLIBCXX_3.4.25 not found’的实战指南。通过隔离编译新版libstdc++、环境变量引导和服务化封装等安全方案,确保在不破坏系统稳定性的前提下顺利运行Ollama,适用于国产操作系统与AI工具的兼容性需求。

weixin_42556197的博客 484

Python中的函数(function)与方法(method)

Python中的函数(function)与方法(method)判断是函数(function)还是方法(method)inspect.ismethod() 与 inspect.isfunction() 在编程语言中有两个很基础的概念,即方法(method)和函数(function)。 除去入参、返回值、匿名函数之类的正确的形式内容之外, 我们一般都会这样说:“函数就是定义在类外面的,而方法就是定义在类里面的,跟类绑定的” 深究一下 判断是函数(function)还是方法(method) 在标准库inspect

沉觞的博客 5937

保姆级教程:手把手教你用CANoe/CANalyzer读取汽车故障码(UDS 0x19服务实战)

本文提供了一份详细的CANoe/CANalyzer使用教程,指导如何通过UDS 0x19服务读取汽车故障码。从硬件配置到报文构建,再到故障码解析,手把手教你完成汽车诊断全流程,特别适合汽车电子工程师和诊断开发人员。

weixin_42524945的博客 263

Python学习笔记(5)——函数

Python学习笔记(函数,参数)

BKXjilu的博客 615

为什么桥式传感器(Bridge Sensor)需要用到仪表放大器?

仪表放大器在桥式传感器的应用里起到关键作用,本文介绍桥式传感器的原理、特性,以及信号调理过程,并附上了一个 TINA - TI 的仿真电路。

疯狂的运放 1528

现代 AI Agent 编排技术全景(1)—— 分类体系与四大技术维度

本文介绍基于 LLM 的现代 Agent 分类体系与四大技术维度,形成能够刻画不同 Agent 产品架构特征的分类法

佚失的诗篇 238

Python——函数/方法

1.函数 •所谓函数,就是把 具有独立功能的代码块 组织为一个小模块,在需要的时候调用; •函数的使用包含两个步骤: 1.定义函数 —— 封装 独立的功能;2.调用函数 —— 享受 封装 的成果; •函数的作用,在开发程序时,使用函数可以提高编写的效率以及代码的 重用 2.函数的参数:函数(参数) 2.1函数参数的使用 •在函数名的后面的小括号内部填写 参数 •多个...

guo_qingxia的博客 4204

手把手教你搞定6脚三位一体数码管的驱动(附C语言源码与Visual Studio调试技巧)

本文详细解析了6脚三位一体数码管的驱动原理与实战技巧,包括引脚复用、动态扫描时序、Visual Studio模拟调试及单片机实现。通过C语言源码示例和调试技巧,帮助开发者快速掌握非标准数码管的驱动方法,提升硬件开发效率。

weixin_30613727的博客 593

Python 函数和方法

Python 函数和方法

sankgao 的博客 4472

KEPServerEX作为MQTT客户端

打开软件: 测试没有连接上MQTT代理。

低码开发 1682

4.4 直流无刷电机(BLDC):控制器硬件设计

摘要 本文详细阐述了直流无刷电机(BLDC)控制器的硬件设计要点。控制器硬件主要包括微处理器单元、功率驱动模块、信号检测电路、通信接口和电源管理模块。在微处理器选型方面,分析了ARM Cortex-M系列、DSP等架构的适用场景,并对比了不同处理器的性能参数。功率驱动模块设计重点包括栅极驱动电路、逆变桥热管理和电流保护机制。信号检测部分介绍了位置传感器接口和模拟信号调理技术。此外,还讨论了通信接口设计、电源管理方案以及硬件布局与EMC设计规范。最后强调了硬件测试验证的重要性,包括故障注入测试等验证方法。整体

技术工作者 185

【Python 小白篇】Python 中的函数与方法

在 Python 中,函数(function)和方法(method)是两种核心编程概念。尽管它们看起来都是可调用的代码块,但它们的定义、调用方式和作用域有着本质区别。理解这些差异是掌握 Python 的基础。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 1559

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python方法和函数的解释_理解Python函数和方法

什么是函数?函数是抽象出的一组执行特定功能的重复代码,通俗理解,就是对一些重复的工作进行封装和然后直接调用,避免重复造轮子。Python中的函数如何定义?使用def关键字,结构如下:def 函数名(参数列表):函数体return语句(可省略)其中return 语句表示函数的结束,在函数内部return语句后的语句不会执行,return关键字后面客户以跟变量,表达式等表示向函数调用方的返回值,也可以...

weixin_39955781的博客 132

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

混淆概念详细解析:Python中类、对象、方法、函数和属性的区别和理解

Python中类、对象、方法、函数和属性的区别和理解前言一、类、对象、方法、函数和属性的区别和理解二、一个类的简单案例和对各种概念的理解 欢迎学习交流: zengf.hou@bit.edu.cn 前言 相信很多刚刚初学 python 的朋友几乎都会被类、对象、方法、函数和属性等概念搞得云里雾里,如果没有人点播,其实理解这些概念还是会有些困难的,下面笔者把自己对这几个概念的理解分享给大家,希望对初学者有所帮助! 一、类、对象、方法、函数和属性的区别和理解 类: 采用 Class 作为关键字进行定义的代码块,

Zephyr Hou 的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

python方法和函数的解释_python函数重写怎么理解

在自定义类内添加相应的方法,让自定义类创建的实例能像内建对象一样进行内建函数操作,这就是函数重写。对象转字符串函数:repr(obj) ,返回一个能代表此对象的表达式字符串,通常eval(repr(obj)) == obj (这个字符串通常是给python解释执行器运行用的),str(obj) 通过给定的对象返回一个字符串(这个字符串通常是给人阅读的)。对象转字符串函数的重写方法:repr(o...

weixin_39743622的博客 245

python函数和方法概念_python函数概念理解

函数是可以实现一些特定功能的小方法或是小程序。在Python中有很多内建函数,当然随着学习的深入,我们可以学会创建对自己有用的函数。简单的理解下函数的概念,就是我们编写了一些语句,为了方便使用这些语句,把这些语句组合在一起,给它起一个名字。使用的时候只要调用这个名字,就可以实现语句组的功能了。Python内建函数是什么?python系统中自带的一些函数就叫做内建函数,比如:dir()、type()...

weixin_39975122的博客 99

python系列之:深入理解函数、方法以及函数和方法的区别

python函数和方法的区别 from types import MethodType,FunctionType class Dog(object): def fetch(self): pass #当函数调用 #Dog.fetch() print(Dog.fetch) print(isinstance(Dog.fetch,MethodType)) print(isinstance(Dog.fetch,FunctionType)) dog = Dog() #dog.fetch(

zhengzaifeidelushang的博客 337

python 函数、类、类方法、类静态方法梳理和理解

python 函数、类、类方法、类静态方法梳理和理解 1.函数和类 理解 函数就是一个function;输入对应的参数,给出对应结果,不涉及实例化 类是面向对象,是以一种抽象方式,代码会更加简洁、易读,复用性好,使用的时候需要实例化; 2.类实例方法、类方法和静态方法的理解 概念: 1)类实例方法就是每个类里面的函数,第一个参数都是self(约定,非python关键词),代表类本身; 2)类方法需要使用@classmethod来进行注释;第一个参数都是cls(约定,非python关键词),代表类本身; 3)

QQ1131221088的博客 605

Python中类、对象、方法、函数和属性的区别和理解

类(Class)是一种抽象的概念,是对一类事物的描述。例如,我们可以定义一个“学生”的类,其中包含有关学生的信息(如姓名、年龄、成绩等)和行为(如学习、考试等)。 对象(Object)是类的一个实例,即具体的一个学生。在 Python 中,可以通过调用类来创建一个对象。 方法(Method)是类中的函数,用于描述类的行为。例如,我们可以定义一个“学习”的方法,表示学生的学习行为。 函数(Funct...

weixin_35755434的博客 1136

python中的类和对象属性和方法_Python中类、对象、方法、函数和属性的区别和理解...

前言相信很多刚刚初学 python 的朋友几乎都会被类、对象、方法、函数和属性等概念搞得云里雾里,如果没有人点播,其实理解这些概念还是会有些困难的,下面笔者把自己对这几个概念的理解分享给大家,希望对初学者有所帮助!一、类、对象、方法、函数和属性的区别和理解类: 采用 Class 作为关键字进行定义的代码块,表示的是一种类别对象: 实例化之后的类,对类中的形参进行了赋值,赋予其真正的含义或数值方法:...

weixin_36371053的博客 2563

Python 中的函数装饰器:理解 @property、Getter 和 Setter 方法

这使得该属性更难直接访问,尽管它仍然不是完全私有的 - python 在内部通过在属性前面加上 _classname 来重命名该属性,使其只能通过其损坏的名称(例如 _product__price)进行访问。在许多编程语言中,私有变量用于确保对象内的敏感数据在未经适当授权的情况下无法直接访问或修改,从而保留给定对象的完整性。在此示例中,getter (get_price()) 和 set_price()) 提供了一种访问和修改 _price 属性的方法,同时执行某些规则(例如确保价格不为负)。

withkai44的博客 1723

python的init函数怎么理解_Python学习笔记 如何理解__init__方法和self参数

学习Python的朋友肯定会经常接触到init方法和self参数,那么Python中的init方法和self参数分别指的是什么?又有什么意义呢?Python学习笔记 如何理解init方法和self参数init方法init是在类创建的时候自动被执行的,这个函数在定义类的时候默认已经存在。init()方法意义重大的原因有两个。第一个原因是在对象生命周期中初始化是最重要的一步;每个对象必须正确初始化后才...

weixin_39634443的博客 546

Python 模块里函数的调用方法和import语句的作用(适合初学者理解函数的调用)

一、五种函数调用方法(不够准确、全面,但初学者可以先这样理解):一是自建函数位于builtins模块中的函数,可直接调用。具体有那些函数?可通过dir(__builtins__)查看,共计152个(‘len(dir(__builtins__))’)。二是通过"import 模块"调用。如:import Boob,调用Boob模块中的函数(如toch时),使用方式是Boob.toch(),Boob....

退休大叔学Pytnon 9816

深入理解Python中的魔术方法和dir()函数

类似__xxx__的属性和方法在Python中都是有特殊用途的,比如__len__方法返回长度。在Python中,如果你调用len()函数试图获取一个对象的长度,实际上,在len()函数内部,它自动去调用该对象的__len__()方法,所以,下面的代码是等价的。

weixin_44943389的博客 113

python中关于列表的一些内置方法(函数)和操作(部分需要理解的会给出例子)

python中关于列表的一些内置方法和操作 list.append(x) 将添加到列表尾部 list.extend(L) 将列表L中所有元素添加至列表尾部 list.insert(index,x) 在列表指定的位置index处添加元素x (注意index从0开始) list.remove(x) 删除列表中第一个出现的元素x list.pop(index) 删除并返回指定位置index的元素 (注意index从0开始) list.clear() 清空列表,即操作后剩下一个空列表 list.index(x)

weixin_46566957的博客 788
上一篇: 使用matplotlib绘制3D函数图像
下一篇: 理解迭代器和可迭代对象
python-花猫
博客等级 码龄7年 105粉丝 179原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值