python重新定义运算符,Python定义新函数

  python重新定义运算符,Python定义新函数

  本文主要详细介绍python的功能,使用python。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

  

目录
python函数一、函数定义二、自定义函数一、自定义函数规则二、通用形式三、函数调用四、形参类型五、变量作用域六、递归函数调用python的文件操作作业练习一:练习二:总结

  

python函数

  

一、函数定义

  功能是有组织的、可重用的,并且是用于实现单个或相关功能的代码段。

  函数可以提高应用程序的模块化和代码的重用率。

  你已经知道Python提供了很多内置函数(库函数),比如print()。

  但是你也可以创建你自己的函数,我们称之为自定义函数。

  函数类型有:库函数、自定义函数。

  

二、自定义函数

  

1、自定义函数规则:

  (1).函数代码块以def关键字开始,后面是函数标识符名称和括号()。

  任何参数和传入的参数都必须用括号括起来。圆括号可以用来定义参数。

  (2).函数的第一行语句可以选择使用一个文档字符串—用于存储函数描述。

  该函数以冒号开头并缩进。

  (3).return [expression]结束函数,并有选择地向调用方返回值。不带表达式的Return等同于不返回任何表达式。

  

2、一般形式

  注:如果没有返回值,那么return后面的表达式可不用写。

  

三、函数调用

  定义函数只是给函数一个名字,指定函数中包含的参数(形式参数)和代码块结构。这个函数的基本结构完成后,可以调用另一个函数,直接从Python提示符执行。调用函数时,参数是实际参数.

  

四、参数

  函数的主要类型有:形式参数、实际参数,具体如上三中所述

  

正式参数类型:

  1、必备参数

  必需的参数必须以正确的顺序传递给函数。调用的次数必须与声明的次数相同。要调用printme()函数,必须传入一个参数,否则会出现语法错误。

  2、关键字参数(使用键-值来传参)

  关键字与函数调用密切相关,函数调用使用关键字参数来确定传递的参数值。使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为Python解释器可以将参数值与参数名相匹配。

  3、默认参数

  调用函数时,如果没有传入,默认参数的值将被视为默认值。

  4、不定长参数(可变长参数)

  您可能需要一个比您第一次声明它时能处理更多参数的函数。这些

  参数叫做不定长参数,和上述2种参数不同,声明时不会命名。

  

  

  

五、变量作用域

  定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。

  局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。如下实例:

  

  

  

六、函数的递归调用

  例题(n的阶乘):

  

  递推归纳:将问题转化为比原问题小的同类规模,归纳出一般递推公式,故所处理的对象要有规律的递增或递减。

  递归终止:当规模小到小规模到一定程度应该结束递归调用,逐层返回常用语句条件来控制何时结束递归。

  注:原问题层层分解为类似的子问题。

  

  

python的文件操作

  Python提供了文件对象,并内file_object =open(path,mode)。置了open函数来获取一个文件对象。Open函数的使用:其中,file_object是调用open函数后得到的文件对象;path是一个字符串,代表要打开文件的路径;而mode是打开文件的模式,常用的模式如下表所示。

  

  在os.py中要打开Task1文件进行读写,需要使用r+模式,实现如下:f = open(’./Task1’,‘r+’)。简单一个语句便实现了打开文件的操作,之后对该文件的操作只需对新得到的文件对象f,使用文件对象提供的方法即可。

  常用方法:

  

  例题:

  实例1将文件Task1的内容全部读入到fls列表中。实例二要将文件首字符为3的行中每一个数字加起来,不包括3,即10 5 19 20 37;然后,将结果写入到文件末尾。

  分析:

  首先要获取首字符3,为此,可以用格的listsplit()函数将每一行字符串按空格分解为每个元素不包含空。然后判断list[0]是不是字符3。然后需要计算该list从1号元素开始的所有元素的和。最后,需要将结果写回文件,所以,文件的打开方式应为r+。

  

#<程序:读取文件os.py,计算并写回>

  f = open("./Task1.txt",r+); fls = f.readlines()

  for line in fls:

   line = line.strip()

   lstr = line.split()

   if lstr[0] == 3:

   res = 0

   for e in lstr[1:]:

   res+=int(e)

  f.write(\n4 +str(res)); f.close()

  

  

  

课后作业

  

  

习题1:

  

  

#<程序:第三次培训作业1>

  def cf(x,n):

   if n==0:

   f=1;

   else:

   f=x*x**(n-1)

   return f

  x=int(input("请输入x值:"))

  n=int(input("请输入n值:"))

  f=cf(x,n)

  print("x的n次方的值为:",f)

  

  

  

习题2:

  

  

#<第三次培训作业2>

  def age(n):

   if n==1:

   a=10

   else:

   a=age(n-1)+2

   return a

  print(age(5))

  

  

  

总结

  本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注盛行IT软件开发工作室的更多内容!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: