函数

it2024-12-09  16

 

1.使用def test(x): (使用def(关键字)定义函数,test是函数对象,x为参数)

               ‘注释’

                2*x

              return x  

#函数可以传参数也可以不传参数

def test(x):#可以传参数也可以不传参数 ''' 2*x+1 :param x: 整型数字 :return: 返回计算结果 ''' y =2*x+1 return y print(test) a =test(3) print(a) def test():#可以传参数也可以不传参数 ''' 2*x+1 :param x: 整型数字 :return: 返回计算结果 ''' x = 3 y =2*x+1 return y a = test() print(a)

2、函数的返回值的多种形态

def test01(): msg = "test01" # print(msg) def test02(): msg = "test02" # print(msg) return msg def test03(): msg = "test03" # print(msg) return 1,2,4,'a',['alex'],{'name':'alex'},None def test04(): msg = "test04" # print(msg) return {'name':'alex'} t1 = test01() #返回值数 =0 :返回None t2 = test02()#返回值数 =1 :返回object t3 = test03()#返回值数>1 :返回tuple(元组) t4 = test04()#返回值数 =1 :返回object print(t1) print(t2) print(t3) print(t4)

 3.函数的参数分为形参和实参,如:def test(x): #形参

#形参的特点,不占用内存空间,只有在调用时才会分配地址,调用完成之后就会被释放掉

                                                          ‘注释:描述代码功能’  

                                                          print(x)#代码块

                                                         test(1)#实参

4.位置参数

#位置参数 :实参与形参位置一一对应,缺一不可,多一个也不行 def test(x,y,z):#形参 print(x) print(y) print(z) res = test(1,3,4)#实参

5.关键字参数

#关键字参数:无需一一对应,缺一不行多一不行 def test(x,y,z):#形参 print(x) print(y) print(z) res = test(x=2,z=5,y=7)#实参

6.位置参数必须在关键字参数的左边

 

#位置参数必须在关键字参数的左边 def test(x,y,z):#形参 print(x) print(y) print(z) # test(2,y=5,7)#报错 # test(2,5,y=7)#报错 test(2,5,z=7)#实参

7.形参的参数默认值

 

def handle(x,type = 'mysql'):#其中mysql是type的默认值,type是默认参数 print(x) print(type) #handle('hello')#只给x赋值,此时type 取默认值mysql handle('hello',type = 'sqlite')#也可以给默认参数赋值,此时打印type的值就是sqlite #handle('hello','sqlite') #此处type的值使用的是位置参数传值

8.参数组:**字典 *列表

*列表的例子

#参数组:**字典 *列表 def test(x,*args): print(x) print(args) # print(args[0][1]) #test(1,2,3,4,5,6) #args 返回的结果是个元组 #test(1,{'name':'alex'}) # test(1,[2,3,4,5,6]) test(1,*[2,3,4,5,6])

**字典的例子

#**字典 def test(x,**kwargs): print(x) print(kwargs) test(1,y = 2,z = 3) # test(1,y = 2,z = 3,z = 4) #会报错,一个参数不能传两个值

9.同时使用字典和列表参数

def test(x,*args,**kwargs): print(x) print(args,args[-1]) print(kwargs,kwargs['z']) # test(1, 1, 22, 3, 4,x= 1, y=2, z=3)#报错,传的x值与形参x重复 test(1,1,22,3,4,y = 2,z = 3)

def test(x,*args,**kwargs):#同时传列表和字典的形参 print(x) print(args,args[-1]) print(kwargs,kwargs['y']) test(1,*[1,2,3],**{'y':1})

 

 

 

 

转载于:https://www.cnblogs.com/renzhiqiang/p/10861819.html

最新回复(0)