python 开发 -- 03基本数据类型补充
原创
©著作权归作者所有:来自51CTO博客作者mm_goat的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
一,基本数据类型常用操作及内置方法
概念:记录事物的状态
可变类型:值改变,但是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 、该类型的总结
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) #倒过来打印
msg = "hello world"
print(len(msg)) #显示共有几个字符
msg = "hello world"
print("he" in msg) #结果为True
print("he" not in msg) #结果为False
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')
msg="mm:123:3000"
print(msg[0:4]) # mm
msg='mm:123:2000'
res=msg.split(":",1)
print(res) #['mm', '123:2000']第一个切分
需要了解的掌握:
#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]))
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)
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、该类型总结: