首页 > 其他分享 >函数

函数

时间:2022-09-06 22:46:49浏览次数:61  
标签:10 20 函数 fun print def

函数

函数的定义

def fun_name([args]):
	function
	[return xxx]

创建和调用

def calc(a,b)
	c = a + b
	return c
	
result = calc(10,20)
print(result)

函数的参数传递

就是说在你调用时候给出的实际参数,会与开始定义函数的形式参数一一对应(一般靠位置确定)

但是也可以靠这样传递,不过不推荐

result2 = calc(b=10,a=20)
print(result2)

函数的返回值

函数返回多个值的时候,结果为元组。

例:给一串数字10,28,39,34,23,44,53,55;将其分为一组全奇数,一组全偶数。

>>> def fun(num):
	odd=[] #存奇数
	even=[] #存偶数
	for i in num:
		if i%2:
			odd.append(i)
		else:
			even.append(i)
	return odd,even
>>> print(fun([10,28,39,34,23,44,53,55]))

([39, 23, 53, 55], [10, 28, 34, 44])
>>> print(bool(10))
True
>>> bool(-1)
True
>>> bool(0)
False

函数的返回值

若函数没有返回值,可以省略return不写

函数的返回值,如果是1个,直接返回类型

函数的返回值,如果是多个,返回的结果为元组。

>>> def fun1():
	print("hello!")
hello!	
>>> def fun2():
	return 'hello'
>>> res = fun2()
>>> print(res)
hello
>>> def fun3():
	return 'hello','world'
>>> print(fun3())
('hello', 'world')

函数的参数定义

函数定义默认值参数

>>> def fun(a,b=10):
	print(a,b)
#函数的调用
>>> fun(100)
100 10
>>> fun(20,30)
20 30
def print(self,*args,sep=' ',end='\n',)
#print函数的原始定义
>>> print('hello',end='\t')
>>> print('world')
hello world
//此时两个print之间的距离就不再是换行了,而是直接一个分隔符的距离。

个数可变的位置参数

  • 定义函数的时候,可能无法实现确定传递的位置实际参数的个数的时候,用这个
  • 使用*定义个数可变的位置形参
  • 结果为一个元组
>>> def fun(*args):
		print(args)
>>> fun(10)
(10,)
>>> fun(10,30)
(10, 30)
>>> fun(10,20,30)
(10, 20, 30)
>>> def fun(*args):
	print(args)
	print(args[0])
>>> fun(10)
(10,)
10
>>> fun(20,30)
(20, 30)
20

个数可变的关键字形参

  • 定义函数的时候,可能无法实现确定传递的位置实际参数的个数的时候,用这个
  • 使用**定义个数可变的位置形参
  • 结果为一个字典
>>> def fun1(**args):
	print(args)
	
>>> fun1(a=10)
{'a': 10}
>>> fun1(a=20,b=30,c=40)
{'a': 20, 'b': 30, 'c': 40}
def print(self,*args,sep=' ',end='\n',)
print('hello','world','java')
      
hello world java
#例如print函数的参数的个数就是可变。
注意点
#以下代码,程序会报错,个数可变的位置参数,只能是一个
def fun1(*arg1,*arg2)
	pass
#以下代码,程序会报错,个数可变的关键字参数,只能是一个
def fun2(**arg1,**arg2)
	pass
#若同时有位置形参和关键字形参,把位置形参放在第一位
def fun3(*arg1,**arg2)
	pass
def fun(a,b,c):
	print('a=',a)
	print('b=',b)
	print('c=',c)

fun(10,20,30) //位置传参
list1 = [11,22,33]
fun(list1)//xxx 因为这个时候列表只能算一个元素
fun(*list1) //bingo

fun(a=100,c=300,b=200) //关键字传参
dic={'a':111,'b':222,'c':333}
fun(dic) //xxx
fun(**dic) //bingo,关键字传参成功,就是在函数调用的时候把每个键值对转换成关键字传递了

标签:10,20,函数,fun,print,def
From: https://www.cnblogs.com/tupo/p/16663602.html

相关文章

  • Bessel函数
    在这篇文章中,我们将会罗列Bessel函数的一些基本性质。A.DefinitionandBasicPropertiesWedefinetheBesselfunction$J_{\nu}$oforder$\nu$byitsPoissonrep......
  • 创建一个函数getDays,传递一个日期,返回这个日期是一年中的第几天
     function getDays(year,month,day){      //二月天数:判断是否是闰年      vartwo=year%4==0&&year%100!==0 ||year%400==0?29:28 ......
  • R语言中diag函数
     R语言中diag函数用于获取矩阵的对角线元素001、dat<-matrix(1:9,nrow=3)##生成矩阵(方阵,行列相等)datdiag(dat)##取对角线元素......
  • python(三)函数
    (六)字符串的比较is是通过比较两个对象的内存地址,查看内存地址的方法是id()in是包含==是类型和内容一致a=1b=1print(id(a))print(id(b))ifaisb: print......
  • 10.6 函数参数定义_个数可变的位置形参_个数可变的关键字形参
     deffun(*args):#函数定义时,个数可变的位置参数print(args)fun(10,20,30)#输出结果为元组deffun1(**args):#函数定义时,个数可变的关键字形参......
  • C++ 初识函数模板
    1.前言什么是函数模板?理解什么是函数模板,须先搞清楚为什么需要函数模板。如果现在有一个需求,要求编写一个求2个数字中最小数字的函数,这2个数字可以是int类型,可以......
  • 10.5 函数参数定义_默认值参数
     deffun(a,b=10):print(a,b)#函数的调用fun(100)fun(20,30)print('hello',end='\t')#end实际默认值为\nprint('world')E:\PycharmProjects\pythonP......
  • 10.4 函数的返回值
     print(0)#0的布尔值为Falseprint(bool(8))#非0的布尔值为Truedeffun(num):odd=[]even=[]foriinnum:ifi%2:......
  • 力扣636(java)-函数的独占时间(中等)
    题目:有一个单线程CPU正在运行一个含有n道函数的程序。每道函数都有一个位于 0和n-1之间的唯一标识符。函数调用存储在一个调用栈上:当一个函数调用开始时,它......
  • R语言中set.seed()函数的作用
     R语言中set.seed()函数的作用是保证前后生成的随机数保持一致。001、首先查看不使用set.seed函数的情况x=rnorm(10)##生成10个平均值为0,标准差为1的符合正太......