企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## **一、运算符及优先级** Python 运算符(算术运算、比较运算、赋值运算、逻辑运算、成员运算) **1、算数运算符** | 运算符 | 描述 | 实例,a=20,b=10 | | --- | --- |---| | + | 加 | a+b输出结果30 | | - | 减 | a-b输出结果10 | | * | 乘 | a*b 输出结果200 | | / | 除 | a/b输出结果2 | | % | 取模 | a%b输出结果0 | | ** | 取幂 | a**b输出结果20的10次方 | | // | 取整除 | 9/2输出结果4,9.0/2.0输出结果4.0 | **2.比较运算符** | 运算符 | 描述 | 实例 | | --- | --- |--- | | == | 等于 | (a==b)返回False | | != | 不等于 | (a!=b)返回True | | <> | 不等于 | (a&lt;&gt;b)返回True | | > | 大于 | (a>b)返回True | | >= | 大于等于 | (a>=b)返回True | | < | 小于 | (a<b)返回False | | <= | 小于等于 | (a<=b)返回False | **3.赋值运算符** | 运算符 | 描述 | 实例 | | --- | --- |--- | | = | 简单的赋值运算符 | c=a+b,将a+b的运算结果赋值给c(30) | | += | 加法赋值运算符 | c+=a 等效于c=c+a | | -= | 减法赋值运算符 | c-=a 等效于c=c-a | | *= | 乘法赋值运算符 | c*=a 等效于c=c*a | | /= | 除法赋值运算符 | c/=a 等效于c=c/a | | %= | 取模赋值运算符 | c%=a 等效于c=c%a | | **= | 取幂赋值运算符 | c**=a 等效于c=c**a | | //= | 取整除赋值运算符 | c//=a 等效于c=c//a | **4.逻辑运算符** | 运算符 | 描述 | 实例 | | --- | --- |--- | | and | 布尔“与” | (a and b)返回True | | or | 布尔“或” | (a or b)返回True | | not | 布尔“非” | not(a and b)返回False | **5.成员运算符** | 成员运算符 | 描述 | 实例 | | --- | --- | --- | | in | 如果再指定的序列中找到值,返回True,否则返回False | x在y序列中,如果x在y序列中返回True | | not in | 如果再指定的序列中找不到值,返回True,否则返回False | x在y序列中,如果x在y序列中返回False | ``` a="abcdefg" b="b" if b in a : print("b元素在a字符串中") else: print("b元素不在a字符串") ``` **6.位运算符** | 运算符 | 描述 | 实例 a=00001010 b=00010100 | | --- | --- | --- | | & | 按位与运算符 | (a&b)输出结果0 | | I | 按位或运算符 | (a|b)输出结果30 | | ^ | 按位异或运算符 | (a^b)输出结果30 | | ~ | 按位取反运算符 | ~10输出结果-11 | | << | 左移运算符 | a<<2输出结果40 | | >> | 右移运算符 | a>>2输出结果2 | **7.身份运算符** | 运算符 | 描述 | 实例 | | --- | --- |--- | | is | is是判断两个标识符是不是引用自一个对象 | x is y,如果id(x)等于id(y),is返回结果1 | | is not | is not是判断两个标识符是不是引用不同对象 | x is not y,如果id(x)不等于id(y),is not返回1 | **8.三目运算符** 三目运算符可以简化条件语句的缩写,可以使代码看起来更加简洁,三目可以简单的理解为有三个变量,它的形式是这样的 name= k1 if 条件 else k2 ,如果条件成立,则 name=k1,否则name=k2,下面从代码里面来加深一下理解,从下面的代码明显可以看出三目运算符可以使代码更加简洁。 ``` a=1 b=2 if a<b: #一般条件语句的写法 k=a else: k=b k=a if a<b else b    #三目运算符的写法 ``` **9.运算符优先级** ![](https://img.kancloud.cn/30/be/30bef53a87aee3a8a0e1af79cef9f6fb_737x585.png) <br /> ## **二、数据类型及常用操作(数字, bool, str, list, tuple, dict, set)** 数据类型:数字、字符串、布尔值、字符串、列表、元组、字典、集合 序列:字符串、列表、元组 散列:集合、字典 ![](https://img.kancloud.cn/32/a2/32a254d3b848fb261b7ca581abb0fede_716x625.png) 查看不同数据类型的方法,dir(),列如:dir(list) \>>> dir(list) \['\_\_add\_\_', '\_\_class\_\_', '\_\_contains\_\_', '\_\_delattr\_\_', '\_\_delitem\_\_', '\_\_delslice\_\_', '\_\_doc\_\_', '\_\_eq\_\_', '\_\_format\_\_', '\_\_ge\_\_', '\_\_getattribute\_\_', '\_\_getitem\_\_', '\_\_getslice\_\_', '\_\_gt\_\_', '\_\_hash\_\_', '\_\_iadd\_\_', '\_\_imul\_\_', '\_\_init\_\_', '\_\_iter\_\_', '\_\_le\_\_', '\_\_len\_\_', '\_\_lt\_\_', '\_\_mul\_\_', '\_\_ne\_\_', '\_\_new\_\_', '\_\_reduce\_\_', '\_\_reduce\_ex\_\_', '\_\_repr\_\_', '\_\_reversed\_\_', '\_\_rmul\_\_', '\_\_setattr\_\_', '\_\_setitem\_\_', '\_\_setslice\_\_', '\_\_sizeof\_\_', '\_\_str\_\_', '\_\_subclasshook\_\_', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'\] **1、数字** **int** Python可以处理任意大小的正负整数,但是实际中跟我们计算机的内存有关, 在32位机器上,整数的位数为32位,取值范围为-2\*\*31~2\*\*31-1,即-2147483648~2147483647 在64位系统上,整数的位数为64位,取值范围为-2\*\*63~2\*\*63-1,即-9223372036854775808~9223372036854775807。 **long** 跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。 注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。 注意:在Python3里不再有long类型了,全都是int。 py2中 ![](https://img.kancloud.cn/7d/91/7d91de8d08445ece2d2319e7d3c3d6d6_786x157.png) py3中 ![](https://img.kancloud.cn/cd/22/cd22fd60a1d44272560bff3332eae452_720x188.png) **float** 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。 **2、布尔值(bool)** 布尔类型很简单,就两个值 ,一个True(真),一个False(假),,主要用记逻辑判断 也可以将bool值归类为数字,是因为我们也习惯用1表示True,0表示False ``` class bool([x]) Return a Boolean value, i.e. one of True or False. x is converted using the standard truth testing procedure. If x is false or omitted, this returns False; otherwise it returns True. The bool class is a subclass of int (see Numeric Types — int, float, complex). It cannot be subclassed further. Its only instances are False and True (see Boolean Values). ``` ``` # 参数如果缺省,则返回False print(bool()) # False # 传入布尔类型时,按原值返回 print(bool(True)) # True print(bool(False)) # False # 传入字符串时,空字符串返回False,否则返回True print(bool('')) # False print(bool('0')) # True # 传入数值时,0值返回False,否则返回True print(bool(0)) # False print(bool(0,)) # False print(bool(1)) # True # 传入元组、列表、字典等对象时,元素个数为空返回False,否则返回True print(bool(())) # False print(bool((0,))) # True print(bool([])) # False print(bool([0])) # True print(bool({})) # False print(bool({'name':'jack'})) # True ```