您的位置:

python魔法方法之算术运算(Python函数运算)

本文目录一览:

Python中的算术运算符有哪些呢?

1. 比较运算符:

如果比较式成立,返回True;不成立,则返回False。

常见的比较运算符如下:

除了简单的两值相比之外,比较运算符还支持比较复杂的比较。

(1)多条件比较:

可以先给变量a赋值,然后做多条件比较。

1 a = 3

2 print(1 a 5)

(2)变量的比较:

给变量a和变量b分别赋值,进行比较。

1 a = 3

2 b = 3

3 print(a != b)

4

5 s1 = 'duwangdan'

6 s2 = 'DuWangDan'

7 print(s1 == s2)

(3)函数结果的比较:

1 print(abs(-1) len('duwagndan'))

2 # abs():返回输入参数的绝对值

在比较运算中有一些需要留意的小问题:

不同类型的对象不能用“、=、、=”进行比较,但可以用“==、!=”做比较。

1 print(21 == len('duwangdan'))

在文章开头说过,True对应的是1,False对应的是0。看下面这个例子,False+True其实相当于0+1:

1 print(False + True False + False)

2. 成员运算符:

成员运算符的关键词是“in”,判断一个元素是否在某一个列表中。运行如下程序后,可得到反馈结果。

1 a = 1

2 b = 'beautiful'

3 album = [1,'beautifully',False,7]

4 # 创建列表,命名该列表为album

5 print(a in album)

6 print(b in album

当album=[]时,表示该列表为空。

如果想在album中新增内容,可以用append方法来实现。新增后,会在列表末尾显示新增的内容。

1 album = [1,'beautifully',False,7]

2 album.append('Wow')

3 # 用append()方法在album中新增内容

4 print(album)

3. 身份运算符:

身份运算符是用来比较两个对象是否是同一个对象,而之前比较运算符中的“==” 则是用来比较两个对象的值是否相等。

身份运算符主要用“is、is not”来判断。

1 a = 'duwangdan'

2 b = 'duwangdan'

3 print(a is b)

4 print(a is not b)

4. 布尔运算符:

在Python中有3种布尔运算符:and、or、not。

如下例子,返回结果分别为:False、True、True。

1 print(1 2 and 1 0)

2 print(1 2 or 1 0)

3 print(not False)

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运行通过.

Python之运算符汇总

第一类:Python算术运算符

算术运算符主要是对两个对象进行算术计算的符号,其运算逻辑与数学的概念相似,因此比较好理解,常见的算术运算符有:

+:加,对两个对象进行相加运算;

-:减,一个数减去另一个数,或者得到负数;

/:除,一个数除以另外一个数;

*:乘,两个数相乘,或者返回一个被重复若干次字符串;

%:取模除,返回两个数相除的余数;

//:取整数,返回两个数相除所得商数的整数部分;

**:幂运算,返回X的Y次幂。

第二种:Python比较关系运算符

对于两个对象进行比较,其运算对象可以是数值也可以是字符串。

==:等于,判断两个对象是否相等,这里的相等是指两个变量的值相等而两个变量却不相同;

此外,其他比较运算符还包括:!=不等于,判断两个对象不相等,大于,小于,=大于等于,=小于等于。

第三种:Python赋值运算符

赋值运算符是编程开发中最常用的运算符,即对一个对象进行赋值,将运算符右侧的值赋值给左侧的变量。

=:简单的赋值运算符,用于变量的赋值;

+=:加法赋值运算符;

此外,-=、*=、/=、/=、%=、//=等。

第四种:Python逻辑运算符

用于逻辑预算的符号,一般用于判断两个变量的交并集,一般返回一个布尔值,其运算原理与数学中的逻辑运算相同,包括:

and:逻辑与运算;

or:逻辑或运算;

net:逻辑非运算。

第五种:Python位运算符

位运算符是对Python对象进行按照存储的bit操作,其运算对象是二进制的格式,一般我们在开发过程中用到的比较少。

: 按位与运算符,参与运算的两个值相应位都为1,则该位返回为1,否则为0。

| :按位或运算符,只要对应的两个二进位有一个为1时,则该位返回1。

^ :按位异或运算符,当对应位相异时,结果为1。

~ :按位取反运算符,对数据的每个二进制位取反,即把1编程0,把0编程1。

:左移动运算符,将二进制位全部左移,高位丢弃,低位补0。

:右移动运算符,将二进制位全部右移,低位丢弃,高位补0。

第六:Python成员运算符

用于判断两个对象的是否存在包括关系,即一个对象中是否包含另外一个对象,其返回结尾为布尔值。成员运算符只有in和not

in,即判断指定的值是否在某个对象中,这个对象可以是字符串,也可以是元组、列表。

第七:Python身份运算符

判断是否引用自一个对象,主要是通过两个对象的存储单位id进行对比判断两个变量是否相同,其中运算符有is和is

not,表示两个标识符是不是引用自一个对象。

==:逻辑运算符,主要用来验证两个变量的value值是否相同;

is:是身份运算符,判断两个变量是否相同,即其物理存储地址id相同。