初学python,有些地方可能还不够明白,希望各位看官发现我的错误后留言指正!

一.字符串的索引与切片

  注:字符串的第一位的索引值是0

  1.索引案例

 s = 'abcd'
s1 = s[0]
print(s1)#输出a

  2.切片案例,注:顾头不顾尾,即指定的最后一个索引的字符取不到

 s = 'abcd'
s2 = s[0:3]
print(s2)
#输出abc,不包括下标是3的d

  3.若字符串非常长,而且要取后面的字符串,可以从最后一位(下标是-1)开始取

 s = 'abcd'
s3 = s[-1]
print(s3)#输出d

  4.取整个字符串

 s = 'abcd'
s4 = s[0:]
s5 = s[:]
print(s4,s5)#都会输出整个字符串 print(s[0:0])#输出一个空字符串,不会报错

  5.步长:默认步长为1,若需要间隔固定的间距取字符,则步长=间距+1 ,格式:[首下标:尾下标:步长]

 s = 'abcde'
s6 = s[0:4:2]
print(s6)#输出ac

  6.逆序

 s = 'abcde'
s7 =s[-1::-1]
#或者s7 =s[::-1]
print(s7)#输出edcba

  7.指定某个下标开始逆序

 s = 'abcde'
s8 =s[3::-1]
print(s8)#输出dcba

二、大写、小写转换

  1.首字母大写

 s='abcd'
s1 = s.capitalize()#首字母大写

  2.首字母大写:用空格隔开或者其他特殊字符、数字隔开也可以

 s = 'sun ton-alex*egon'
s1=s.title()#将s和t转换成大写
print(s1)#输出Sun Ton-Alex*Egon

  3.全部转大写、小写

 s='abcd'
s2 = s.upper()#转换大写
s3 = s.lower()#转换小写

其用处体现在:输入验证码时,不区分大小写

  4.大小写翻转

 s='AbCd'
s.swapcase()#小写转大写、大写转小写

三.字符串居中、空白填充

 s='AAA'
s1 = s.center(20)#总长度为20,将字符串居中
s2 = s.center(20,'*')#居中,并且两边的用'*'填充

四.\t补位

s='ab\tcd'
s1 = s.expandtabs()
print(s1)
#输出ab cd,中间有六个空格,总共八位,\t前面的ab占两位,所以补六位,大于8位的
#补16位

五.公共方法-字符串长度,列表长度、字典长度……

 s = 'abcd我'
print(len(s))#输出5,中文也算一个字符

六.判断以单个字符或多个字符开头、结尾

 s = 'abcd'
s1 = s.startswith('a')
s2 = s.startswith('ab')
s3 = s.startswith('abc')
print(s1,s2,s3)#都返回True #判断结尾的字符:同理,只是写法变了
s = 'abcd'
s1 = s.endswith()

  1.将字符串切片后,判断是否以某字符开头:

 s = 'abcd'
s1 = s.startswith('b',1,3)#判断切片后的'bc'是否以字符'b'开头

七.找出字符串里是否有某个字符或连续的字符串,若找到则返回其第一个字符的索引(下标),找不到则返回-1

 s = 'abcd'
s1 = s.find('c')
print(s1)#输出2

利用for循环找到字符串里所有指定字符的下标

 s = 'abcdacd'
for index,i in enumerate(s):
if i=='a':
print('{}的下标:{}'.format(i,index))
#输出:
#a的下标:0
#a的下标:4

还有一个方法index,它和find作用类似,通过元素找索引,不同点是:找不到指定的字符则会报错!

八.默认删除字符串前后的空格

 s = '  abcd  '
s1 = s.strip()
print(s1)#输出abcd

  1.也可以指定删除的字符或者特殊字符,空格也可以指定,注:字符之间的空格、指定字符不能删除

 s = 'abcd***'
s1 = s.strip('*')
print(s1)#输出abcd #也可以指定多个字符或特殊字符
s = ' %%abcd***'
s1 = s.strip(' %*')#指定字符的顺序无关
print(s1)#输出abcd

  2.因为strip()方法能删除字符串两边的指定字符,所以可以指定只删除字符串左边或右边的字符

#删左边,不动右边
lstrip()
#删右边,不动左边
rstrip()

九.统计指定字符的个数

 s = 'abbcd'
s1 = s.count('a')
s2 = s.count('bb')
print(s1,s2)#都输出1

十.分割成列表(字符串转换成列表),默认以空格为分隔符进行分割,当然也可以指定字符为分隔符

 s = 'a b c d'
s1 = s.split()
print(s1)#输出['a','b','c','d'] #注:若分隔符前面没有字符,也会分割成一个空的字符
s = ';a;b;c;d'
s2 = s.split(';')
print(s2)#输出['','a','b','c','d']

十一.格式化输出

  第一种:

 s = '我叫{},今年{}'.format('sun','')#数字可以不用引号引起来
print(s)

  第二种:利用索引(下标),format里的字符用逗号隔开,下标从0开始

s = '我叫{0},今年{1}'.format('sun','')#'sun'的下标是0,'19'的下标是1

  第三种:键值对的形式,在format里的字符可以不用按输出的顺序排列

 s = '我叫{name},今年{age}'.format(age=19,name='sun')

十二.替换

 s = 'abacda'
