Python学习-函数

跟随小甲鱼up主学习Python——函数篇(1) 函数的主要功能:打包代码。好处:1.最大程度的实现代码的重复,减少冗余代码。2.可以将不同功能的代码进行封装、分解,从而降低结构的复杂度,提高代码的可读性。 创建和调用代码:用def来定义函数,调用时直接写函数名即可。 >>> def myfunc(): for i in range(3): print('i love fishc') >>> myfunc <function myfunc at 0x0000016F2DB... 阅读详情

十九、函数

1、创建和调用函数
#函数的定义,pass在日常的编程中用来占坑位

>>> def myfunc():
pass

#函数的调用

>>> myfunc()
 
>>> def myfunc():
for i in range(3):
print("I love you.")
 
 
>>> myfunc()
I love you.
I love you.
I love you.

2、函数的参数:通过函数的参数来实现功能的定制
#可定义其中的参数来修改变量

>>> def myfunc(name):
for i in range(3):
print(f"I love {name}.")
 
 
>>> myfunc("Python")
I love Python.
I love Python.
I love Python.

#可定义多个参数

>>> def myfunc(name,times):
for i in range(times):
print(f"I love {name}.")
 
 
>>> myfunc("Python",5)
I love Python.
I love Python.
I love Python.
I love Python.
I love Python.

3、参数的调用的角度分类:形式参数、实际参数
1)形式参数(形参):是函数定义的时候写的参数的名字,比如上面例子中的name、times
2)实际参数(实参):是在调用函数的时候传递进去的值,比如上面例子中的Python、5

4、函数的返回值-return:

>>> def div(x,y):
z=x/y
return z
 
>>> div(4,2)
2.0

#或者可以这么写

>>> def div(x,y):
return x/y
 
>>> div(4,2)
2.0

#除数不能为0,完善代码

>>> def div(x,y):
if y == 0:
return "除数不能为0!"
else:
return x/y
 
 
>>> div(4,2)
2.0
>>> div(4,0)
'除数不能为0!'

#只要执行了return语句,函数就会立刻马上直接的返回,不会理会后面是否还有其他语句

>>> def div(x,y):
if y == 0:
return "除数不能为0!"
return x/y
 
>>> div(4,2)
2.0
>>> div(4,0)
'除数不能为0!'

#如果一个函数我们没有通过return语句显示的来返回内容,那么它也会自己在执行完函数体中的所有语句之后,悄悄的返回一个none值。

>>> def myfunc():
pass
 
>>> print(myfunc())
None

5、函数的参数
1)位置参数:Python中位置固定的参数,调用时需要按参数的顺序输入

>>> def myfunc(s,vt,o):
return "".join((o,vt,s))
 
>>> myfunc("我","打了","小甲鱼")
'小甲鱼打了我'

2)关键字参数:

>>> myfunc(o="我",vt="打了",s="小甲鱼")
'我打了小甲鱼'

3)同时使用位置参数和关键字参数,需要注意顺序:位置参数必须在关键字参数之前

>>> myfunc("小甲鱼","打了",o="我")
'我打了小甲鱼'

4)默认参数:允许函数的参数在定义的时候就指定默认值,在函数调用时,如果没有传入实参,那么就将采用默认的参数值来代替,如果我们使用默认参数,就应该把他们摆在最后。

>>> def myfunc(s,vt,o="小甲鱼"):
return "".join((o,vt,s))
 
>>> myfunc("香蕉","吃")
'小甲鱼吃香蕉'
>>> myfunc("香蕉","吃","不二如是")
'不二如是吃香蕉'

5)help函数查看这个函数文档时,会在函数的原型中看到一个/,表示斜杠左侧的参数,它必须传递位置参数,而不能是关键字参数。
#abs是求绝对值的函数

>>> help(abs)
Help on built-in function abs in module builtins:
 
abs(x, /)
    Return the absolute value of the argument.
 
>>> abs(-1.5)
1.5
>>> abs(x=-1.5)
Traceback (most recent call last):
  File "<pyshell#51>", line 1, in <module>
    abs(x=-1.5)
