python入门(四)

方法的创建

  我们创建方法可以用到def关键字,比如

  def run():

    print('跑步')

  run()  #在方法里面可以进行我们想要的操作,然后我们需要调用run()才能实现这些操作

方法调用参数

  我们先定义一个变量a=1,比如我们要在方法内对这个值进行改变

  #!/bin/sh/python

  a = 1

  def run(a): #a为形参

    # global a

    a += 1

    print(a) # 2

  run(a) # 把变量a作为实参传入,相当于把1传进去

  print(a) # 1

  打印结果为2和1,为什么我们的a值最终没有进行改变?在python中函数(方法)也是一个对象,当我们创建run函数时,会在内存中重新开辟出一个空间来存储这个函数对象,并指向函数名变量,调用函数时找到函数对象并开辟出新的空间执行内部的代码,并把参数的值也传进去了,我们不能把两个a当成同一个变量。我们可以这么考虑,就是相当于有一个容器里面定义了一个变量a,当新建run函数时,在这个容器里面会在创建一个容器,容器里有个变量a,但是他没有值,我们把外层容器的值赋值给力内层a,那么两个变量就毫无关系。那么我们要怎么通过函数实现改变外部a的改变?有两个操作第一种就是使用global关键字标注a,或者是用return关键字返回值给外部变量a

  a = 1

  def run(a):

    a += 1

    return a

  a = run(a)

  print(a)  # 2

posted @ 2019-11-15 21:21  风清扬香四溢  阅读(142)  评论(0)    收藏  举报