python3 函数

函数命名规则与变量一样。

 

函数基本框架:

>>> def world(s1):
	a = 1
	b = 2
	c = a + b
	print(s1)
	return c

>>> world(5)
5
3

 

 

return:

没有返回值(默认返回None):
1.不写return,返回None;
2.只写return,返回None,且return后的代码不执行(结束/跳出一个函数);
3.return None,此方法不常用。

返回一个值
1.可以返回任何数据;
2.只要返回就可以接收到;
3.如果在一个程序中有多个return,只返回执行的第一个。

返回多个值
1.N个变量接受N个值,变量与值一一对应;
2.一个变量接受N个返回值,得到一个tuple。

 

参数:

>>> def world(接受参数/形参):
	a = 1
	b = 2
	c = a + b
	print(s1)
	return c

>>> world(传递参数/实参)

#实参在调用参数的过程中进行的,形参在执行定义的参数过程中执行的;




#没有参数:定义和调用参数时括号内不写内容;


#有一个参数:传什么是什么


#有多个参数:
#位置参数:形参abc对应实参123,按照顺序依次传参
>>> def world(s1,s2,s3):
	s4 = s1 + s2 * s3 + s1 * s3
	return s4,s1,s2,s3

>>> a1,a2,a3,a4 = world(s2 = 6,s3 = 7,s1 = 8)
>>> print('a1',a1,'\na2',a2,'\na3',a3,'\na4',a4)
a1 106 
a2 8 
a3 6 
a4 7

#关键字传参:实参处标明对应关系
>>> def world(s1,s2,s3):
	s4 = s1 + s2 * s3 + s1 * s3
	return s4,s1,s2,s3

>>> a1,a2,a3,a4 = world(6,7,8)
>>> print('a1',a1,'\na2',a2,'\na3',a3,'\na4',a4)
a1 110 
a2 6 
a3 7 
a4 8

#位置参数与关键字传参混用时注意要先位置再关键字参数,且不能重复传参给同一个变量;

#动态参数(*args  **kwargs)
#*args:1.可以接受多个任意参数 2.参数名可以更改,但参数名前必须加*,标准参数名为*args 3.不能按关键字传参,只能按位置传参
>>> def world(*args):
	s = 0
	
	for i in args:
		s += i
		
	return args,s,i

>>> args,s,i = world(8,9,10,11,12)
>>> args
(8, 9, 10, 11, 12)
>>> s
50
>>> i
12

#**kwargs:接收关键字参数,并组织成一个字典
>>> def world(**kwargs):

	for i in kwargs:
		print (i)

	return kwargs

>>> world(a = 1,b = 2,c = 3,d = 4)
a
b
c
d
{'a': 1, 'b': 2, 'c': 3, 'd': 4}

#可以同时放两种动态参数,但要按照先位置参数再关键字参数的顺序,即先*args再**kwargs

#在实参角度上,给一个序列加上*就是将这个序列按顺序打散
#在形参角度上,给变量加上*就是按顺序组合所有序列
#如果序列是关键字形式,则实参使用**打散后,再用形参**组合成字典。

 

关于函数名:
1.函数名就是内存地址;
2.函数名可以赋值;
3.函数名可以作为容器类型的元素,即可变数据类型的元素;
4.函数名可以作为函数的实参及返回值;
5.函数名就是一个第一类对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值