TypeError: abs() takes no keyword arguments

#sum是求和函数

>>> help(sum)
Help on built-in function sum in module builtins:
 
sum(iterable, /, start=0)
    Return the sum of a 'start' value (default: 0) plus an iterable of numbers
    
    When the iterable is empty, return the start value.
    This function is intended specifically for use with numeric values and may
    reject non-numeric types.
 
>>> sum([1,2,3],4)
10
>>> sum([1,2,3],start=4)
10
 

#自己定义的函数也遵循这个规则

>>> def abc(a,/,b,c):
print(a,b,c)
 
 
>>> abc(1,2,3)
1 2 3
>>> abc(a=1,2,3)
SyntaxError: positional argument follows keyword argument
>>> abc(1,b=2,c=3)
1 2 3

#限制只能使用关键字参数的语法:利用星号,星号表示左侧既可以是位置参数,也可以是关键字参数;但是右侧的只能是关键字参数才不会报错。

>>> def abc(a,*,b,c):
print(a,b,c)
 
 
>>> abc(1,2,3)
Traceback (most recent call last):
  File "<pyshell#63>", line 1, in <module>
    abc(1,2,3)
TypeError: abc() takes 1 positional argument but 3 were given
>>> abc(1,b=2,c=3)
1 2 3
>>> abc(a=1,b=2,c=3)
1 2 3

6)收集参数:函数并不知道会传入多少个参数,定义收集参数只需要在形参的名字前面,加上一个星号来表示就可以了。实际上是利用了元祖的打包和解包的功能。如果在收集参数后面还需要指定其他参数,那么在调用函数的时候,就应该使用关键字参数来指定后面的参数。否则Python就会把实参纳入到收集参数中。

>>> def myfunc(*args):
print("有{}个参数。".format(len(args)))
print("第2个参数是:{}".format(args[1]))
 
 
>>> myfunc("小甲鱼","爱吃鱼")
有2个参数。
第2个参数是:爱吃鱼
 
>>> def myfunc(*args,a,b):
print(args,a,b)
 
>>> myfunc(1,2,3,a=4,b=5)
(1, 2, 3) 4 5
 

#将参数打包为字典:使用2个连续星号。

>>> def myfunc(**kwargs):
print(kwargs)
 
 
>>> myfunc(a=1,b=2,c=3)
{'a': 1, 'b': 2, 'c': 3}
 

#混合使用

>>> def myfunc(a,*b,**c):
print(a,b,c)
 
>>> myfunc(1,2,3,5,x=5,y=6)
1 (2, 3, 5) {'x': 5, 'y': 6}

#format函数是包含2种收集参数的函数

>>> help(str.format)
Help on method_descriptor:
 
format(...)
    S.format(*args, **kwargs) -> str
    
    Return a formatted version of S, using substitutions from args and kwargs.
    The substitutions are identified by braces ('{' and '}').

7)解包参数:在传递参数的时候可以使用*对参数进行解包,**对应的是关键字参数。

>>> args=(1,2,3,4)
>>> def myfunc(a,b,c,d):
print(a,b,c,d)
 
 
>>> myfunc(args)
Traceback (most recent call last):
  File "<pyshell#93>", line 1, in <module>
    myfunc(args)
TypeError: myfunc() missing 3 required positional arguments: 'b', 'c', and 'd'
>>> myfunc(*args)
1 2 3 4

#**是将字典给解包成关键字参数

>>> myfunc(*args)
1 2 3 4
>>> kwargs={'a':1,'b':2,'c':3,'d':4}
>>> myfunc(**kwargs)
1 2 3 4
【第九章 Python学习之函数Ⅰ】 如果生活不尽如人意,你是否幻想过学会Python。提示:以下是本篇文章正文内容,下面案例可供参考好啦,今天的函数内容就到这里,函数的内容有点多,我会全部都讲到的,细一点,所以会讲几章,慢慢学,不要急,一步一个脚印。最后,还是希望有人可以告诉我,他在看,他学到了什么,他哪里没看懂。而不是坐在后排不听课。 阅读详情

