python开发编程基础:函数定义,返回值,参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python开发编程基础:函数定义,返回值,参数相关的知识,希望对你有一定的参考价值。
一,函数的定义
1,函数mylen叫做函数名
#函数名
#必须由字母下划线数字组成,不能是关键字,不能是数字开头
#函数名还是要有一定的意义能够简单说明函数的功能
2,def是关键字 (define)
3,():必须写
4,函数体内尽量写注释,方便查看代码
5,函数的调用:函数名+括号
1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 4 def mylen(): #函数名 5 ‘‘‘ 6 计算字符串长度的函数 这里写的是注释,方便查看代码 7 ‘‘‘ 8 s = ‘hello world‘ 9 length = 0 10 for i in s: 11 length += 1 12 return length #函数的返回值
13 leng = mylen() #函数的调用 14 print(leng)
二,函数的返回值 return
1,函数返回值可以是任意的数据类型
2,如果有返回值:必须要用变量接收才会有效果
1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 4 def func(): 5 b = [1,2,3] 6 return b #可以是任何数据类型 7 ret = func() #有返回值,就需要用变量来接收 8 print(ret)
3,函数可以没有返回值,默认返回给None
函数的返回值为None有三种情况
1.不写返回值
2.只写一个return
3.return None (几乎不用)
4,return的作用:结束一个函数的执行
5,函数的返回值不为None,有返回值
返回一个值(一个变量)
返回多个值(多个变量),多个值之间用逗号区分
接收:可以用一个变量接收,以元组的形式返回
也可以用多个变量接收,返回几个就用几个变量去接收 相当于解压式接收
1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 4 def func6(): 5 ‘‘‘返回一个值‘‘‘ 6 a =123 7 return a 8 9 def func7(): 10 ‘‘‘返回多个值‘‘‘ 11 a = 123 12 b = ‘abc‘ 13 return a,b 14 15 ret = func7() 16 print(ret) 17 m,n,k = func7()
三,函数的参数
1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 4 #函数的参数 5 #实参和形参 6 #实参:函数调用的时候传入的参数值 7 #形参:是函数定义的时候定义的参数名 8 #参数可以是任意的数据类型 9 #可以传递0个或多个参数 10 11 def mylen(s): #参数接收:形式参数,形参 12 ‘‘‘ 13 计算字符串长度的函数 ——函数的功能 14 参数s:接收要计算的字符串 ——参数的信息 15 return:要计算的字符串长度 ——返回值的信息 16 ‘‘‘ 17 length = 0 18 for i in s: 19 length += 1 20 return length 21 length = mylen(‘hello world‘) #参数传入:实际参数,实参 22 print(length) 23 24 25 #调用函数时传参数: 26 #按照位置传参 27 #按照关键字传参 28 #位置参数:按顺序定义参数 29 #站在传参的角度上 30 #按照位置传参数 31 def my_max(a,b): #定义:位置参数 32 ‘‘‘返回两个值之间的最大值‘‘‘ 33 print(a,b) 34 if a > b: 35 return a 36 else: 37 return b 38 print(my_max(10,20)) 39 print(my_max(30,20)) 40 41 #按照关键字传参数,可以不按顺序传参数, 42 def my_max(a,b): #定义:关键字参数 43 ‘‘‘返回两个值之间的最大值‘‘‘ 44 print(a,b) 45 if a > b: 46 return a 47 else: 48 return b 49 print(my_max(b = 10,a = 20)) 50 51 #登陆小程序 52 def login(user,pwd): 53 if user == ‘egon‘ and pwd == ‘somebody‘: 54 return True 55 else: 56 return False 57 ret = login(‘egon‘,pwd=‘somebody‘) 58 if ret: 59 print(‘登录成功‘) 60 61 #默认参数: 62 #不要设置可变数据类型的默认参数 63 #对于变化小的参数可以设置默认参数 64 #默认参数可以不传,不传的时候用的就是默认值 65 #如果传,会覆盖默认值 66 #默认的值是在定义函数的时候就已经确定了的 67 68 #默认参数 69 def stu_info(name,sex = ‘male‘): #默认参数,有一个默认值 70 print(‘name:%s,sex:%s‘%(name,sex)) 71 stu_info(‘李淑旗‘) #默认参数可以不传值 72 stu_info(‘海燕‘,‘female‘) #如果传值了,覆盖默认值 73 74 #关于默认参数流程 75 s = ‘male‘ 76 def stu_info(name,sex=s): #默认参数,有一个默认值 77 print(‘name:%s,sex:%s‘%(name,sex)) 78 s = ‘female‘ #不影响定义时sex的值 79 print(stu_info("李淑旗")) 80 #打印出来的就是male 因为开始sex=x=male,然后s是新开辟的一个空间存储female 81 82 #不要设置可变数据类型为默认参数 83 b = [] 84 def func(a = []): 85 a.append(1) 86 print(a) 87 # func()....打印下去你会发现这个[]列表一直在追加 88 89 #位置参数、默认参数顺序问题 90 def my_max(a,b=5):#位置参数在默认参数之前 91 if a>b: 92 return a 93 else: 94 return b 95 print(my_max(5,6)) #按照位置传和按照关键字传 96 97 98 #动态参数 99 #*args #按位置传参数 100 def func(a,b,*c): #*c接收的是5,5,5,5并且输出一个元祖包含这个4个5 *args代表把散列的元素拼成元组 101 my_sum = a+b 102 for i in c: 103 my_sum += i 104 return my_sum 105 print(func(3,2,5,5,5,5)) 106 107 108 #**kwargs #按照关键字传参数 109 def fun(a,b,**kwargs): 110 print(a,b,kwargs) 111 fun(a = 10,b = 20,cccc= 30,dddd = 50) 112 113 #形式参数括号里面的位置顺序 114 def f(a,b,*args,defult=6,**kwargs): 115 #位置参数,*args,默认参数,**kwargs 116 print(a,b,args,defult) 117 #传参数的时候:必须先按照位置传参数,再按照关键字传参数 118 f(1,2,7,8,defult=10) 119 120 121 #在传参的时候,针对列表,元祖的话,有个*t参数,避免手动传参 122 def fun2(*args):#*args代表把散列的元素拼成元组 123 print(args) 124 t = (1,2,3,4) 125 l = [1,2,3,4] 126 # fun2(t[0],t[1],t[2],t[3]) 127 fun2(*t) #*代表把一个元组、列表拆了 128 fun2(*l) #*代表把一个元组、列表拆了 129 130 #针对字典有个**d参数,避免手动传参 131 def fun3(**kwargs):#*args代表把按关键字传来的参数拼成字典 132 print(kwargs) 133 fun3(a = 10, b = 20) 134 d = {‘a‘: 10, ‘b‘: 20} 135 fun3(**d) #*代表把一个字典拆了
以上是关于python开发编程基础:函数定义,返回值,参数的主要内容,如果未能解决你的问题,请参考以下文章