首页 > 编程语言 >python 函数基本使用(笔记整理)

python 函数基本使用(笔记整理)

时间:2023-05-26 09:55:49浏览次数:56  
标签:调用 return 函数 python 代码 笔记 参数 my

一、函数的概念

1.什么是函数

函数代表功能,也称“方法”,它是对数据与功能代码进行封装,实现了功能代码的复用
简单来说:函数就是把你要写的代码固定成一块,需要使用这个功能的时候直接调用即可

2.函数的分类

  • python函数有四类,分别是:内置函数(builtin functions),标准库函数,第三方库函数,自定义函数。
  • 内置函数:就是绑定给数据类型的函数,也叫数据类型方法,例如:list,int,float,dict等
    ps:内置函数是你下载python的时候自带的代码,如折叠图
  • 因为系统自带这个代码的缘故所以我们使用起来直接可以直接调用函数名,不需手动定义
  • 内置函数也就是数据类型的内置方法

image.png

  • 标准库函数:需要用import语句进行导入,常见标准库有time,os等
  • 第三方库:需要另外下载到本地的库,例如opencv库,然后用import导入
  • 自定义函数:自定义函数就是我们自己使用def定义的函数,自定义函数分有参数函数和无参函数还有空函数
1.无参数函数
def my_len():#括号里没有参数的都是无参函数
print(123)

2.有参函数
def my_len(a,b,c):#括号里有参数的都是有参函数
print(123)
但是要注意在调用阶段的时候也需要填写参数

3.空函数
def my_len():
pass #空函数就是使用pass或者用...三个点
空函数的作用就是再规划很多个功能的时候我先用函数块搭个大致框架,知道我该实现那些功能
就是当你不知道你的函数体该写啥的时候就用pass
返回值关键字:return
返回值:函数执行结束之后,返回的结果
def my_func():
    print('helloword')
    return 值
my_func() #可以直接调用 helloword
res  =  my_func()
print('my_func()')# 当函数没有返回值的时候,没有return的时候,返回的是none
print(res)#把函数的执行结果赋值给res变量,结果就是none,没有为什么这是固定的

return 的几种情况
1.return #当函数中只有return后面没有值的时候,返回的结果仍然是none

2.return 123 #当return后面有值的时候,你写什么就返回什么

3.return 123,456,789 #当return后面跟多个值的时候会组织成元组的形势返回

4.如果你想返回多个值的时候,最好使用容器类型包一下,比如你return字典返回就是字典

5.在函数中,只要遇到return关键字,代码立刻终止执行,一个函数最多只能有一个return,函数只要看见return直接停止运行

6.return,只能出现在函数中,if else中绝对不能出现

3.为什么要使用函数

∎ 我们现在基础阶段写的代码冗余性比较强,就是没用的东西太多了,就需要用函数去封装后面直接调用即可,其实我们的函数就是要模仿关键字的功能实现原理
∎ 我们现在写的代码兼容不强,我们在取元素的时候时不时的需要更改数据类型这样就很麻烦,实际上就改一下函数形参就好了
∎ 我们自己写的函数没有返回值(就是函数执行之后没有返回结果),需要依赖retune去给返回值

二、函数的定义与调用

函数的使用分为定义阶段与调用阶段,定义函数时只检测语法,不执行函数体代码,函数名加括号即函数调用,只有调用函数时才会执行函数体代码

  • 函数必须遵循’先定义,后调用’的原则
  • 函数的定义就相当于事先将函数体代码保存起来,然后将内存地址赋值给函数名
  • 函数名就是对这段代码的引用,这和变量的定义是相似
def my_len(参数一,参数二):
'''函数体代码注释'''
print(123)#函数体代码
return 'hello'   #返回值

参数解释:
1.	def :定义函数的关键字
    	是代表定义或者说是申明一个函数,不能省略不然就不叫函数了
    
2.	my_len :函数名,指向函数内存地址
    就相当于是变量名,不唯一可以随意起名,遵循变量的命名规范,一定是见名知意,还有函数名后面的小括号不能省略,即使没有参数也不能省略
    
3.	括号:括号内定义参数(参数一,参数二) :什么是参数,参数就是你在使用函数前要满足的一定条件,参数可有可无,不一定是非要存在的,也可以是一个空括号
    
4.	'''函数体代码注释''' :描述函数功能,参数介绍等信息的文档,可有可无,但是建议加上,从而增强函数的可读性;
5.	主要写函数功能的介绍,就是说要在这里写你这个函数是干嘛的啥功能,也就等于备注的意思,就比如可以说一下你这个参数代表的啥意思
    
6.	print(123)函数体代码:函数体
    就是把你写的代码放进去后面要用到这个代码的时候,直接调用改函数名就可以
    
7.	return :返回值:定义函数的返回值,return是可有可无的
    返回值的关键字是:return
    return是一个函数结束的标志,函数内可以有多个return,但只执行一次函数就结束了,并把return后定义的值作为本次调用的结果返回。

参数是函数的调用者向函数体传值的媒介,若函数体代码逻辑依赖外部传来的参数时则需要定义为有参函数,

1.定义阶段

  • 函数必须先定义后调用
  • 函数在定义阶段,如果有参数,调用也需要给对应的参数
  • 函数在定义阶段只检测语法是否正确,不执行具体的代码功能
  • 只要def出现就已经到了函数的定义阶段
  • 函数体为pass代表什么都不做,称之为空函数。用pass充当函数体“占位符”用来事先规划需要哪些功能使用的
def my_func():  # 只要有def出现就已经到了函数的定义阶段
print(123)#打印出来是空的

2.调用阶段

调用阶段是在函数外使用函数名去调用,函数名+() 代表执行此函数,不加括号不执行

def my_func():  # 只要有def出现就已经到了函数的定义阶段
      print(123) # 没调用时打印出来是空的
my_func()#函数名+() 代表执行此函数

函数在调用阶段会执行具体的函数体代码
函数的调用是通过函数名调用的
1.语句形式:
foo()#加括号就调用

2.表达式形式:
m=my_min(1,2) #将调用函数的返回值赋值给m
n=10*my_min(1,2) #将调用函数的返回值乘以10的结果赋值给n

3.函数调用作为参数的形式:
m=my_min(1,my_min(2,3)) #my_min(2,3)作为函数my_min的第二个参数,实现了取1,2,3中的较小者赋值给m

3.函数的的底层原理

  • 申请一块内存空间,存储函数体代码
  • 把函数体代码绑定给函数名
  • 通过调用函数(函数名())来执行函数体代码
    image.png

标签:调用,return,函数,python,代码,笔记,参数,my
From: https://www.cnblogs.com/wangxianyun/p/17433869.html

相关文章

  • 聊聊什么是函数
    引言在设计和制作小玩意时,代码中难免会有部分代码相同,当程序中需要频繁的使用某段代码时,我们的代码就会出现冗余,而且当我们需要修改这部分重复代码的逻辑时,需要修改的代码量是巨大的,管理维护的难度巨大,那么我们要怎么解决代码冗余问题呢?举个例子:维修工在维修工作前会准备好锤子,......
  • PB6.5开发笔记
    这是刚毕业时在某一“大”公司使用PB6.5开发联通营帐系统时的笔记,虽然好久没有也许以后也不会再使用pb开发程序了,但这算是我使用过的唯一一个前端专业开发工具,把笔记记录下来,权当作纪念吧,^_^//PB中标准调用sql语句ls_sql="selectroad_namefrombb_data_wide_bus_temp_twhere......
  • inspect:获取python对象的有用信息
    楔子有些时候,我们需要得到一个对象的某些属性,我们最常用的就是通过type来查看该对象的类型,或者使用dir来查看该对象具有哪些属性。但是python提供了一个非常好的模块:inspect,来帮助我们更好地获取对象的属性,下面就来看看该模块支持哪些方法。检测对象的种类这里指的是种类,不是......
  • python中yield关键字
    yield就是保存当前程序执行状态。yield可以简单理解为return操作,但和return又有很大的区别。执行完return,当前函数就终止了,函数内部的所有数据、内存空间,全部都没有了。而yield在返回数据的同时,还保存了当前的执行内容,当你再一次调用这个函数时,他会找到你在此函数中的yield关键字......
  • 单行函数
    1.函数的理解1.1什么是函数函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维护性。在SQL中我们也可以使用函数对检索出来的数据进行函数操作。使用这些函数,可以极......
  • es笔记七之聚合操作之桶聚合和矩阵聚合
    本文首发于公众号:Hunter后端原文链接:es笔记七之聚合操作之桶聚合和矩阵聚合桶(bucket)聚合并不像指标(metric)聚合一样在字段上计算,而是会创建数据的桶,我们可以理解为分组,根据某个字段进行分组,将符合条件的数据分到同一个组里。桶聚合可以有子聚合,意思就是在分组之后,可以在每......
  • Python实现JWT的生成及验证
    一、概述    在JWT安全性总结中提到了JWT的三个组成部分,包括header、claims以及signature,其中Signature是一个签名的部分,其计算方法为:HMACSHA256(base64UrlEncode(header)+"."+base64UrlEncode(payload),secret),即header的BASE64编码、点号、Clamis的BASE64编码以及将se......
  • 《用户故事与敏捷方法》阅读笔记1
    第一章介绍了用户故事的概念及其作用。用户故事是对于软件的需求描述,它从最终用户的角度出发,强调的是用户的需求与期望,而非技术实现细节。用户故事有助于开发团队更好地理解用户需求,指导团队进行有效的软件开发。第二章讨论了用户故事的优点与不足。用户故事的优点包括易于理解、......
  • learn c++ 函数返回
                      ......
  • Python求前后第n个月函数
    数据分析常用到:#求往后第n个月#monthstr格式:YYYY-MM##printnext_month("2023-05",1)#2023-06#printnext_month("2023-05",6)#2023-11#printnext_month("2023-05",8)#2024-01defnext_month(monthstr,n):yearnum=int(mont......