首页 > 其他分享 >函数

函数

时间:2024-04-03 15:14:31浏览次数:18  
标签:传参 函数 形参 参数 def 定义

pycharm相关设置

“代码自动完成”时间延时设置

File -> Settings -> Editor -> General -> Code Completion -> Autopopup in (ms):0

快捷键:

Ctrl + P 参数信息(在方法中调用参数)
Ctrl + Q 快速查看文档
Ctrl + Alt + M 提取方法

定义

  1. 用于封装一个特定的功能,表示一个功能或者行为。
  2. 函数是可以重复执行的语句块, 可以重复调用。

作用

提高代码的可重用性和可维护性(代码层次结构更清晰)。

定义函数

语法:

def 函数名(形式参数):
     函数体

说明:

  • def 关键字:全称是define,意为”定义”。
  • 函数名:对函数体中语句的描述,规则与变量名相同。
  • 形式参数:方法定义者要求调用者提供的信息。
  • 函数体:完成该功能的语句。

函数的第一行语句建议使用文档字符串描述函数的功能与参数。

调用函数

  1. 语法:函数名(实际参数)
  2. 说明:根据形参传递内容。

返回值

定义:

方法定义者告诉调用者的结果。

语法:

return 数据

说明:

return后没有语句,相当于返回 None。
函数体没有return,相当于返回None。

可变/不可变类型在传参时的区别

1.不可变类型参数有:

数值型(整数,浮点数,复数)
布尔值bool
None 空值
字符串str
元组tuple
固定集合frozenset

2.可变类型参数有:

列表 list
字典 dict
集合 set

3.传参说明:

不可变类型的数据传参时,函数内部不会改变原数据的值。
可变类型的数据传参时,函数内部可以改变原数据。

函数参数

实参传递方式argument

位置传参

定义:实参与形参的位置依次对应。

序列传参

定义:实参用*将序列拆解后与形参的位置依次对应。

关键字传参

定义:实参根据形参的名字进行对应。

字典关键字传参

1.定义:实参用将字典拆解后与形参的名字进行对应。

2.作用:配合形参的缺省参数,可以使调用者随意传参。

形参定义方式parameter

缺省参数

1.语法:

def 函数名(形参名1=默认实参1, 形参名2=默认实参2, ...):
函数体

2.说明:

缺省参数必须自右至左依次存在,如果一个参数有缺省参数,则其右侧的所有参数都必须有缺省参数。
缺省参数可以有0个或多个,甚至全部都有缺省参数。

位置形参

语法:

def 函数名(形参名1, 形参名2, ...):
函数体

星号元组形参

1.语法:
def 函数名(*元组形参名):
  函数体
2.作用:
收集多余的位置传参。
3.说明:
一般命名为'args'
形参列表中最多只能有一个

命名关键字形参

1.语法:
def 函数名(, 命名关键字形参1, 命名关键字形参2, ...):
函数体
def 函数名(
args, 命名关键字形参1, 命名关键字形参2, ...):
  函数体
2.作用:
强制实参使用关键字传参

双星号字典形参

1.语法:
def 函数名(字典形参名):
函数体
2.作用:
收集多余的关键字传参
3.说明:
一般命名为'kwargs'
形参列表中最多只能有一个
参数自左至右的顺序
位置形参 --> 星号元组形参 --> 命名关键字形参 --> 双星号字典形参

作用域LEGB

1.作用域:变量起作用的范围。
2.Local局部作用域:函数内部。
3.Enclosing 外部嵌套作用域 :函数嵌套。
4.Global全局作用域:模块(.py文件)内部。
5.Builtin内置模块作用域:builtins.py文件。

变量名的查找规则

1.由内到外:L -> E -> G -> B
2.在访问变量时,先查找本地变量,然后是包裹此函数外部的函数内部的变量,之后是全局变量,最后是内置变量。

局部变量

1.定义在函数内部的变量(形参也是局部变量)
2.只能在函数内部使用
3.调用函数时才被创建,函数结束后自动销毁

全局变量

1.定义在函数外部,模块内部的变量。
2.在整个模块(py文件)范围内访问(但函数内不能将其直接赋值)。

global 语句

