Python运算符、表达式、数据类型及常用关键字

运算符

算术运算符

运算符功能说明示例
**幂运算符,用于计算左操作数的右操作数次幂2 ** 3 = 8
%模运算符,商数取余5 % 2 = 1
//整除运算符,商数取整5 // 2 = 2
/除法运算5 / 2 = 2.5
*乘法运算5 * 2 = 10
-减法运算5 - 2 = 3
+加法运算5 + 2 = 7

比较运算符

运算符功能说明示例
>大于5 > 2 返回结果为:True
<小于5 < 2 返回结果为:False
>=大于等于5 >= 2 返回结果为:False
<=小于等于5 <= 2 返回结果为:True
==等于5 == 2 返回结果为:False
!=不等于5 != 2 返回结果为:True

赋值运算符

运算符功能说明示例
**=幂=运算符a **= 3 等价于 a = a ** 3
%=模=运算符a %= 3 等价于 a = a % 3
//=整除=运算符a //= 3 等价于 a = a // 3
/=除=运算符a /= 3 等价于 a = a / 3
*=乘=运算符a *= 3 等价于 a = a * 3
-=减=运算符a -= 3 等价于 a = a - 3
+=加=运算 符a += 3 等价于 a = a + 3

成员运算符

运算符功能说明示例
in成员运算符,检查左操作数是否在右操作数中10 in [10,20,30] 返回结果为:True
not in非成员运算符,检查左操作数是否不在右操作数中40 in [10,20,30] 返回结果为:True

布尔运算符

运算符功能说明示例
and逻辑与,所有项为True则为True5 > 2 and 5 > 7 返回结果为:False
or逻辑或,其中一项为True则为TrueTrue or False 返回结果为:True
not只作用于一个布尔值,值为其相反的布尔值not False 返回结果为:True

表达式

表达式是由运算符和操作数组成的。操作数可以是固定值、常量、变量、函数等。运算符可以是加法、减法、乘法、除法、幂等。
常用Python表达式如下:

表达式示例功能说明
算术表达式3 + 4表示3和4相加结果 7
字符串表达式“hello:” + “boy”用于将两个字符串连接起来,结果为 hello:boy
布尔表达式3 == 4判断3和4是否相等,结果为 False
逻辑表达式3 > 2 and 3 > 4将多个布尔表达式组合起来进行逻辑运算,结果为False
身份测试表达式a is b检查引用是否指向同一个对象,示例为比较a和b的引用,若指向同一对象结果为True,否则为False

Python数据类型

数据类型是指一类值,每个值都属于一种数据类型,觉的数据类型有以下几种:
字符

字符型:str

  • 字符串连接用符号 +

>>>'abc' + 'def'
'abcdef'
  • 字符串复制用符号 *
>>>'abc' * 5
'abcabcabcabcabc'
  • 字符串也可以看作是单个文本的列表,对列表的许多操作也可用作字符串,如:下标取值、切片取值、for循环、in和not in等。
  • 字符串与列表不同的是,字符串是不可变数据类型,而列表是可变数据类型。
  • 字符串可用单引号或双引号开始和结束。
  • 字符串转义符:
    \t 制表符
    \n 换行符
    \ 反斜杠
  • 原始字符串:就是声明字符串什么就是什么,如转义符也当成是字符串的字符,在字符串开始的引号之前加上‘r’表示该字符串为原始字符串
>>>print(r'this is color\'s cat.')
this is color\'s cat.
  • 三重引号表示多行字符串,多行字符串的起止是3个单引号或3个双引号,三重引号之间的制表符、换行符、引号等,都被认为是字符串的一部份,Python的缩进规则不适用于多行字符串。
  • 注释:单行注释用‘#’号,多行注释用三重引号,即多行字符串也可用作多行注释。
  • in和not in操作
# 以下表达式检查左边的字符串是否在右边的字符串中(精确匹配,区分大小写)
>>>'' in 'strr'
True
>>>'cat' not in 'aaa,cat'
False

