您的位置:

python常用的魔法函数,python魔法方法有啥用

本文目录一览:

Python的函数都有哪些

【常见的内置函数】

1、enumerate(iterable,start=0)

是python的内置函数,是枚举、列举的意思,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。

2、zip(*iterables,strict=False)

用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用*号操作符,可以将元组解压为列表。

3、filter(function,iterable)

filter是将一个序列进行过滤,返回迭代器的对象,去除不满足条件的序列。

4、isinstance(object,classinfo)

是用来判断某一个变量或者是对象是不是属于某种类型的一个函数,如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例,

返回True。如果object不是一个给定类型的的对象, 则返回结果总是False

5、eval(expression[,globals[,locals]])

用来将字符串str当成有效的表达式来求值并返回计算结果,表达式解析参数expression并作为Python表达式进行求值(从技术上说是一个条件列表),采用globals和locals字典作为全局和局部命名空间。

【常用的句式】

1、format字符串格式化

format把字符串当成一个模板,通过传入的参数进行格式化,非常实用且强大。

2、连接字符串

常使用+连接两个字符串。

3、if...else条件语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。其中if...else语句用来执行需要判断的情形。

4、for...in、while循环语句

循环语句就是遍历一个序列,循环去执行某个操作,Python中的循环语句有for和while。

5、import导入其他脚本的功能

有时需要使用另一个python文件中的脚本,这其实很简单,就像使用import关键字导入任何模块一样。

python常用函数

1、complex()

返回一个形如 a+bj 的复数,传入参数分为三种情况:

参数为空时,返回0j;参数为字符串时,将字符串表达式解释为复数形式并返回;参数为两个整数(a,b)时,返回 a+bj;参数只有一个整数 a 时,虚部 b 默认为0,函数返回 a+0j。

2、dir()

不提供参数时,返回当前本地范围内的名称列表;提供一个参数时,返回该对象包含的全部属性。

3、divmod(a,b)

a -- 代表被除数,整数或浮点数;b -- 代表除数,整数或浮点数;根据 除法运算 计算 a,b 之间的商和余数,函数返回一个元组(p,q) ,p 代表商 a//b ,q 代表余数 a%b。

4、enumerate(iterable,start=0)

iterable -- 一个可迭代对象,列表、元组序列等;start -- 计数索引值,默认初始为0‘该函数返回枚举对象是个迭代器,利用 next() 方法依次返回元素值,每个元素以元组形式存在,包含一个计数元素(起始为 start )和 iterable 中对应的元素值。

python基础-math模块常用的函数

import math

r=math.floor(3.2) #向下取整

print(r)

r=math.ceil(4.5) #向上取整

print(r)

r=abs(-2)

r=round(4.5) #四舍五入

r=math.pow(3,2) #幂运算

r=math.sqrt(25) #开平方

其中 函数fabs和abs的区别:函数fabs的作用是求浮点数x的绝对值;函数abs的作用是求x的绝对值。fabs函数原型:double fabs(double x);abs函数原型:int fabs(int x)。fabs函数参数:参数x是一个浮点数;abs函数参数:参数x是一个整数

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 ()。

以上就是魔法函数的基本使用方法。常见的魔法函数我们可以使用 dir() 函数来查看。

输出结果为:

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

以上代码在Python3.6运行通过.

_是什么意思

__init__属于魔法函数的一种,让我们来看一下它的前世今生吧。后面介绍了其他的魔法函数:__ str__()、__ new__()、__ unicode__()、__ call__()、__ len__()、__repr__()等等

所谓魔法函数(Magic Methods),是Python的一种高级语法,允许你在类中自定义函数(函数名格式一般为__xx__),并绑定到类的特殊方法中。比如在类A中自定义__str__()函数,则在调用str(A())时,会自动调用__str__()函数,并返回相应的结果。在我们平时的使用中,可能经常使用__init__函数(构造函数)和__del__函数(析构函数),其实这也是魔法函数的一种。

Python中以双下划线(__xx__)开始和结束的函数(不可自己定义)为魔法函数。

调用类实例化的对象的方法时自动调用魔法函数。

在自己定义的类中,可以实现之前的内置函数。