相关推荐

Appsflyer S2S事件上报实战:从参数获取到避坑指南(附Firebase对比)

本文详细解析了Appsflyer S2S事件上报的实战技巧,包括核心参数获取、测试环境搭建、生产环境最佳实践以及高级场景处理。通过对比Firebase的事件上报机制,帮助开发者高效避坑并优化数据上报流程,提升应用分析与营销效果。

egg99的博客 885

函数知识点学习

函数知识点学习

m0_54337262的博客 2287

LTspice进阶技巧-031.一键加密仿真模型:LTspice Encrypt Tool实战指南

本文详细介绍了LTspice Encrypt Tool的使用方法,帮助工程师一键加密LTspice仿真模型,保护知识产权。通过图形化界面简化操作流程,支持批量加密和兼容性处理,适用于电路设计中的模型保护需求。

weixin_28304023的博客 202

Python函数解析

关注【郑大钱呀】【公】【众】【号】,我们一起交流,一起学习。 文章目录什么是函数?自定义函数的语法语法解释:函数的用法函数的返回值匿名函数(lambda关键字)函数的不可变对象和可变对象结尾 什么是函数? 函数就是组织好的、可重复使用的,并实现相关功能的代码段,使用函数能够提高代码的重复使用率、也减少了代码量,提高了代码的可维护性。比如Python中的print()就是一个函数,只不过print()函数是Python自带的,我们称之为内置函数,Python的内置函数很多时候并不能满足我们的功能需求,所以我们

MicalChen的博客 2271

机理模型与数据模型融合的方式

风电场的发电量受到多种因素的影响,包括但不限于风速、温度、空气密度等。尽管这些环境变量可以直接测量并用作模型输入,但它们与发电量之间的关系往往是复杂的非线性关系。通过引入基于物理定律计算出的理论发电量作为额外特征,可以为数据驱动模型提供更丰富的信息,从而提高预测精度。在这个案例中,我们将使用贝茨理论(Betz Limit)来计算风电场的理论发电量,并将其作为一个新的特征添加到数据集中。然后,我们使用增强后的数据集训练一个简单的神经网络模型来进行发电量预测。

金石软件 4808

用 ABAP CDS 把树建起来:Hierarchy 的建模、调试与消费全流程

CDS Hierarchy 将树形数据结构作为一等公民引入 ABAP 开发,通过定义父子关联、根节点条件和兄弟排序规则,让数据库原生支持层级查询。相比传统递归处理方式,它能避免性能瓶颈,提供$node系统字段描述节点结构信息,并支持与SAP UI框架无缝集成。这种方法简化了组织架构、成本中心等业务场景的层级数据处理,使开发人员能够专注于业务逻辑而非底层实现。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 208

指针函数和函数指针的区别

1.指针函数指针函数是一个函数,函数的返回值是一个指针。格式如下: 类型标识符 *函数名(参数表) 如 double *myfunc(double x,double y); myfunc即为一个指针函数。 代码示例如下:pfunc.c #include&lt;stdio.h&gt; double *myfunc(double x,double y); int main()...

weixin_34306676的博客 197

【IC前端虚拟项目】spyglass lint环境组织与lint清理

和上个虚拟项目的lint清理环节一样,关于spyglass的lint清理功能与流程还是大家通过各种资料去学习下就好啦。和之前不同的事,这次的虚拟项目里我把流程封装为Makefile,更加的贴近了实际项目交付流程。而后就可以根据提示进行lint的清理工作了。

moon9999的博客 1886

Python函数基础

像def语句就无法出现在这样的环境中,如果真要使用def来声明函数,并保存到列表中,只能在L的外部使用def定义,然后将函数名来保存。匿名函数是指没有名称的函数,任何编程语言中,匿名函数都扮演着重要角色,它的功能非常灵活,但是匿名函数中的逻辑一般很简单,否则直接使用命名函数更好,匿名函数常用于回调函数、闭包等等。看下面嵌套在循环内部的函数,在每个迭代过程中都声明一个匿名函数,这个匿名函数返回循环控制变量i,同时将声明的匿名函数保存到列表L中。而函数是一种代码块,代码块是一个解释单元,是一个整体。

m0_59485658的博客 2157

【RBF预测】基于粒子群算法优化RBF神经网络实现数据回归预测含Matlab源码

1 简介 原油含水率预测对于确定油井水,油层位以及估计原油产量有着非常重要意义.BP神经网络是最近常用的原油含水率预测方法,然而,由于BP神经网络存在容易陷入局部极小值,收敛速度慢等问题,影响了其预测的实用性和准确性,对此,提出基于粒子群优化RBF神经网络(PSO-RBFNN)的原油含水率预测方法,粒子群优化算法用于RBF神经网络参数优化.在分析原油含水率预测的影响因素基础上,建立粒子群优化RBF神经网络的原油含水率预测模型.实验结果表明,在原油含水率预测中,基于粒子群优化RBF神经网络比BP神经网络有着

qq_59747472的博客 1235

基于八叉树的k近邻搜索

在八叉树中,每个节点都表示一个正方体的体积元素(体素),并且每个节点都有八个子节点(在不为空的情况下)。搜索最近邻点:一旦确定了查询点在八叉树中的位置,就可以开始搜索最近邻点了。搜索过程通常从查询点所在的叶节点开始,并逐步扩展到相邻的叶节点和父节点,直到找到k个最近邻点为止。k近邻搜索的目标是在给定的点云数据中,找到一个查询点的k个最近邻点。定位查询点:在搜索过程中,首先需要确定查询点在八叉树中的位置。返回结果:最后,搜索算法会返回找到的k个最近邻点的索引和它们与查询点之间的距离。

twnkie的博客 674

Python返回函数学习

返回函数,简单的说就是返回值是一个函数。返回的是函数,调用返回的函数的时候才会返回结果。

zhang120529的博客 945

AgentScope 2.0 API完全指南:构建企业级AI智能体应用的技术实践

本文系统梳理AgentScope 2.0框架的完整API体系,涵盖智能体核心引擎、统一模型适配层、工具系统、消息协议、权限控制与工作空间管理等七大核心模块。通过深入的源码级分析与架构图示,详细解读Agent类的推理-行动循环、ChatModelBase的多模型抽象、Toolkit的工具管理机制、ContentBlock的多模态内容表达、PermissionEngine的安全决策流程,以及Local/Docker/E2B三种工作空间实现。文章还提供了智能客服系统的完整实战案例,展示从自定义工具开发到流式服务部

program哲学 476

Python入门学习笔记:Python函数

使用def 语句定义一个函数a语法# 函数体# 进行一些操作return result # 可选的返回值说明用于声明一个函数,告诉 Python 这是一个函数的定义。函数名,一个有效的标识符,规则和变量名一致。形参,可以是0 ~ n 个,参数之间用逗号分隔。定义函数执行的具体操作。指定函数的返回值,没有则返回None。return之后的代码不会执行。示例# 定义一个 lambda 函数,接收两个参数 a 和 b,返回它们的和​print(add(3, 5)) # 输出: 8。

PQI_JiXian的博客 1775

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

python函数参数学习_Python学习新手要学习的Python函数和函数参数

今天小编要跟大家分享的文章是关于Python学习新手要学习的Python函数和函数参数。正在学习Python的小伙伴们来和小编一起看一看吧,希望能够对大家有所帮助。问题一:什么是函数?函数有什么作用?#函数函数使用时时:函数名(参数)print(‘xxx’)input(“xxx”)#关键字关键字使用:关键字名python表达式del li[0]if条件语句#方法:方法的使用:对象.方法名(参数)l...

weixin_39991055的博客 350

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【Python学习】函数

函数无疑是程序设计中极其重要的一部分,它第一次提出了封装的概念,将一定的功能进行封装以便于使用,这无疑是需要让人非常理解的部分。虽然Python不像C++与Java一样以构造函数为主体的方式进行程序编译。但其依然不可小觑。本篇笔记直接从面向对象的角度学习函数。

qq_62906846的博客 405

