一、按照以下几个点展开字符串的学习

 #一:基本使用

1、 用途

#首先字符串主要作用途径:名字,性别,国籍,地址等描述信息

2、定义方式

  在单引号\双引号\三引号内,由一串字符组成

3、常用操作+内置的方法

#优先掌握的操作:

#1、按索引取值(正向取+反向取) :只能取

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

#3、长度len

#4、成员运算in和not in

#5、移除空白strip

#6、切分split

#7、循环

#二:该类型总结
1、存一个值or存多个值
只能存一个值
可以存多个值,值都可以是什么类型
2、有序or无序
3、可变or不可变
!!!可变:值变,id不变。可变==不可hash
!!!不可变:值变,id就变。不可变==可hash

二、按照上面的问题开始了解字符串

#定义:在单引号\双引号\三引号内,由一串字符组成
name='qianduoduo'
name="qianduoduo"
name='''qianduoduo''' #优先掌握的操作:
#1、按索引取值(正向取+反向取) :只能取
name="qianzeliang"
name[0] #值为"q"
name[-1] #值为"g" #2、切片(顾头不顾尾,步长)
name="qianzeliang"
name[2:8] #值为“anzeli”
name[2:8:2] #值为“azl”
#3、长度len
name="qianzeliang"
len(name) #值为11
#4、成员运算in和not in
name="qianzeliang"
“q” in name #True
"q" not in name #False
#5、移除空白strip
name=" qianzeliang "
name.strip() #值为 qianzeliang
#6、切分split
name = "qian:ze:liang"
name.split(":") #值为["qian","ze","liang"] #7、循环
msg='qianduoduo' i=0
while True:
if i < len(msg):
print(msg[i])
i+=1
else:
break #需要掌握的操作 #1、strip,lstrip,rstrip
#2、lower,upper
#3、startswith,endswith
#4、format的三种玩法
#5、split,rsplit
#6、join
#7、replace
#8、isdigit #strip
name='*egon**'
print(name.strip('*'))
print(name.lstrip('*'))
print(name.rstrip('*')) #lower,upper
name='egon'
print(name.lower())
print(name.upper()) #startswith,endswith
name='alex_SB'
print(name.endswith('SB'))
print(name.startswith('alex')) #format的三种玩法
res='{} {} {}'.format('egon',18,'male')
res='{1} {0} {1}'.format('egon',18,'male')
res='{name} {age} {sex}'.format(sex='male',name='egon',age=18) #split
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)) #从右开始切分 #join
tag=' '
print(tag.join(['egon','say','hello','world'])) #可迭代对象必须都是字符串 #replace
name='alex say :i have one tesla,my name is alex'
print(name.replace('alex','SB',1)) #isdigit:可以判断bytes和unicode类型,是最常用的用于于判断字符是否为"数字"的方法
age=input('>>: ')
print(age.isdigit())

三、小结

1 、只能存一个值

2 、有序

3、 不可变:值变,id就变。不可变==可hash

 

 其他操作(了解即可)

#1、find,rfind,index,rindex,count
#2、center,ljust,rjust,zfill
#3、expandtabs
#4、captalize,swapcase,title
#5、is数字系列
#6、is其他 #find,rfind,index,rindex,count
name='egon say hello'
print(name.find('o',1,3)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
# print(name.index('e',2,4)) #同上,但是找不到会报错
print(name.count('e',1,3)) #顾头不顾尾,如果不指定范围则查找所有 #center,ljust,rjust,zfill
name='egon'
print(name.center(30,'-'))
print(name.ljust(30,'*'))
print(name.rjust(30,'*'))
print(name.zfill(50)) #用0填充 #expandtabs
name='egon\thello'
print(name)
print(name.expandtabs(1)) #captalize,swapcase,title
print(name.capitalize()) #首字母大写
print(name.swapcase()) #大小写翻转
msg='egon say hi'
print(msg.title()) #每个单词的首字母大写 #is数字系列
#在python3中
num1=b'' #bytes
num2=u'' #unicode,python3中无需加u就是unicode
num3='四' #中文数字
num4='Ⅳ' #罗马数字 #isdigt:bytes,unicode
print(num1.isdigit()) #True
print(num2.isdigit()) #True
print(num3.isdigit()) #False
print(num4.isdigit()) #False #isdecimal:uncicode
#bytes类型无isdecimal方法
print(num2.isdecimal()) #True
print(num3.isdecimal()) #False
print(num4.isdecimal()) #False #isnumberic:unicode,中文数字,罗马数字
#bytes类型无isnumberic方法
print(num2.isnumeric()) #True
print(num3.isnumeric()) #True
print(num4.isnumeric()) #True #三者不能判断浮点数
num5='4.3'
print(num5.isdigit())
print(num5.isdecimal())
print(num5.isnumeric())
'''
总结:
最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景
如果要判断中文数字或罗马数字,则需要用到isnumeric
''' #is其他
print('===>')
name='egon123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成 print(name.isidentifier())
print(name.islower())
print(name.isupper())
print(name.isspace())
print(name.istitle())
 

最新文章

  1. Linux 升级glibc-2.14 失败 我遇到的问题
  2. mount windows-linux文件共享
  3. Apache Storm源码阅读笔记
  4. Ubuntu 12.04搭建l2tp服务器记录。
  5. java.lang.IllegalThreadStateException
  6. 简易模仿手机拨号盘浮在ListView之上并且展开,折叠效果
  7. UIWebView的缓存策略,清除cookie
  8. C Primer Plus 第3章 数据和C 编程练习
  9. ltrace killed by SIGTRAP
  10. WCF X.b 操作引用了已经从 Y.b 操作导出的消息元素 [http://tempuri.org/:b]。可以通过更改方法名称或使用 OperationContractAttribute 的 Name 属性更改其中一个操作的名称...
  11. Linux驱动开发cdev驱动分层设计
  12. Linux文件和目录操作管理命令
  13. Android 它们的定义View视图
  14. 关于WCF的引用,添加服务和添加web服务的区别
  15. phpmyadmin 自动登录的办法
  16. 利用CSS3制作网页动画
  17. 理解标准盒模型和怪异模式&amp;box-sizing属性
  18. 小程序支持打开APP了 还有小程序的标题栏也可以自定义
  19. HTML&amp;&amp;css练习
  20. 解决ThinkPHP中开启调试模式无法加载模块的问题。

热门文章

  1. ios设备触发虚拟键盘输入后position:fixed 无效的一些简单另类的解决方法。
  2. BroadcastReceiver工作过程
  3. LOJ6003 - 「网络流 24 题」魔术球
  4. React——共享state
  5. Java中过滤出字母、数字和中文的正则表达式
  6. vue轮播组件及去掉路由#
  7. ASP.NET Core轻松入门Bind读取配置文件到C#实例
  8. doT.js模板引擎及基础原理
  9. FFT\NTT总结
  10. 【BZOJ4872】分手是祝愿(动态规划,数学期望)