整型:int

Python3中已经不分int和long了,只有int型,用type()函数可以查看变量的数据类型。

  • 整型的表示形式和转换
表示形式说明转换
二进制以“0B”或“0b”开头(比如0b101)bin():十进制转换为二进制
八进制以 “0o”或“0O”开头(比如0o510)oct():十进制转换为八进制
十进制比如10、20、30int() :接收一个符合整型规范的字符串转换为整型
十六进制以“0x”或“0X”开头(比如0xA7A)hex():十进制转换为十六进制
  • 在Python中当多个变量的值一样时,该值并没有被保留多次,而是这多个变量指向同一个内存,例如:
>>>a = 10
>>>b = 10
>>>c = a
>>>print(id(a), id(b), id(c))
140717869359912 140717869359912 140717869359912

id()可以取出变量的内存地址,从以上结果可以看出3个值一样的变量指向同一地址,那么如果修改了变量a的值,a变量的内存地址和其他变量的内存地址会有什么变化呢,示例如下:

>>>a = 10
>>>b = 10
>>>c = a
>>>print(id(a), id(b), id(c))
140717869359912 140717869359912 140717869359912
>>>a = 20
>>>print(id(a), id(b), id(c))
140717869359944 140717869359912 140717869359912

从以上结果看出变量a的地址变了,b、c的地址没变,因为Python数值型是不可变对象,当改变他的值时,不是修改内存中变量的值,而是把新值放入内存然后修改变量,使得变量指向新值的内存地址。

浮点型:float

  • 浮点型以十进制表示,由整数和小数组成(可以是0)
  • 浮点型可用科学计数法表示,主要针对很大或很小的浮点数
  • 浮点型是双精度的,每个浮点型占据8个字节(64位)

NoneType

  • 数据类型的唯一值是:None

布尔型

  • True 和 False(首字母大写)

列表:list []

  • 可变数据类型,用下标获取值,下标从0开始,也可从-1开始(-1表示倒数第1个列表值,-2表示倒数第2个列表值),列表值也可以包含列表,用多重下标进行访问。
  • 用切片取值,用两个整数,第1个整数为切片开始时的下标,第2个整数为切片结束时的下标,切片向上递增至第2个整数,但不包括他:
>>> strList = ['a', 'b', 'c', 'd']
>>> strList[1:3]
['b', 'c']
>>> strList[:2]
['a', 'b']
>>> strList[2:]
['d']
  • 可用下标改变列表的值:strList[2] = ‘222’
  • 列表连接和复制:与字符串一样也是用符号 ‘+’ 和 ‘*’
  • 可用del语句从列表中删除值:del strList[2]

元组:tuple ()

除以下两点外,元组数据类型与列表数据类型一样:

  1. 元组用()表示,列表用[]表示
  2. 元组是不可变数据类型,列表是可变数据类型

字典:dict {key:value, key:value}

  • 字典中的键值项是不分排序的,键值对输入的顺序并不重要,可用in 或 not in 检查某个键或值是否存在于字典中:
>>> spam = {'color':'red','age':'38'}
>>> 'color' in spma 等价于 'color' in spam.keys()
>>> 'red' in spam.values()

Python关键字

TrueFalseNoneandor
innotisimportclass
defglobalasifelif
elseforwhilepassbreak
returncontinuefromtryexcept
raisewithassertasyncawait
delfinallylambdanonlocalyield

Python内置函数

type()id()int()hex()bin()
oct()input()print()str()float()
list()tuple()dict()bytes()abs()
all()any()ascii()bin()bool()
breakpoint()bytearray()callable()chr()classmethod()
compile()complex()delattr()dir()divmod()
eval()exec()filter()format()frozenset()
getattr()hasattr()hash()help()isinstance()
issubclass()iter()len()locals()map()
max()min()memoryview()next()object()
oct()open()ord()pow()property()
range()repr()reversed()round()set()
setattr()slice()sorted()staticmethod()sum()
super()vars()zip()_import_()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值