一、传递参数与参数类型
传递参数就是对已经定义的函数中的参数赋予一定的值来实现对函数的调用。
传递参数的类型有两种:位置参数和关键词参数,下面举例说明两种类型:
我们先定义一个函数,以梯形的面积函数举例
def tixing(base_up,base_down,height):
return 1/2*(base_up+base_down)*height
接下来开始调用函数
tixing(1,2,3)
上面传入的参数1,2,3分别对应着base_up,base_down,height,这种传入参数的方式就叫做位置参数。
下面是另一种传参方式:
tixing(base_up=1,base_down=2,height=3)
显而易见,我们在调用函数的时候,将每个参数名称后面赋予一个值,这种以名称作为一一对应的参数传入方式就叫关键词参数。
判断题:
tixing(height=3,base_down=2,base_up=1)
tixing(height=3,base_down=2,1)
tixing(base_up=1,base_down=2,3)
tixing(1,2,height=3)
二、设计自己的函数
在学习了第一课以及上述知识之后,我们可以尝试设计符合自己需求的函数了,下面我们来写一个稍微复杂的函数,设计一个敏感词过滤器。
可以分为三部分来进行
第一部分:需求是在桌面上创建一个文件,传入参数name和msg就可以控制在桌面写入的文件名称和内容的函数text_create,并且当桌面上没有这个可以写入的文件时,就要创建一个文件之后再写入。
def text_create(name,msg):
desktop_path = 'C:\\Users\\liuqianqian08\\Desktop\\' full_path = desktop_path + name +'.txt' file = open (full_path,'w') file.write(msg) file.close() print('Done')
text_create('hello','hello world')
这样,敏感词过滤器的第一部分就已经完成了,下面来实现第二部分
第二部分:需求是定义一个text_filter函数,传入参数word,mingan_word,tihuan_word实现过滤,敏感词默认为'lame',替换词默认为‘Awesome’
def text_filter(word,mingan_word = 'lame',tihuan_word = 'Awesome'):
return word.replace(mingan_word,tihuan_word)
text_filter(‘Python is lame!')
这样过滤器的函数也已经完成,最后一步,我们需要把上面两部分整合
第三部分:需求是创建一个text_create_filter函数,功能是在桌面上创建一个文本可以在其中输入文字,但如果信息中含有敏感词的话会被默认过滤后写入文件,文件名参数为name,信息参数为msg
非常好理解的一种写法是直接把上面两部分相加,再整合即可
def text_create(name,msg):
desktop_path = 'C:\\Users\\liuqianqian08\\Desktop\\' full_path = desktop_path + name +'.txt' file = open (full_path,'w') file.write(msg)
def text_filter(msg,mingan_word = 'lame', tihuan_word = 'Awesome'):
return msg.replace(mingan_word,tihuan_word)
def text_create_filter(name,msg):
msg = text_filter(msg) return text_create(name,msg)
text_create_filter('Try','Python is lame!')
以上,一个完整的文本过滤器就已经完成了!