上一节主要说一些简单语法,变量,本章主要介绍数据类型。

Python所有的数据类型都是类,每个数据值都是累的“实例”

Python中有6种主要的内置数据类型:数字、字符串、列表、元组、集合和字典。

Python中的数字类型有4种:整数、浮点数、复数和布尔类型。

1.整数类型

整数类型为int类

>>> 28
28
>>> type(28)
<class 'int'>
>>> 0b11100       # 二进制表示方式     
28
>>> 0o34             #八进制表示方式     
28
>>> 0x1c             #十六进制表示方式     
28

2.浮点型

浮点型主要用来存储小数数值,为float类,Python只支持双精度浮点类型

>>> 1.0
1.0
>>> 2.0
2.0
>>> type(2.0)
<class 'float'>
>>> 3.36e2         #科学计数法,e2表示10的平方
336.0

3.复数类型

整数和浮点数统称为实数,与实数对应的是复数,复数在数学中被表示位:a+bi,其中a被称为实部,b被成为虚部,i被成为虚数单位。

>>> 1+2j
(1+2j)
>>> (1+2j) + (1+2j)
(2+4j)
>>> c = 3+4j
>>> type(c)
<class 'complex'>

4.布尔类型

bool类,bool是int的子类,它只有两个值:True和False

>>> bool(0)
False
>>> bool(2)
True
>>> bool(1)
True
>>> bool('')
False
>>> bool(' ')
True
>>> bool([])
False
>>> bool({})
False

5.运算符

a.算数运算符

运算符

名称

例子

说明

+

a+ b

ab

-

a-b

ab

*

a*b

ab

/

a/b

a除以b

%

取余

a%b

a除以b余数

**

a**b

ab次幂

//

地板除法

a//b

小于ab最大整数

vim suanshu.py

# -*- coding: utf-8 -*-
"""
@Time: 2024/5/21 11:31
@File: suanshu.py
@IDE: PyCharm
"""
a = 1
print(a)           # 1
print(-a)          # -1
print(1 + 1)     # 2
print(2 - 1)      # 1
print(2 * 3)      # 6
print(3 / 2)      # 1.5
print(3 % 2)      # 1
print(3 // 2)      # 1
print(-3 // 2)      # -2
print(10 * 2)      # 20
print(10.2 + 10)      # 20.2
print(1.0 + True + 1)      # 3.0

b.比较运算

运算符

名称

例子

说明

==

等于

a == b

a等于b返回True否则返回False

!=

不等于

a != b

==相反

>

大于

a>b

a大于b返回True否则返回False

<

小于

a<b

ab返回True否则返回False

>=

大于等于

a>=b

a大于等于b返回True否则返回False

<=

小于等于

a<=b

a于等于b返回True否则返回False

>>> a = 1
>>> b =2 
>>> a > b
False
>>> a < b
True
>>> a <= b
True
>>> 1.0 == 1
True
>>> 1.0 != 1
False
#字符串比较
>>> a = 'Hello'
>>> b = 'Hello'
>>> a == b
True
>>> a = 'World'
>>> a > b
True
>>> a = []
>>> b = [2,1]
>>> a > b
False
>>> a=['2']
>>> a > b
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: '>' not supported between instances of 'str' and 'int'
#因为a与b的元素类型不一致所以无法比较

c.逻辑运算

运算符

名称

例子

说明

not

逻辑非

nota

aTrueFalseaFalseTrue

and

逻辑

aandb

abTrue计算结果True否则False

or

逻辑

aorb

ab为False时计算结果为False,否则True

>>> a = 1
>>> b = 0
>>> def f1():
    print('--进入函数发')
    return True
>>> (a>b) or f1()
True
>>> (a<b) or f1()
--进入函数发
True
>>> (a<b) and f1()
False
>>> (a>b) and f1()
--进入函数发
True

d.位运算符

运算符

名称

例子

说明

~

位反

~x

x取反

&

x & y

xy进行运算

|

x|y

xy进行运算

^

异或

x^y

xy进行位异或运算

>>

右移

x>>a

x右移a高位才用符号位补位

<<

左移

x<<a

x左移a0补位

>>> a = 0b10110010
>>> b = 0b01011110
>>> a | b
254
>>> a & b
18
>>> a ^ b
236
>>> ~a
-179
>>> a >> 2
44
>>> a << 2
712
>>> c = -20
>>> ~c
19

e.赋值运算符

运算符

名称

例子

说明

+=

赋值

a += b

等价于a = a + b

-+

赋值

a-= b

等价于a = a-b

*=

赋值

a*= b

等价于a = a + b

/=

赋值

a/= b

等价于a = a / b

%=

取余赋值

a%=b

等价于a=a% b

**=

幂赋值

a**=b

等价于a=a** b

//=

地板除赋值

a//= b

等价于a=a // b

&=

赋值

a&=b

等价于a =a& b

|=

赋值

a|=b

等价于a=a| b

^=

位异或赋值

a^=b

等价于a=a^ b

<<=

左移赋值

a<<=b

等价于a=a<<b

>>=

右移赋值

a>>=b

等价于a=a >>b

>>> a = 1
>>> b =1 
>>> a += b
>>> a
2
>>> a += b+3
>>> a
6
>>> a -= b
>>> a
5
>>> a *= b
>>> a
5
>>> a /= b
>>> a
5.0
>>> a %= b 
>>> a
0.0
>>> a = 0b10110010
>>> b = 0b01011110
>>> a |= b
>>> a
254
>>> a ^= b
>>> a
160

6.运算符优先级

优先级

运算符

说明

1

()

小括号

2

**

3

~

4

+,-

正负号

5

*,/,%,//

乘、除取余、地板除

6

+,-

7

<<,>>

位移

8

&

9

^

位异或

10

|

位或

11

<,<=,>,>=,<>,!=,==

比较

12

not

逻辑非

13

and,or

逻辑逻辑或