ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python入门--第二课

2022-02-27 19:33:32  阅读:213  来源: 互联网

标签:word 第二课 python text -- base 参数 msg name


一、传递参数与参数类型
传递参数就是对已经定义的函数中的参数赋予一定的值来实现对函数的调用。

传递参数的类型有两种:位置参数和关键词参数,下面举例说明两种类型:

我们先定义一个函数,以梯形的面积函数举例

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!')

以上,一个完整的文本过滤器就已经完成了!

标签:word,第二课,python,text,--,base,参数,msg,name
来源: https://www.cnblogs.com/wjqzqbx/p/15943095.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有