一,基本数据类型常用操作及内置方法二、数字类型
1.整型 int2.浮点型 float 三、字符串类型四、列表list
一,基本数据类型常用操作及内置方法概念:记录事物的状态
可变类型:值改变,但是id不变,证明就是在改原值,原值是可变类型
x = 100 print(id(x)) x = 101 print(id(x))
不可变类型:值改变,但是id也变,证明就是在产生值,原值是不可变类型
l = [111,222,333] print(id(l)) l[0] = 6666666 print(id(l))二、数字类型 1.整型 int
1.1 、用途:记录年龄、个数、号码,等级等整数相关的
1.2 、定义方式:
age=18 # age=int(18)
print(type(age))
int数据类型转换: 可以把纯数字组成的字符串转成整型
# res = int(" 18 ")
# print(res,type(res))
1.3 、常用操作+内置方法
数学运算+比较运算
1.4 、该类型的总结
存一个值or存多个值有序or无序可变or不可变 2.浮点型 float
2.1、用途:记录薪资、身高、体重
2.2、定义方式
salary = 3.1 # salary = float(3.1)
loat数据类型转换: 可以把小数组成的字符串转成浮点型
res=float(111)
print(res,type(res))
res=float(" 3.3 ")
print(res,type(res))
2.3、常用操作+内置的方法 #
数学运算+比较运算
2.4、该类型的总结
存一个值不可变 三、字符串类型
4.1、作用:名字,性别,国籍,地址等描述信息
4.2、定义:在单引号双引号三引号内,由一串字符组成。
注意
# 引号定义出来的都是str类型,没有区别 # 三引号可以存放多行字符串 # 引号的嵌套:外层双引号,内层只能用单引号 数据类型转换:str可以把任意类型都转成字符串类型 # res = str([1,2,3]) print(res,type(res))
4.3、常用操作+内置的方法
按索引取值(正向取+反向取) :只能取
msg = "hello world" print(msg[0],type(msg[0])) print(msg[-1]) msg[0]="H" # 只能取不能改
切片(顾头不顾尾,步长)
msg = "hello world" res = msg[1:7] #从第一个字符读到第7个 res = msg[1:7:2] # 1 3 5 (el ) print(res) res = msg[:] print(res) #打印全部字符 res = msg[::-1] print(res) #倒过来打印
长度 Len
msg = "hello world" print(len(msg)) #显示共有几个字符
成员运算in 和not in
msg = "hello world"
print("he" in msg) #结果为True
print("he" not in msg) #结果为False
移除空白strip
msg = " hello "
print(msg.strip()) #最直白的移除空白
msg = "+*-he*llo***%/*" print(msg.strip("*+-/%"))
inp_name = input("username: ").strip()
inp_name = "mm "
inp_pwd = input("password: ").strip()
if inp_name == "mm" and inp_pwd == "123":
print('ok')
else:
print('no')
切分split
msg="mm:123:3000"
print(msg[0:4]) # mm
msg='mm:123:2000'
res=msg.split(":",1)
print(res) #['mm', '123:2000']第一个切分
循环
for x in msg: print(x)
需要了解的掌握:
#1、strip(去掉空格),lstrip(去掉左边的空格),rstrip(去掉右边的空格)
#2、lower(字母小写),upper(字母大写)
#3、startswith(以。。开头),endswith(以。。结尾)
#4、format的三种玩法 #为某个位置传值
es='{} {} {}'.format('mm',18,'male')
res='{1} {0} {1}'.format('mm',18,'male')
res='{name} {age} {sex}'.format(sex='male',name='mm',age=18)
#5、split,rsplit
name='root:x:0:0::/root:/bin/bash'
print(name.split(':')) #默认分隔符为空格
name='C:/a/b/c/d.txt' #只想拿到顶级目录
print(name.split('/',1))
name='a|b|c'
print(name.rsplit('|',1)) #从右开始切分
#6、join
tag=' '
print(tag.join(['mm','say','hello','world'])) #可迭代对象必须都是字符串
#7、replace
name='alex say :i have one tesla,my name is alex'
print(name.replace('alex','SB',1))
打印SB say :i have one tesla,my name is alex #替换
#8、isdigit可以判断bytes和unicode类型,是最常用的用于于判断字符是否为"数字"的方法
age=input('>>: ')
print(age.isdigit())
四、列表list
5.1、作用:多个装备,多个爱好,多门课程,多个朋友等
5.2、定义:[]内可以有多个任意类型的值,逗号分隔
list数据类型转换:把可迭代的类型转成列表,可以被for循环遍历的类型都是可迭代的
5.3、常用操作+内置的方法
按索引存取值(正向存取+反向存取):即可存也可取
l=[111,222,333] print(id(l)) l[0]=666 print(l) print(id(l))
l=[111,222,333] l[0]=666 l[3]=777 # 列表索引不能超出范围 l[3] # 列表索引不能超出范围
切片(顾头不顾尾,步长)
l=[11,22,33,44,55,66,77,88,99] / res=l[1:7:2] / res=l[:] res=l[::-1] print(res) #[99, 88, 77, 66, 55, 44, 33, 22, 11]
长度
print(len(["aaa",111,2222]))
成员运算in 和not in
print(111 in ["aaa",111,2222])
追加
l=[111,222,333] l.append(444) l.append(555) print(l)
插入
l=[111,222,333] l.insert(1,6666) print(l)
l=[111,222,333] res = l.append(444) res = l.insert(1,444) print(res)
删除
万能删除# del l[0]# print(l)
l.remove(指定元素) res=l.remove(222) print(l) print(res) #None l.pop(指定索引) res=l.pop(1) print(l) print(res)
循环
l=[111,222,333] for x in l: print(x)
5.4、该类型总结:
存多个值有序
- 删除 万能删除# del l[0]# print(l)
l.remove(指定元素) res=l.remove(222) print(l) print(res) #None l.pop(指定索引) res=l.pop(1) print(l) print(res)
循环
l=[111,222,333] for x in l: print(x)
5.4、该类型总结:
存多个值有序可变



