一.数字类型
1.该类型总结
★可变类型:值改变的情况下,id不变 (不可hash)
★不可变类型:值改变的情况下,id也跟着改变 (可hash)
使用:int
用途:记录年龄、号码 定义方式:age = 18 # age = int(18) int只能将字符串中包含纯数字转换整形 print(type(age)) #十进制转化为其他进制 print(bin(11)) print(oct(11)) print(hex(11)) #将其他进制转化为十进制 print(int('10',2)) print(int('10',8)) print(int('10',16))
2.字符串类型
常用操作
1按索引取值(正向取,反向取):只能取 msg = 'hello world' print(msg[4]) print(msg[-1])
2.切片 msg = 'hello world' print(msg[1:9:2])
3.长度 len msg = 'hello world' print(len(msg))
4.成员运算in 和not in: 判断一个字符串是否存在于一个大的字符串 print('alex' in 'alex is dsb') print('xxx' not in 'alex is dsb')
5.循环 msg = 'hello' for item in msg: print(item)
内置方法
#1、strip,lstrip,rstrip print('*******egon******'.lstrip('*')) # 去掉字符串中左边字符 print('*******egon******'.rstrip('*')) # 去掉字符窜右边字符 print('*******egon******'.strip('*')) # 去掉字符串左右两边字符
#2、lower,upper msg = 'KFHhhHLKhljklH' reg = msg.lower() # 全部转化为小写 print(reg) reg = msg.upper() # 全部转化为大写 print(reg)
#3、startswith,endswith msg = 'alex is dsb' print(msg.startswith('alex')) # 查看msg中的前端是否有alex 返回的是True或False print(msg.endswith('sb')) # 查看msg中的后端是否有sb
#4、format的三种玩法 print('my name is %s my age is %s' %('hui',18)) print('my name is {} my age is {}'.format('hui',18)) print('my name is {0} my age is {0}'.format('hui',18)) print('my name is {name} my age is {age}'.format(age = 18,name = 'hui')) # ★通过变量名取值
#5、split,rsplit msg = 'get|a.txt|423333333435' print(msg.split('|',1)) # 从左边分割,1代表分割次数 分割后是一个列表 print(msg.rsplit('|',1)) # 从右边分割
#6、join msg = 'get|a.txt|423333333435' l = msg.split('|') print(l) scr_msg = '|'.join(l) # 将列表中元素通过|连接起来 print(scr_msg)
# replace msg='alex say i have one tesla,alex is alex hahaha' print(msg.replace('alex','sb',2)) # 后面的字符串代替前面的字符串 数字是替代次数 print(msg)
# 8.isdight # 判断字符串中包含的是否是纯数字 print('10.2'.isdigit())
需要了解的内置方法
#1、find,rfind,index,rindex,count msg='hello alex is sb' print(msg.find('alex')) # 返回的是第一个字符的索引位置 print(msg.find('alex',0,3)) # 后面的数字表示的是查找的索引范围,如果没找到返回-1 # 用法和find一样,唯一不同的在于当找不到值时,会报错 print(msg.index('alex')) print(msg.index('alex',0,3)) msg='alex aaa alex' print(msg.count('alex')) # 统计一个子字符串在大字符串中出现的次数
#2、center,ljust,rjust,zfill print('egon'.center(50,'*')) # 将egon放入中间,在两边填充* print('egon'.ljust(50,'*')) # 将egon放入左边,在右侧填充* print('egon'.rjust(50,'*')) # 将egon 放入右边,在左侧填充* print('egon'.zfill(50,)) # 将egon放入右边,在左侧补零
#4、captalize,swapcase,title print('hello'.captalize()) #将字符串中的第一个单词首字母大写 print('hello'.swapcase()) # 将字符串中的字符大小写取相反 print('hello'.title()) # 将字符串中被空格隔开的子字符串的第一个字符大写
该类型总结
1.存一个值
2.有序
3.不可变
三.列表结构
基本使用
★用途:存放多个值,可以根据索引取值
★定义方式:在[ ]内用逗号隔开多个任意类型的值
常用操作
#1、按索引存取值(正向存取+反向存取):即可存也可以取 l=['egon','lxx','yxx'] print(l[0]) l[0]='EGON' # 只能根据已经存在的索引去改值
#2、切片(顾头不顾尾,步长) l=['egon','lxx','yxx',444,555,66666] print(l[0:5]) # 0和5代表的是值得的位置 print(l[0:5:2]) #2代表步长 print(l[::-1]) # -1代表反向取
#3、长度 l=['egon','lxx','yxx',444,555,66666,[1,2,3]] print(len(l))
#4、成员运算in和not in l=['egon','lxx','yxx',444,555,66666,[1,2,3]] print('lxx' in l)
#5 循环
l=['egon','lxx','yxx'] for item in l: print(item)
内置方法
#1、在列表中增加值 l = ['egon','lxx','jf'] l.append(32) # 在尾部追加,当做一个值进行添加 print(l)
# 往指定索引前插入值
l=['egon','lxx','yxx']
l.insert(1,11) # 1代表插入得位置,11是插入得值,插入的值当做一个值添加
print(l)
# 一次性添加多个元素
l=['egon','lxx','yxx']
l.extend([1,4758]),类似于for循环,将里面的元素一个一个的添加进去。for+append()
print(l)
#2、删除 l=['egon','lxx','yxx'] del l[1] # 通用的 ,单纯的删除值 print(l) res=l.remove('lxx') # 指定要删除的值,返回是None print(l,res) res=l.pop(-1) # 按照索引删除值(默认是从末尾删除),返回删除的那个值 print(l,res)
l.clear() # 清空l中的所有值
# 需要掌握的操作 l=['egon','egon','lxx','yxx',444,555,66666] print(l.count('egon')) # 返回列表中egon的个数 print(l.index('egon')) # 在列表中找到字符串egon的索引 print(l.index('yxx',0,6)) # 在索引0—6之间寻找yxx,返回索引位置,否则报错