初遇函数

举报
爱打瞌睡的CV君 发表于 2022/07/07 22:55:54 2022/07/07
【摘要】 开始认识函数 学习python的学习笔记 2,在B站《求知讲堂》学习 一、简单的理解 什么是函数:一系列Python语句的组合,可以在程序中运行一次或者多次, 一般是完成具体的独立的功能 为什么要使用...

开始认识函数

学习python的学习笔记 2,在B站《求知讲堂》学习

一、简单的理解
什么是函数:一系列Python语句的组合,可以在程序中运行一次或者多次,
一般是完成具体的独立的功能
为什么要使用函数:
代码的复用最大化以及最小化冗余代码,整体代码结构清晰,问题局部化。
二、函数定义
1、def 函数名( )
代码块
#这样就完成了函数的定义
例子:
def information():
print(‘小张的身高是%f’ % 1.73)
print(‘小张的体重是%f’ % 160)
print(‘小张的爱好是%s’ % ‘唱歌’)
print(‘小张的身高是%s’ % ‘计算机信息管理’)
pass
#以上为定义函数,运行不出来的,需要你对函数进行调用

#进行函数调用
information()
在这里插入图片描述
#需要多次调用的时候,我们只需要多次使用函数就可以啦
#有时候需要对函数进行一定的注解,帮助我们日后方便理解函数,这时候就需要’’'注解。

2、上面那个函数只能用于多次打印小张的信息,为了能够打印多个人的信息,需要引入函数参数的概念
例:
def printInfo(name,height,weight,hobby,pro): #括号里面是形式参数
# 函数代码块
print(’%s的身高是%f’ %(name,height))
print(’%s的体重是%f’ %(name,weight))
print(’%s的爱好是%s’ %(name,hobby))
print(’%s的专业是%s’ %(name,pro))
pass
#定义函数完毕,下面是调用
printInfo(‘小李’,189,200,‘打游戏’,‘咨询师’) #这个括号里面是实参
在这里插入图片描述
#同时打印多个人的信息也是可以的,只需要再次调用这个函数,把函数括号里面的实参改变一下就可以了。
这样来看,就可以完善1中的函数定义了。

def 函数名(参数列表 )
代码块
#这样就完成了函数的定义

3、参数
参数:其实就是函数为了实现某项特定的功能,进而为了得到实现功能所需要的数据,就是为了得到外部数据的。
参数的分类:必选参数、默认参数[缺省参数]、可选参数、关键字参数
(1)必选函数
#在调用的时候必选参数 是必须要赋值的
def sum(a,b): #形式参数:只是意义上的一种参数,在定义的时候是不占内存地址的
sum=a+b
print(sum)
pass
sum(20,15) #20 和 15 是实际参数:实参,实实在在的参数,是实际占用内存地址的
(2)默认参数【缺省参数】
def sum1(a,b=40,c=90):
print(‘默认参数使用=%d’%(a+b))
pass
#默认参数调用
sum1(10) #在调用的时候如果未赋值,就会用定义函数时给定的默认值
sum1(2,56)#在调用的时候如果赋值了,则按照赋的值进行程序运行
在这里插入图片描述
(3)可变参数
#当参数的个数不确定时使用,比较灵活
用*来定义

一般用*args表示

def getComputer(*args): #可变长的参数
‘’’
计算累加和
:param args: 可变长的参数类型
:return:
‘’’
result=0
for item in args:
result+=item
pass
print(‘result=%d’%result)
pass
#for循环属于定义函数那部分的程序
#以上是定义getComputer这个函数
getComputer(1)
getComputer(1,2)
getComputer(1,2,3)
getComputer(1,2,3,4,5,6,7,8)
在这里插入图片描述
(4)关键字可变函数
#需要用**来定义
#在函数体内 参数关键字是一个字典类型 key是一个字符串

def keyFunc(**kwargs):
print(kwargs)#函数的作用就是打印kwargs
pass
#函数调用
dictA={“name”:‘Leo’,“age”:35}
keyFunc(**dictA) #想成功地打印出来,需要在dictA前加上
#keyFunc(name=‘peter’,age=26,),这也是一种方法,直接在括号里声明
在这里插入图片描述
(5)组合函数
必选>默认(省缺)>可选>关键字
def complexFunc(*args,**kwargs):
print(args) # 可选参数:接受的数据是一个元组类型
print(kwargs) #关键字可选参数:接受的数据是一个字典类型
pass
complexFunc(1,2,3,4,name=‘刘德华’)
print(’---------------分割线-----------------’)
complexFunc(age=36)
在这里插入图片描述
注意:可选参数必须放在关键字可选参数前面,否则会报错

3、函数的返回值

概念:函数执行完以后会返回一个对象,如果在函数的内部有return这个关键字, 就可以返回实际的值,否则返回None

类型:可以返回任意类型,返回值类型应该取决于return后面的类型

用途:给调用方返回数据

在一个函数体内可以出现多个return值:但是肯定只能返回一个return

注意:如果在一个函数体内 执行了return,意味着函数就执行完成退出了,return后面的代码语句将不会执行

def Sum(a,b):
sum=a+b
return sum#将计算的结果返回
pass
rs=Sum(10,30) #将返回值赋给其他的变量
print(rs) #函数的返回值返回到调用的地方

#也可以直接print(sum(10,30))
在这里插入图片描述

(1)、
def calComputer(num):
result=0
i=1
while i<=num:
result+=i
i+=1
pass
return result
pass
#开始调用函数
value=calComputer(10)
print(value)
print(type(value))
在这里插入图片描述

(2)、
def calComputer(num):
li=[ ]
result=0
i=1
while i<=num:
result+=i
i+=1
pass
li.append(result)
return li
pass
#调用函数
value=calComputer(10)
print(type(value)) #value 类型
print(value)
在这里插入图片描述
注意:由以上两个例子可以看出,return可以返回任意类型,返回值类型应该取决于return后面的类型

4、函数的嵌套
就是在一个函数里面,调用之前定义过的函数。

函数的分类:根据函数的返回值和函数的参数 可分为

有参数无返回值的
有参数有返回值的

文章来源: luckystar.blog.csdn.net,作者:爱打瞌睡的CV君,版权归原作者所有,如需转载,请联系作者。

原文链接:luckystar.blog.csdn.net/article/details/108562780

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。