数字类型、字符串、列表
中心主题
数字类型
int
-
用途:记录整数
-
定义方式:age=18 #age=int(18)
-
使用
-
数据类型转换:#int只能将字符串中包含纯数字转成整型
-
进制转换
-
-
十进制转为其他进制
-
-
float
-
能将字符串中的小数,转换为浮点类型
字符串类型及内置方法
用途:用来表示描述性的数据
定义方式:单引号、双引号、三引号引起来
使用注意:调用字符串的方法并没有改变字符串本身
使用
-
按索引取值:按照索引号取值,没有的话报错
-
>>> s = 'hello big baby' >>> print(s[0]) h
-
成员运算
-
判断一个子字符串是否存在于一个大的字符串中
-
>>> msg = 'i am fine enough.' >>> print('am' in msg) True >>>
-
-
循环取值通过for,循环把容器内的值取完
-
>>> data = 'abc..xyz' >>> for i in data: ... print(i,end=' ') ... a b c . . x y z >>>
-
切片
-
从一个大的字符串中截取一段新的小字符串出来
-
取值
-
格式:变量名[起始位置索引值 : 结束位置索引值 : 步长]
-
① 顾头不顾尾 ② 左边固定是头,右边是尾 ③ 步长表示每几个取一次 ④ 默认从左往右取值
-
负数取值
-
-
方法
-
strip()
-
作用:去掉字符串左右两边的字符(管不了字符中间的)
-
注意:去掉的过程是从两端向中间检索识别然后去除的,默认空格一定会去掉
-
>>> name = '&&&&zhang&&' >>> print(name.strip('&')) zhang
-
了解内容
-
lstrip只处理字符左边的空格,rstrip只处理字符右边的
-
-
-
切分split()
-
作用:通过指定分隔符对字符串进行切片,输出结果是列表
-
如果不指定的话,split和rsplit效果是一样,从左往右,而rsplit从右往左
-
-
大小写:lower()转小写,upper()转大写
-
判断字符串“是否”以什么开头或结尾
-
>>> s1 = 'i am fine.' >>> print(s1.startswith('i')) True >>> print(s1.endswith('i')) False
-
format()
-
按位置占位
-
>>> str = 'my name is {},my age is {}'.format(18,'jason') >>> print(str1) my name is 18 my age is jason
-
按索引占位
-
指名道姓占位
-
-
join ()
-
将容器类型中的多个元素通过指定字符拼接成一个字符串。join和切分是相反的操作
-
>>> print('>>> 先切分') >>> 先切分 >>> msg = 'get|a.txt|3389' >>> k = msg.split('|') >>> print(k) ['get', 'a.txt', '3389'] >>> print('列表转为str') 列表转为str >>> msg1 = '|'.join(k) >>> print(msg1) get|a.txt|3389 >>>
-
-
replace()
-
语法结构:str.replace(old, new,替换个数)
-
>>> msg = 'he is tall,he likes oranges,he can fly.' >>> msg1 = msg.replace('he','she',2) >>> print(msg1) she is tall,she likes oranges,he can fly.
-
-
isdigit()
-
判断字符串中包含的是否为纯数字
-
>>> print('3'.isdigit()) True >>>
-
-
长度 len()
-
索引
-
find()
-
print(s.find('dsb')) # 返回的是d字符所在的索引值,找不到的时候不报错返回的是-1
-
>>> mag = 'dsb' >>> print(mag.find('dsb')) 0
>>>
-
print(s.find('i',0,3)) # 还可以通过索引来限制查找范围mag
-
>>> mag = 'dsb' >>> print(mag.find('dsb')) 0 >>> print(mag.find('dsb',1,2)) -1 >>>
-
-
index()
-
用法和find()一样,但是找不到时会报错
-
>>> print(mag.index('d')) 0 >>> mag = 'dsb' >>> print(mag.index('d')) 0 >>> print(mag.index('d',1,2)) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found >>> print(mag.index('a')) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: substring not found >>>
-
-
count
-
print(s.count('n')) # 统计字符出现的次数
-
>>> msg = '12314' >>> print(msg.count('1')) 2 >>> print(msg.count('4')) 1 >>>
-
-
-
填充
-
center()
-
格式:str.center(width,'填充字符')
-
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。
>>> print('中心'.center(8,)) 中心 >>> print('中心'.center(8,'-')) ---中心--- >>>
-
-
ljust和rjust
-
ljust()是右对齐
-
rjust() 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。
-
-
zfill()
-
格式:str.zfill(width)
-
返回指定长度的字符串,原字符串右对齐,前面填充0
-
-
-
expandtabs()
-
把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8
-
-
改变大小写
>>> msg = 'heLLo worLd' >>> msg1 = msg.upper() >>> print(msg1) HELLO WORLD >>> print(msg.capitalize()) Hello world >>> print(msg.swapcase()) HEllO WORlD >>> print(msg.title()) Hello World
-
is数字系列
-
str.isnumeric() 只要是数字都识别
-
str.isdecimal() 只识别普通的阿拉伯数字(unicode)
-
str.isdigit() 通常情况下使用isdigit就已经满足需求了(bytes,unicode)
-
列表类型及内置方法
作用:存储多个数据
定义:[]内多个任意类型的数据,逗号分隔。list内部原理就是for循环取值 然后一个个塞到列表中去
使用
-
按索引存取值(正向存取+反向存取):即可存也可以取
-
取值
-
>>> l = [1,2,3,4] >>> print(l[0:4:1]) [1, 2, 3, 4] >>> print(l[0::]) [1, 2, 3, 4] >>> print(l[5::-1]) [4, 3, 2, 1]
-
改值
-
>>> l = [1,2,3,4] >>> l[0] = 9 >>> print(l) [9, 2, 3, 4] >>>
添加元素
-
append:直接在列表多添加一个元素
-
>>> l = [1,2,3,4] >>> l.append(5) >>> print(l) [1, 2, 3, 4, 5] >>>
-
insert
-
根据索引号,在任意位置添加元素
-
格式:insert(索引号,元素)
>>> l = [1,2,3,4] >>> l.insert(0,0) >>> print(l) [0, 1, 2, 3, 4] >>>
-
-
entend
-
内部原理for循环l1一个个追加到列表的尾部
>>> l = [1,2,3,4] >>> l.extend(5) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not iterable >>> l.extend('5') >>> print(l) [1, 2, 3, 4, '5'] >>> l.extend([6,7]) >>> print(l) [1, 2, 3, 4, '5', 6, 7] >>>
-
len(列表名):统计列表内元素个数
>>> l = [1,2,3,4] >>> print(len(l)) 4 >>>
in和not in:元素是否在列表中(元素的格式需要和列表中的格式一样)
删除
-
del()
>>> l = [1,2,3,4] >>> del(l[0])
-
pop() 按照索引弹出
>>> l = [1,2,3,4] >>> res = l.pop(0) >>> print(res) 1 >>>
-
remove()删除指定元素的值
>>> l = [1,2,3,4] >>> res = l.remove(1) >>> print(res) None >>>
-
循环
>>> l = [1,2,3,4] >>> for j in l: ... print(j,end=' ') ... 1 2 3 4 >>>