基本数据类型
数值类型 4种
整型 int
浮点型 float
布尔型 bool
复数型 complex
整型 int
a = 0
b = -1
type(a) # 输出对象类型
<class 'int'>
浮点型 float
f = 1.1
f = -1.1
type(f)
<class 'float'>
布尔型 bool
t = True #1
f = False #0
type(t)
<class 'bool'>
复数型 complex, 虚部只能用小写j表示(约定俗称),大写也可以!
c = 1 +2j
type(c)
<class 'complex'>
数值运算
a = 10
b = 2
a + b
a - b
a * b
a / b # 5.0
a // b # 5 (整除,向下取整)
10 % 2 # 0 取余
9**2 # 81的平方 幂运算
#结果:81
3**3 # 3*3*3
#结果:27
序列类型
- 字符串 str 不可变
- 列表 list 可变
- 元组 tuple 不可变
s = 's'
#s = 'ss''ss' # 'ssss'
s1 = "ss"
s3 ="ddd'aa'"
s4 = '''aaa'''
s5 = ''' bbb # 三引号可以换行
ddd
'''
注释
- (# ...),单行注释,后面全部被注释
- 三引号(''' ... '''),多行注释,可以支持换行
变量命名的规则:
- 变量名必须由,字母、下划线、数字组成
- 不能以数字开头
- 不能用关键字
555 = 'a' # 报错
我 = 'a' # 汉字也行,不符合规范
False = 1 # 报错
import keyword 导入关键字模块
keyword.kwlist 遍历关键字方法
False == 1 # 一个 = 代表赋值, == 代表,判断是否相等
list 列表
li = [1,2,3,4]
tuple 元组
tu = (1,2,3,4)
tu2 = 1,2
tu3 = (1,)
索引
li = [1, 2, 3, 4, 5]
li[0] #取出第一个元素,索引是从0开始的
正向索引
li[1]
反向索引 , -1 : 取出倒数第一个。 -2: 取出倒数第二个
li[-1]
s[-1]
tu[-2]
切片 取出一小段 (左闭右开)
li[0:2] #[1, 2] 左边边界能取到, 右边边界不能取到
步长
tu = (1, 2, 3, 4, 5)
tu[0:4:3]
#输出结果:
(1, 4)
tu[:] #默认是从 0 - 到最后
# (1, 2, 3, 4, 5)
tu[ 1 : 4 ]
# (2, 3, 4)
tu[ 1 : 4 : ] #默认步长为1
# (2, 3, 4)
tu[ : : ] #全体输出
# (1, 2, 3, 4, 5)
# 负步长
tu[ 3 : 1 : -1 ] #倒过来数
# (4, 3)
tu[ 3 : 1 : -2 ]
# (4,)
赋值运算
li *= 2
a += 1
a *= 4
成员运算
# in 判断是否 在
s = 'asd'
's' in s # True
'm' in s # False
#not in 判断是否 不在
's' not in s # False
'm' not in s # True
可变 id() 获取对象地址 如果id相同, 就说明是同一个内存地址,就说明是同一个对象,但是值发生了改变。
li = [1, 2]
li
# 1, 2] 输出结果
id(li)
#48998792 内存地址
li += li
li
#[1, 2, 1, 2] 输出结果
id(li)
#48998792 内存地址
不可变 id 发生改变,已经不是同一个内存地址,说明不是同一个对象。
# str 字符串
s = 'ss'
id(s)
# 47009440 内存地址
s +=s
s
# 'ssss' 输出结果
id(s)
# 48826832
# tuple 元组
tu = (1,2)
id(tu)
#48987272
tu += tu
tu
# (1, 2, 1, 2) 输出结果
id(tu)
#48541848