1.作用:
在函数内部修改全局变量。
在函数内部定义全局变量(全局声明)。
2.语法:
global 变量1, 变量2, …
3.说明
在函数内直接为全局变量赋值,视为创建新的局部变量。
不能先声明局部的变量,再用global声明为全局变量。

nonlocal 语句

1.作用:
在内层函数修改外层嵌套函数内的变量
2.语法
nonlocal 变量名1,变量名2, ...
3.说明
在被嵌套的内函数中进行使用

标签:传参,函数,形参,参数,def,定义
From: https://www.cnblogs.com/babyfengfjx/p/18112714

相关文章

  • MySQL数据库:第十六章:sql高级函数,和腾讯大牛的技术面谈
    CURDATE()或CURRENT_DATE()返回当前的日期CURTIME()或CURRENT_TIME()返回当前的时间DATE_ADD(date,INTERVALintkeyword)返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化),如:SELECTDATE_ADD(CURRENT_DATE,INTERVAL6MONTH);DATE_FORMAT(date,fmt......
  • mathematical-expression(MAE)数学表达式 数学函数 解析编译库,有效的快速和简单易用的数
    数学表达式SwitchtoEnglishDocument介绍本框架是一种针对数学公式解析的有效工具,能够解析包含嵌套函数,包含函数,数列步长累加等数学公式,返回值是一个数值的结果对象,同时也可以进行比较运算的操作,再进行比较的时候,返回值是一个布尔值结果对象。PS请尽量使用1.3.1版......
  • pandas中describe() 函数的应用
    describe()函数用于生成关于DataFrame中数值型列的统计摘要。它提供了各种描述性统计信息,如均值、标准差、最小值、最大值、四分位数等,以帮助我们更好地了解数据的分布情况。下面是一个示例,说明如何使用describe()函数:importpandasaspd#创建一个DataFramedata=......
  • 函数的递归操作
    函数自身调用自身的操作,称为函数的递归操作!一般递归存在两个条件:        1.递归的起始值(需要看具体问题)        2.递归的结束条件(一定得有)具体参考以下案例:1.有五个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。  问第4个人岁数。他说比第3个人大......
  • day12- 函数
    我们学习编程的时候,一学到函数就感觉很难,其实函数很简单,听我给你细细道来,在我们之前的学习中,我们最常用的一个操作,打印输出print(),其实这就是我们最先接触的函数,只不过这是由Python源码中编写好的函数,那我们来看下print()函数到底是怎么写的?从中我们可以看到用到def关键字,然......
  • 粒子群算法(主要针对连续型函数优化问题)
    文章主要参考了以下博文:https://zhuanlan.zhihu.com/p/5648197181.简介粒子群算法是一种解决最优化问题的通用方法,其优点是求解速度快,数值相对稳定,算法简单。粒子群算法分为连续型粒子群算法和离散型粒子群算法,分别用于解决连续型问题和离散型问题。粒子群优化算法源自对鸟......
  • callback回调函数的使用
    callback回调函数的使用二、例子收拾二、例子收拾/**回调方法*/asyncfunctionsubmitForm(callback:(data:Record<string,string>[],callback:()=>void)=>void){loading.value=truecallback(formData,()=>{loading.value=false......
  • 函数或方法参数传递问题
    ★一般情况函数参数的传入顺序依次为:必备参数=>默认参数=>不定长参数=>关键字参数案例#函数传入参数顺序必备默认不定长defdouble_sum(x,y=88,*args,**kwargs):print(x)print(y)print(args)print(kwargs)double_sum(10,20,......
  • 常用Hash函数速度比较
    常用Hash函数速度比较结论常见的这些Hash函数,没有数量级上的差别,当然这只是针对在长度为20000以内的字符串所得出的结论.如果是对文件进行摘要,请还是使用非可逆的Hash函数,而不是crc/murmur这类​crc​的性能非常出色,但是与murmur3​的性能没有拉开差距,由于......
  • 构造函数init到底是什么作用 是下面的方法都可以从init里面获取参数吗?(AI+Python)
    大家好,我是Python进阶者。一、前言前几天在Python白银交流群【无敌劈叉小狗】问了一个Python基础的问题,问题如下:问一下构造函数init到底是什么作用是下面的方法都可以从init里面获取参数吗?二、实现过程这里【黄志诚】分享了自己的一个经验:全局呀,相当于初始化一个参数,全局都......