python初学者(六)----函数

xiaoxiao2021-02-28  15

我们都知道,每一种语言,都会有函数这个玩意,因为有函数在,就可以简化代码了,不至于让代码太过于臃肿了

先了解一下几种函数的类型,面向对象型的和面向过程型的函数

#面向对象函数的类写法是前面写的是class,即表示的是类

#面向过程的函数和函数式编程,函数的前面写的是def

so,我们来说一下python的用法吧

def func1(): print('in the func1') return 0 这个就是最简单的python的函数的用法,def声明一下,这就表明是函数,函数都要有返回值的,返回值表示返回的函数执行的结果

x = func1()这就是返回了函数的返回值,不信,你打印看看?

最简单的函数实现了,下面看一个比较复杂一点的吧,先上代码

#!/user/bin/env python # -*- coding:utf-8 -*- # Author:yongzheng import time #倒入模块 def logger(): time_format = '%Y-%M-%d %X'#x代表小时分钟秒 time_current = time.strftime(time_format)#引用上面的时间格式 with open('a.txt','a+') as f:###就是打开一个文件,准备往这个文件中写信息的一种格式 f.write('%s end action\n'%time_current) def test1(): print('in the test1') logger() def test2(): print('in the test2') logger() def test3(): print('in the test3') logger() test1() test2() test3() 这段代码有几点需要说明一下,第一,import,这就是导入包,导入时间包这里,第二,函数之间可以嵌套调用,第三,with。。。as。。。其实就是表示打开文件的意思,其他的,还有什么不明白的么?有的话留言啦,一定会解答的

下面说一下,函数可以没有返回值的,如果没有返回值,那返回的信息就是none,当然,返回值随便啦,就比如数字,字符串,列表啦。。。。等等都是可以的,比如:

def test3(): return 0,'hello',['a','b','c'],{'name':'wyz'}上面说的都是无参类型的函数,函数既然有无参的,那就肯定会有有参的函数,但凡有点代码基础的,我就不多说基础有参函数了,无非就是形参和实参两种类型需要注意一下,算了,我不放心,还是贴上一段代码吧,如下

def test(x,y,z): print(x) print(y) print(z) # test(y=2,x=1) #与形参顺序无关 # test(1,2) #与形参一一对应 #test(x=2,3) test(3,z=2,y=6)形参的几种形式,上面都一览无余了,参数不管顺序,但是有几点需要注意

#######关键参数不能写在位置参数前面的!!!!!

###默认参数的特点:调用参数时,默认参数可有可无

上面说的,都是有参无参的简单用法,下面说一下比较复杂一点的用法,我的代码中都有注释,你们看看

#!/user/bin/env python # -*- coding:utf-8 -*- # Author:yongzheng def test(*dsa): print(dsa) test(1,2,3,4,5,5,5)#整体输出所有的参数 test(*[1,2,3,4,5,6,7])#第二种形式而已 def test1(x,*args): print(x) print(args) test1(1,2,3,4,5,6,7)#x取第一个,剩下的交给指针,接受剩下的参数 def test2(**kwargs):## **kwargs 接受N个关键字参数,转换成字典的方式(键值对方式如{'name': 'wyz', 'age': 8, 'sex': 'f'}) print(kwargs) print(kwargs['name'])#取键得value,如此处得到wyz print(kwargs['age'])#此处得到8 test2(name = 'wyz',age = 8,sex = 'f')#{'name': 'wyz', 'age': 8, 'sex': 'f'} test2(**{'name':'wyz','age':9})##第二种写法 def test3(name ,**kwargs): print(name) print(kwargs) test3('alex',age = 18,sex = 'f') def test4(name,age = 18,**kwargs): print(name) print(age) print(kwargs) test4('way',age=34,sex = 'm',hobby = 'tesss') 其实吧,你们把他们放到工具中泡一下就明白到底什么意思了,很简单啦!

好啦,写了一天博客了,就这么着吧,明天继续哈,不懂得,就给我留言,我会尽快回复的!

转载请注明原文地址: https://www.6miu.com/read-2150373.html

最新回复(0)