Python学习:初识函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习:初识函数相关的知识,希望对你有一定的参考价值。
简单写函数的格式以及函数的意义
前言
之前学习的都是怎么写代码,为了实现相同的功能要写好多遍代码,所以就有了函数,函数就相当于一个工具,函数名就相当于这种工具的名字,想要用的时候打一下名字就可以用了。
总结优点:
1.避免代码的复用。
2.提高代码的可读性。
3.修改方便
函数的定义与调用
定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个":"。
空格 为了将def关键字和函数名分开。
函数名:函数名只能包含字符串、下划线和数字且不能以数字开头。虽然函数名可以随便起,但我们给函数起名字还是要尽量简短,并能表达函数功能
括号:是必须加的。
注释:每一个函数都应该对功能和参数进行相应的说明,应该写在函数下面第一行。以增强代码的可读性。
调用:就是 函数名() 要记得加上括号。
def 函数名(参数1,参数2): ‘‘‘函数注释‘‘‘ print(‘函数体‘) return‘返回值‘
函数的返回值(return)
函数调用不写返回值return的话,返回的就是None,为了得到想要的就要加上返回值。
return关键字
return是关键字,作用有两个:1.结束函数的执行。2.返回要返回的值
返回值的两种:
1.返回值为None,
#函数定义 def mylen(): """计算s1的长度""" s1 = "hello world" length = 0 for i in s1: length = length+1 print(length) #函数调用 str_len = mylen() #因为没有返回值,此时的str_len为None print(‘str_len : %s‘%str_len)
def ret_demo(): print(111) return print(222) ret = ret_demo() print(ret)
def ret_demo(): print(111) return None print(222) ret = ret_demo() print(ret)
返回值为None就是以上三种情况。
2.返回值为一个值
#函数定义 def mylen(): """计算s1的长度""" s1 = "hello world" length = 0 for i in s1: length = length+1 return length #函数调用 str_len = mylen() print(‘str_len : %s‘%str_len)
3.多个返回值
def ret_demo1(): ‘‘‘返回多个值‘‘‘ return 1,2,3,4 def ret_demo2(): ‘‘‘返回多个任意类型的值‘‘‘ return 1,[‘a‘,‘b‘],3,4 ret1 = ret_demo1() print(ret1) ret2 = ret_demo2() print(ret2)
用一个变量接收就会变成元祖类型
def ret_demo2(): return 1,[‘a‘,‘b‘],3,4 #返回多个值,用一个变量接收 ret2 = ret_demo2() print(ret2) #返回多个值,用多个变量接收 a,b,c,d = ret_demo2() print(a,b,c,d) #用多个值接收返回值:返回几个值,就用几个变量接收 a,b,c,d = ret_demo2() print(a,b,c,d)
函数的参数
告诉函数要计算数是什么就是传参。
传参的目的就是要在函数中用,用不同的数带入相同的公式。
参数有实参和形参
实参:在调用函数是传入的。
种类和定义顺序:
1.按位置传参,*()或*[]形式可传多个位置参数
def mymax(x,y): #此时x=10,y=20 the_max = x if x > y else y return the_max ma = mymax(10,20) print(ma)
2.按关键字传值,**{}的形式可传多个关键字参数
def mymax(x,y): #此时x = 20,y = 10 print(x,y) the_max = x if x > y else y return the_max ma = mymax(y = 10,x = 20) print(ma)
def mymax(x,y): #此时x = 10,y = 20 print(x,y) the_max = x if x > y else y return the_max ma = mymax(10,y = 20) print(ma)
正确用法
问题一:位置参数必须在关键字参数的前面
问题二:对于一个形参只能赋值一次
站在形参角度
位置参数必须传值
3.动态传参:*tup,**dict
优先级:位置——关键字——*tup——**dict
形参:在定义函数时接收的
种类和定义顺序:
1.位置参数
2.动态参数(*args):接收一个或多个位置参数,并组成元祖。如果没有值则为()。
3.默认参数:将变化比较小的值设置为默认参数。
①设置默认参数,调用时可不传递该参数。
②定义为可变数据类型——陷阱,不可用
③定义为不可变数据类型
def stu_info(name,sex = "male"): """打印学生信息函数,由于班中大部分学生都是男生, 所以设置默认参数sex的默认值为‘male‘ """ print(name,sex) stu_info(‘alex‘) stu_info(‘eva‘,‘female‘)
4.动态参数**kwargs:接收多个关键字参数,组成字典。如果没有则为{}。
def mysum(*args): the_sum = 0 for i in args: the_sum+=i return the_sum the_sum = mysum(1,2,3,4) print(the_sum)
def stu_info(**kwargs): print(kwargs) print(kwargs[‘name‘],kwargs[‘sex‘]) stu_info(name = ‘alex‘,sex = ‘male‘)
总结
就是函数内每个部分的作用以及用法,写法,剩余:略。
以上是关于Python学习:初识函数的主要内容,如果未能解决你的问题,请参考以下文章