初遇函数

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

一、简单的理解


什么是函数:一系列Python语句的组合,可以在程序中运行一次或者多次,

一般是完成具体的独立的功能


为什么要使用函数:

代码的复用最大化以及最小化冗余代码,整体代码结构清晰,问题局部化。


二、函数定义


1、def 函数名( )


代码块

#这样就完成了函数的定义

例子:

def information():

print(‘小张的身高是%f’ % 1.73)

print(‘小张的体重是%f’ % 160)

print(‘小张的爱好是%s’ % ‘唱歌’)

print(‘小张的身高是%s’ % ‘计算机信息管理’)

pass

#以上为定义函数,运行不出来的,需要你对函数进行调用


#进行函数调用

information()


$5YJ6FP2{N{@2{N$C~FKGUR.png


#需要多次调用的时候,我们只需要多次使用函数就可以啦

#有时候需要对函数进行一定的注解,帮助我们日后方便理解函数,这时候就需要’’'注解。


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,‘打游戏’,‘咨询师’) #这个括号里面是实参


6CC_JNFQ8WO5K@2C9B_QCPK.png


#同时打印多个人的信息也是可以的,只需要再次调用这个函数,把函数括号里面的实参改变一下就可以了。

这样来看,就可以完善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)#在调用的时候如果赋值了,则按照赋的值进行程序运行


MA76C{}V$@(5WI}TLNIFP)2.png


(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)


]LFF5[{7KY)}3FG4HYSIAAK.png


(4)关键字可变函数

#需要用**来定义

#在函数体内 参数关键字是一个字典类型 key是一个字符串


def keyFunc(**kwargs):

print(kwargs)#函数的作用就是打印kwargs

pass

#函数调用

dictA={“name”:‘Leo’,“age”:35}

keyFunc(**dictA) #想成功地打印出来,需要在dictA前加上

#keyFunc(name=‘peter’,age=26,),这也是一种方法,直接在括号里声明


GAVQX%7K]{3%5Y0{5))C3BJ.png


(5)组合函数

必选>默认(省缺)>可选>关键字

def complexFunc(*args,**kwargs):

print(args) # 可选参数:接受的数据是一个元组类型

print(kwargs) #关键字可选参数:接受的数据是一个字典类型

pass

complexFunc(1,2,3,4,name=‘刘德华’)

print(’---------------分割线-----------------’)

complexFunc(age=36)


)T2%7}TL1Y@XCXA0`Q[~BD0.png


注意:可选参数必须放在关键字可选参数前面,否则会报错


4、函数的返回值


概念:函数执行完以后会返回一个对象,如果在函数的内部有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))

QJZY26JRI7PRQ9FN9ERX376.png


(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))

JRL`TCO~UO[1(LT7$}(@{FY.png


(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)

ZICJ35S[YIG7MR)})(OFJM4.png

注意:由以上两个例子可以看出,return可以返回任意类型,返回值类型应该取决于return后面的类型


5、函数的嵌套


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


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


有参数无返回值的

有参数有返回值的


相关文章
|
3月前
|
存储 JavaScript IDE
探索变量世界的奥秘:全面理解与有效避坑
【4月更文挑战第2天】探索编程基础:变量。本文详述变量的定义、作用,如数据存储、信息传递,以及声明与赋值。讨论变量类型(如整型、浮点型)和作用域(全局、局部),并列举常见错误及防范策略,如未声明使用、类型不匹配。最后提出最佳实践,如明确命名、避免冗余和适时复用变量,以提升代码质量。通过本文,深化你对变量的理解,让编程更加得心应手!
53 8
|
3月前
|
编译器 程序员 C语言
爱上C语言:什么C语言函数不太会,那你千万不要错过这篇(函数篇)
爱上C语言:什么C语言函数不太会,那你千万不要错过这篇(函数篇)
|
3月前
|
存储 程序员 编译器
爱上C语言:指针很难?来来来,看看这篇(基础篇)
爱上C语言:指针很难?来来来,看看这篇(基础篇)
|
3月前
|
人工智能 网络协议 BI
【c语言基础题】— —第七版,可当作日常练习和期末复习,有奇效哟!
【c语言基础题】— —第七版,可当作日常练习和期末复习,有奇效哟!
33 0
|
3月前
|
C语言 wax
【c语言基础题】— —第四版,可当作日常练习和期末复习,有奇效哟!
【c语言基础题】— —第四版,可当作日常练习和期末复习,有奇效哟!
101 0
|
C语言
【C语言—零基础第九课】函数中的爱恨情仇
我们举个例子,你现在是老板你要求你的秘书去完成一项任务你可以给他说让他去做某一项任务,也可以不给他说让他去做某一项任务(暗示他)当然你得是老板。只要你是老板你就可以无限次的让秘书去做某一项任务,并且他没有怨言。
46 0
|
编译器 C++
【C++系列P7】模板搞不懂?脑阔抖三抖!!精讲一篇过!
【C++系列P7】模板搞不懂?脑阔抖三抖!!精讲一篇过!
|
前端开发 JavaScript C语言
带你读书之“红宝书”:第十章 函数①
带你读书之“红宝书”:第十章 函数①
81 0
带你读书之“红宝书”:第十章 函数①
|
前端开发 C语言
带你读书之“红宝书”:第十章 函数④
带你读书之“红宝书”:第十章 函数④
65 0
带你读书之“红宝书”:第十章 函数④
|
存储 编译器 程序员
0基础C保姆自学 第二节——初步认识C语言的全部知识框架
在栈区的变量用完之后,系统会自动收回,不需要程序员手动释放,但在堆区则恰恰相反:我们需要用free函数来将我们创建的动态空间释放。否则将会造成内存泄漏。
197 0
0基础C保姆自学 第二节——初步认识C语言的全部知识框架