python函数方法语句 python写方法函数( 五 )


函数 调用 会为函数局部变量生成一个新的符号表 。确切的说,所有函数中的变量赋值都是将值存储在局部符号表 。变量引用首先在局部符号表中查找,然后是包含函数的局部符号表,然后是全局符号表,最后是内置名字表 。因此 , 全局变量不能在函数中直接赋值(除非用 global 语句命名) , 尽管他们可以被引用 。
函数引用的实际参数在函数调用时引入局部符号表,因此,实参总是 传值调用 (这里的 值 总是一个对象 引用,而不是该对象的值) 。[1] 一个函数被另一个函数调用时,一个新的局部符号表在调用过程中被创建 。
一个函数定义会在当前符号表内引入函数名 。函数名指代的值(即函数体)有一个被 Python 解释器认定为 用户自定义函数 的类型 。这个值可以赋予其他的名字(即变量名),然后它也可以被当作函数使用 。这可以作为通用的重命名机制:
fib
f = fib
f(100)
0 1 1 2 3 5 8 13 21 34 55 89
如果你使用过其他语言,你可能会反对说:fib 不是一个函数,而是一个方法,因为它并不返回任何值 。事实上,没有 return 语句的函数确实会返回一个值,虽然是一个相当令人厌烦的值(指 None ) 。这个值被称为 None (这是一个内建名称) 。如果 None 值是唯一被书写的值,那么在写的时候通常会被解释器忽略(即不输出任何内容) 。如果你确实想看到这个值的输出内容,请使用 print() 函数:
python中len函数的使用方法python中len()的用法:
新建一个len()函数的使用py,中文编码声明注释:#coding=gbk,函数:len()作用:返回字符串、列表、字典、元组等长度 。语法:len(str) 。参数:str:要计算的字符串、列表、字典、元组等 。返回值:字符串、列表、字典、元组等元素的长度 。
实例:
1、计算字符串的长度 。
2、计算列表的元素个数 。
3、计算字典的总长度,即键值对总数 。
4、计算元组元素个数 。
在Python中,要知道一个字符串有多少个字符,以获得字符串的长度,或者一个字符串需要多少字节,可以使用len函数 。
Python魔法函数(特殊函数) Python中如何实现运算符的重载,即实现例如a+b这样的运算符操作呢?
在C++中可以使用 operator 关键字实现运算符的重载 。但是在Python中没有类似这样的关键字 , 所以要实现运算符的重载,就要用到Python的魔法函数 。Python魔法函数是以双下划线开头 , 双下划线结尾的一组函数 。我们在类定义中最常用到的 __init__ 函数就是这样一个魔法函数,它在创建类对象时被自动调用 。
下面我们来看个简单的例子 。
上述代码示例了几个魔法函数的用法 。__add__函数对应了二元运算符+,当执行a+b语句时,python就会自动调用a.add(b) 。对于上述例子中的v1+v2+v3,则相当于调用了(v1.add(v2)).add(v3) 。
代码中还有一个在Python类定义经常使用的__str__函数,当使用str()时会被调用 。print函数对传入的参数都调用了str()将其转换成易读的字符串形式,便于打印输出,因而会调用类定义的__str__函数打出自定义的字符串 。
代码中还有一个特殊的__call__函数,该函数在将对象采用函数调用方式使用时被调用, 例如v1()相当于v1.call() 。

输出结果为:
上述结果中形式为‘__函数名__’的函数为魔法函数,注意有些对象也是这种形式,例如__class__, __module__等, 这些不是魔法函数 。具体的魔法函数说明可以参考Python官方说明文档 。

推荐阅读