python数据类型之字符串类型str

 1.str 字符串

 

 一:基本使用
#用途: 描述性质的数据
#定义方式
# name='egon' #name=str('egon')
x=str(1.2)
print(x,type(x))


常用操作+内置的方法
#优先掌握的操作(*****):

#msg 1、按索引取值(正向取+反向取) :只能取 字符位索引
msg='hello world'
# print(type(msg[5])) 正取值 从左
# print(msg[-1]) 负取值 从右
# msg[2]='A' 不能赋值,直接报错

2、切片(顾头不顾尾,步长)

# print(msg[1:5],type(msg[1:5]))
# print(msg[6:11])
# print(msg[6:]) 从6一直到最后
# print(msg[6:11:2]) =#print(msg[6::2]) 从0计算 取首位和2位

# 了解(**)
# print(msg[0:]) = # print(msg[:]) 从头到尾
# print(msg[::-1]) 反过来取值
# msg='hello world'
# print(msg[-3:-6:-1])
# print(msg[6:9:-1]) 正方向无法取值负着取值
正对正 负对负 不能混搞
3、长度len
# msg='hello world'
# print(len(msg))

4、成员运算in和not in
# print('SB' in 'my name is alex,alex is SB')
# print('alex' in 'my name is alex,alex is SB')
# print('egon' not in 'my name is alex,alex is SB') # 推荐
# print(not 'egon' in 'my name is alex,alex is SB')

#strip 5、移除空白strip
# name=' e gon ' 去除左右两边的空格
name.strip(' ')
直接产生出的新值,需要赋值
# print(name.strip(' '))
# print(name.strip()) 没有默认的是空格
# name='****A*e*gon****'
# print(name.strip('*'))
name='****egon****'
# print(name.lstrip('*')) 从左边
# print(name.rstrip('*')) 从右边


# pwd=input('>>: ').strip() #pwd='123 ' 交互去除空格
# if pwd == '123':
# print('login successful')

# print('*-=egon *&^'.strip('-= *&^')) 去除字符里面的字符,不分顺序

#split 6、切分split
# msg='egon:18:male:180:160'
# l=msg.split(':') 把字符串按照某种分隔符
把里的字符切分成列表
# print(l) 方便取里面的值
# print(l[3])

 

 

 

 

#for 7、循环

# msg='hello world'
# for x in msg: 字符串里面循环按位置循环

# print(x)

 

  1.需要掌握的操作(****)

2、lower,upper
# name='EoN'
# print(name.lower()) 大写变小写

# name='egonN'
# print(name.upper()) 小写变大写

3、startswith,endswith
# print('alex is SB'.startswith('alex')) 开头 判断以什么字符串开头
# print('alex is SB'.endswith('B')) 结尾 判断以什么字符串开头

4、format的三种玩法
# print('my name is %s my age is %s' %('egon',18))

# print('my name is {name} my age is {age}'.format(age=18,name='egon')) 常用
花括号
可以打破位置的限制,但仍能指名道姓地为指定的参数传值

# print('my name is {} my age is {}'.format('egon',18))
# print('my name is {0} my age is {1} {1} {1} {1}'.format('egon',18))

5、split,rsplit 切分
# info='egon:18:male'
# print(info.split(':',1)) 指定切分符,指定切分次数

# print(info.split(':',1)) #['egon','18:male']
# print(info.rsplit(':',1)) #['egon:18','male'] 从右边开始切分

6、join:只能将元素全为字符串的列表拼成一个大的字符串
# info='egon:18:male' 只能以字符串列表拼接
# l=info.split(':')
# print(l)
# new_info='-'.join(l)
# print(new_info)
num=['a','b','c']
n= ':'.join(num) #'a'+':'+'b'+':'+'c'
print(n)
7、replace 替换
# msg='my name is wupeiqi,wupeiqi is SB'
# print(msg.replace('wupeiqi','Pig',1)) 替换 次数
# print(msg)

8、isdigit 判断字符串里面是否是纯数字
# print('111.1'.isdigit()) 判断字符串里面是否是纯数字
# print('1111'.isdigit())

 

 其他操作(了解即可)(**)
#1、find,rfind,index,rindex,count

find msg='my name is alex,alex is hahaha' 查找索引位置
# print(msg.find('alex'))
# print(msg.find('SB')) #找不到会返回-1

index # print(msg.index('alex')) 查找索引位置 不用
# print(msg.index('SB')) # 找不到index会报错

# print(msg.find('alex',0,3)) 指定查找范围

# print(msg.count('alex')) 统计字符串出现的个数
# print(msg.count('alex',0,15)) 指定查找范围

#2、center,ljust,rjust,zfill 打印
# print('info egon'.center(50,'-')) 居中打印字符
# print('info egon'.ljust(50,'-')) 左
# print('info egon'.rjust(50,'-')) 右
# print('info egon'.zfill(50)) 0字符填充 默认右对齐

#3、expandtabs
# print('a\tb\tc'.expandtabs(1)) 默认四个空格数,设置空格数 \t转义:空格

#4、captalize,swapcase,title
# print('my name is egon'.capitalize()) 首字母大写
# print('my Name Is egon'.swapcase()) 大小写字母反转
# print('my name is egon'.title()) 每个字母首字母大写

#5、is数字系列
num1=b'4' #bytes
num2=u'4' #unicode,python3中无需加u就是unicode 正常模式
num3='壹' #中文数字
num4='Ⅳ' #罗马数字

#isdigit():bytes,unicode
# print(num1.isdigit()) true
# print(num2.isdigit()) true
# print(num3.isdigit()) false
# print(num4.isdigit()) false

#isdecimal():unicode
# print(num2.isdecimal()) True
# print(num3.isdecimal()) false
# print(num4.isdecimal()) false

#isnumberic;unicode,中文,罗马
# print(num2.isnumeric()) True
# print(num3.isnumeric()) True
# print(num4.isnumeric()) True

#6、is其他
# print('abasdf123123'.isalnum()) 判断字母和数字组成
# print('asdfasdf'.isalpha()) 判断全都是字母
# print('egon'.islower()) 判断字母小写
# print('ABC'.isupper()) 判断字母大写

# print(' '.isspace()) 判断都是空格
# print('My Name Is Egon'.istitle()) 判断首字母大写

 

posted @ 2018-05-31 20:56  Marcki  阅读(222)  评论(0编辑  收藏  举报