Python学习日记day5 函数

Posted goaway

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习日记day5 函数相关的知识,希望对你有一定的参考价值。

一.为什么要使用函数

  1.避面代码重用

  2.提升可读性

  3.使程序变得易维护

二.函数的定义与调用

  def helloword(): #函数定义,括号中可加参数

    print("get out!")

  helloword() #调用函数

三.函数参数与局部变量  

  形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量

  实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值

  def calc(x,y):   #其中x,y就是形参

    print(x+y)

  calc(a,b) #a,b为实参

  1.默认参数:

    def cout(name,sex,country = "CN"):

      print(name,sex,country)

    cout("yungexing","f")

  2.关键参数

    cout(sex="f",name""feilie) #关键参数要在默认参数之后

  3.非固定参数  

  def user_info(name,age,*args):
  print(name,age,args)
  user_info("link",1000,"pig","GoodGame")
>>>link 1000 (‘pig‘, ‘GoodGame‘)

  另一种非固定参数
  def user_info(name,age,**kwargs):
  print(name,age,kwargs)
  user_info("link",1000,pet= "pig",total = "GoodGame")
>>>link 1000 {‘pet‘: ‘pig‘, ‘total‘: ‘GoodGame‘}
  args和kwargs在调用函数时都可以不填
  4.局部变量
  name = "link"
  def cout_name():
   print("before change",name)
   name = "zelda"
  print("after change",name)
  cout_name(name)
  print(name)
>>>
before change linkafter
change zelda
link
在函数内改变全局变量,方法如下

  name = "link"
  def cout_name():
  global name
  print("before change",name)
   name = "zelda"
   print("after change",name)
  cout_name()
  print(name)
>>>

before change link
after change zelda
zelda

三.嵌套函数

 

def func1():
def func2():
print("the first")
func2()
print("the second")
func1()
print("the last")
>>>

the first
the second
the last

不可以在最外层调用func2,否则会报错。因为函数只有被调用时才会执行

四.递归

  在一个函数内调用自身本身就是递归函数

  

def calc(n):
print(n)
if int(n/2) == 0:
return
else:
return calc(int(n/2))
calc(10)
>>>

10
5
2
1

五.高阶函数

  高阶函数就是将函数名作为参数传入另一个函数之中,或者返回值之中有函数名,例子如下

  def func1(name,fun2):    fun2(name)

def func2(eg):
print(eg)
func1("Fate",func2)
>>>Fate

六.匿名函数
  
匿名函数就是不需要显示的指定函数
  
  res = map(lambda x:x*x,[1,3,5,7,9])
  for i in res:
   print(i)
>>>

1
9
25
49
81

 

 




































































以上是关于Python学习日记day5 函数的主要内容,如果未能解决你的问题,请参考以下文章

JAVA学习日记day5

Python 之路 Day5 - 常用模块学习

Python 之路 Day5 - 常用模块学习

Python学习之路--Day5

Day5 - Python基础5 常用模块学习

python学习——DAY5