s1 = s.replace('a','A')#将所有的a替换成A #也可以指定次数
s1 = s.replace('a','A',1)#只把第一个a替换成A

十三.判断字符串组成内容

 #判断字符串是否只由数字组成
s = ''
print(s.isnum()) #判断字符串是否只由字母组成
s1 = 'abc'
print(s.isalpha()) #判断字符串是否由数字或字母组成
s2 = '123abc'
print(s.isalnum())

十四.for循环(有限循环):in后面的能迭代的就能循环

 s = 'abcd'
for i in s:
print(i)
#输出:
a
b
c
d

 while循环可以是无限循环(while 1),加上控制条件

 s = 'abcdacd'
i=0
while i<len(s):
print(s[i]) #输出字符串里的每个字符
i += 1

 in的其他用法:判断字符串里是否存在某些字符,当然了,有in那么就有not in

 s = 'azxczcx政治'
if '政治' in s:
print('含有敏感词')

Python基础之str常用方法、for循环的更多相关文章

  1. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

  2. python基础知识--条件判断和循环

    一.输入输出 python怎么来接收用户输入呢,使用input函数,python2中使用raw_input,接收的是一个字符串,输出呢,第一个程序已经写的使用print,代码入下: 1 name=in ...

  3. 计算机基础,Python基础--变量以及简单的循环

    一.计算机基础 1.CPU 相当于人体的大脑,用于计算处理数据. 2.内存  用于存储数据,CPU从内存调用数据处理计算,运算速度很快. PS:问:既然在内存里的数据CPU运算速度快,为什么计算机不全 ...

  4. python基础3 字符串常用方法

    一. 基础数据类型 总览 int:用于计算,计数,运算等. 1,2,3,100...... str:'这些内容[]'    用户少量数据的存储,便于操作. bool: True, False,两种状态 ...

  5. python基础之条件控制与循环

    Python3 条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户 ...

  6. Python基础:条件判断与循环的两个要点

    一.条件判断: Python中,条件判断用if语句实现,多个条件判断时用if...elif实现:看下面一段程序 #python 3.3.5 #test if...elif age = 20 if ag ...

  7. Python基础(条件判断,循环,占位符等)

    Python 自动化 系统开发用的语言和自动化脚本可以不同 学习peython可用于: 网路爬虫,数据分,web开发,人工智能,自动化运维,自动化测试,嵌入式,黑客 第三方库比较全 脚本语言:功能单一 ...

  8. python基础知识input到while循环

    j周笔记 输入与输出 1.输入 input ('请输入内容')= 字符串 2.输出 print(输出到控制台) 变量vairable               变量就是相当于我们人的名字 1.名字 ...

  9. Python基础之(判断,循环,列表,字典)

    一.python介绍 Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程.Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在 ...

随机推荐

  1. MySQL批量更新一个字段的值为随机数

    $arr = []; $str = ''; for ($i=0; $i < 2660; ++$i) { $str .= " WHEN ".$i." THEN &qu ...

  2. Spring Boot:整合Spring Security

    综合概述 Spring Security 是 Spring 社区的一个顶级项目,也是 Spring Boot 官方推荐使用的安全框架.除了常规的认证(Authentication)和授权(Author ...

  3. Hexo+NexT(一):在Windows下安装Hexo+NexT及搭建博客

    阅读本篇之前,假定读者已经有了Node.js的基础,如需要补充Node.js知识的,请自行百度. Hexo是在Node.js框架下的一个项目,利用Node.js提供的强大功能,完成从Markdown到 ...

  4. Hexo+NexT(六):手把手教你编写一个Hexo过滤器插件

    Hexo+NexT介绍到这里,我认为已经可以很好地完成任务了.它所提供的一些基础功能及配置,都已经进行了讲解.你已经可以随心所欲地配置一个自己的博客环境,然后享受码字的乐趣. 把博客托管到Github ...

  5. MyBatis 源码分析

    MyBatis 运行过程 传统的 JDBC 编程查询数据库的代码和过程总结. 加载驱动. 创建连接,Connection 对象. 根据 Connection 创建 Statement 或者 Prepa ...

  6. Go 程序是怎样跑起来的

    目录 引入 编译链接概述 编译过程 词法分析 语法分析 语义分析 中间代码生成 目标代码生成与优化 链接过程 Go 程序启动 GoRoot 和 GoPath Go 命令详解 go build go i ...

  7. Mac上PyCharm运行多进程报错的解决方案

    Mac上PyCharm运行多进程报错的解决方案 运行时报错 may have been in progress in another thread when fork() was called. We ...

  8. Java并发框架:Executor

    介绍 随着当今处理器中可用的核心数量的增加, 随着对实现更高吞吐量的需求的不断增长,多线程 API 变得非常流行. Java 提供了自己的多线程框架,称为 Executor 框架. 1. Execut ...

  9. idea创建springcloud主工程和springboot子项目

    创建主工程,选择file-new-project,选择maven,直接next 填写GroupId包名,ArtifactId项目名,next-finish 创建子项目springboot,项目右击-n ...

  10. Design Principles (设计原则)

    这是我在2018年4月写的英语演讲稿,可惜没人听得懂(实际上就没几个人在听). 文章的内容是我从此前做过的项目中总结出来的经验,从我们的寝室铃声入手,介绍了可扩展性.兼容性与可复用性等概念,最后提出良 ...