方法的建立python
咱们建立方法能够用到def关键字,好比函数
def run(): spa
print('跑步')
对象
run() #在方法里面能够进行咱们想要的操做,而后咱们须要调用run()才能实现这些操做内存
方法调用参数容器
咱们先定义一个变量a=1,好比咱们要在方法内对这个值进行改变变量
#!/bin/sh/python
方法
a = 1
return
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