python函数即变量 python函数对变量的作用

python中的self首先,对于python,只有针对类来说的self才有意义,所以python中的self , 说的即是python类中的self 。
以下我将结合python类的相关概念叙述 , 必须明确的是,self只能用在python类的方法(即函数)中 。
在我看来,python的类有三个相关概念:属性(即变量)、方法(即函数)、继承 。
1.属性(即变量)
(1)如果变量定义在类下面而不是类的方法下面,那这个变量既是类的属性也是类实例的属性 。
(2)如果变量定义在类的方法下面,如果加了self,那这个变量就是类实例的属性 , 不是类的属性;如果没有加self,这个变量只是这个方法的局部变量 , 既不是类的属性也不是类实例的属性 。
2.方法(即函数)
(1)如果在类中定义函数时加了self,那这个函数是类实例的方法,而不是类的方法 。
(2)如果在类中定义函数时候没有加self , 那这个函数就只是类的方法,而不是类实例的方法 。
3.继承
通俗的讲,子类继承父类 , 也就是子类继承了父类的属性和方法,相当于把父类的属性和方法的定义直接加到子类里来,这个时候以子类为主 。
说明 :以上阐述是基于我个人的理解用最直观的语言进行的总结,如果有错误欢迎提出
Python其实很简单 第十二章 函数与变量的作用域 在前面已经多次提到函数这个概念,之所以没有解释什么是函数 , 是因为程序中的函数和数学中的函数差不多,如input()、range()等都是函数,这些都是Python的标准函数 , 直接使用就可以了 。根据需要 , 用户也可以自定义函数 。
12.1 函数
函数的结构:
def 函数名(参数):
函数体
return 返回值
例如:数学中的函数f(x)=2x+5在Python中可以定义如下:
def f(x):
y=2*x+5
return(y)
如果x取值为3,可以使用如下语句调用函数:
f(3)
下面给出完整的程序代码:
def f(x):
y=2*x+5
return(y)
res=f(3)
print(res)
运行结果:11
如上例中的x是函数f(x)的参数 , 有时也被称为形式参数(简称形参),在函数被调用时,x被具体的值3替换y就是函数的返回值,这个值3也被称为实际参数(简称实参) 。
上例中的y是函数f(x)的返回值 。并不是所有的函数都有参数和返回值 。如下面的函数:
def func():
print('此为无参数传递、无返回值的函数')
func()
输出结果:此为无参数传递、无返回值的函数
可以看出 , 该函数func()无参数,故调用时不用赋给参数值 。
函数也可以有多个参数,如f(x,y)=x2+y2,可用Python语言定义如下:
def f(x,y):
z=x**2+y**2
return z
print(f(2,3)) #调用函数f(x,y)
输出结果:13
也可以通过直接给参数列表中的参数赋值的方法,为参数添加默认值 , 如果用户赋予参数值,则按照用户赋值执行,否则使用默认值 。例如:
def f(x,y=3):
z=x**2+y**2
return z
若调用时参数列表为(2,1),即x赋值为2,y赋值为1:
print(f(2,1))
输出结果为:5
若调用时参数列表为(2),即x赋值为2,y赋值省缺,则y使用默认值:
print(f(2))
输出结果为:13
回调函数,又称函数回调,是将函数作为另一函数的参数 。
例如:
def func(fun,m,n):
fun(m,n)
def f_add(m,n):
print('m+n=',m+n)
def f_mult(m,n):
print('m*n=',m*n)
func(f_add,2,3)

推荐阅读