Python之函数学习笔记

基于这种定时,在任何情况下都必须要给pet_name提供实参,在指定该实参时,可以用位置实参(describe_pet('huanle'))也可以用关键字实参(describe_pet(pet_name='huanle')。在调用函数时,我们将要让函数使用的信息放在括号内,greet_user('Tom')这个例子中,我们将实参‘Tom’ 传递给函数greet_user(),这个参数赋给了形参。如果调用函数中给形参提供了实参,Python将使用指定的实参值,否则,将使用形参的默认值。是传递给函数的名值对。

qq_35183814的博客 594

Python函数学习

以下主要内容是Python函数的学习总结,供各位小伙伴参考。

zhangliushi的博客 637

python机器学习_预测函数_激活函数_损失函数

#------------------------------------------------------------------------------- # Name: 机器学习 # Purpose: # # Author: 赵正正 # # Created: 09/11/2020 # Copyright: (c) 赵正正 2020 # Licence: <your licence> #-----------------------------.

smartvxworks的博客 824

Python基础语法之学习print()函数

在AI+时代,编程已不是程序猿、攻城狮的专属属性,而是一个工具,或是一种技巧,本质上跟Word、PPT没啥区别。如果大家现在想掌握一门编程技能的话,那一定是 Python, 因为它既简洁高效,又能快速入门上手。本文将从Python基础语法中的print()函数开始学习,带领大家轻松入门Python。

2201_75362610的博客 7923

Python函数学习心得

Python函数学习心得 函数这一块的话我感觉能做笔记的不多(可能因为我才入门的原因),那就只说一下我的学习方式或者说是学习感想; 我感觉函数这一块重点在于要动手去练,只有在自己去写的过程中才能发现自己具体哪里有问题,**同时最重要的一点是:需要明白所要定义的函数的逻辑;**只要弄清楚逻辑,其他的基本上都没有什么大问题;我是从简单的开始练手,比较有难度的先读懂他的逻辑,再去照猫画虎的练习,只要明白了本质,就不难理解;至于很多细节和一些特殊的函数规则,我还需要继续学习才能掌握,这篇笔记就是一个纯纯的学习分享。

taotaoaiqinqin的博客 4014

Python学习之函数

一、前言 在学习函数之前,需要明白为什么要学习函数? 首先有这么一段代码: 代码1: print("Hello!World!") print("Hello!World!") print("Hello!World!") print("Hello!World!") print("Hello!World!") print("Hello!World!") 代码2: def fun(): print("...

qq_41734243的博客 902

【Python学习】Python常用的内置函数学习

本文介绍了函数的概念以及python中常见的内置函数。

2301_78695487的博客 834

partial函数-python学习

partial函数-python学习

u014765410的博客 224

Python函数学习笔记

1. 函数的概念 函数概念 在编写程序时,需要多次使用某一块代码,同时为了提高程序的效率和简洁性,把这些具有独立功能的代码构成一个小模块。 2. 定义函数 无返回值,我参数传递的函数 # 函数定义 def printinfo(): print('-'*20) print('人生苦短,我用Python') print('-'*20) # 函数调用 printinfo() -------------------- 人生苦短,我用Python ----------------

FOR.GET 1089

Python学习流水账Day5——有关Python中的函数

不是用来教学的,上班没劲,主打一个本科毕业没竞赛没技术证一般路过路人,感觉停下学习的日子有焦虑症和死感,遂写点学习日记流水账来维持脑子一般性生命活动(?。五补:第五天了(一个爬去上班的星期一Python操作基础内容自己在编写程序时,有些在特定场景下需要多次使用的代码没有特定的内置函数去实现,这时候就可以自己定义一个函数来使用。定义一个命名函数print("早八人!早上好!")函数名最好是体现函数功能的词由字母、下划线、数字组成,且不能以数字开头不与关键词重名,且不出现除了下划线以外的特殊符号。

今天也在乱爬的博客 2290
上一篇: Python学习-集合
下一篇: AI - AI工作原理及核心机制
Lizzy_Fly
博客等级 码龄5年 262粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值